Geliştirici Bilgisi MCP sunucusunu özel yapay zeka aracılarıyla entegre etme

Bu eğitimde, uzak Developer Knowledge MCP sunucusunu LangChain, LlamaIndex ve AutoGen ile oluşturulan özel yapay zeka aracı çerçevelerine nasıl bağlayacağınız gösterilmektedir.

Özel yapay zeka aracılarınızı uzak Model Context Protocol (MCP) sunucusuna bağlayarak, Google Cloud, Firebase, Android, Google Haritalar Platformu ve Chrome gibi ürünleri kapsayan yetkili ve güncel Google geliştirici belgelerini dinamik olarak arayabilir ve alabilirsiniz.

Ön koşullar

Başlamadan önce aşağıdaki ön koşulları tamamlayın:

  1. Developer Knowledge API anahtarı oluşturma: API anahtarı kurulum kılavuzunu izleyerek Google Cloud projenizde Developer Knowledge API'yi etkinleştirin ve API anahtarı oluşturun.
  2. Gemini API anahtarı oluşturma: Gemini modellerinin kimliğini doğrulamak için Google AI Studio'da bir API anahtarı oluşturun veya Generative Language API'si etkinse Google Cloud API anahtarınızı yeniden kullanın.
  3. Ortam değişkenlerinizi ayarlayın: API anahtarlarınızı terminalinizde ortam değişkenleri olarak ayarlayın:

    export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"
    export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
    
  4. Python'u yükleyin: Geliştirme ortamınızın Python 3.10 veya sonraki bir sürümü kullandığını doğrulayın.

LangChain kullanarak bağlanma

LangChain uygulamaları, langchain-mcp-adapters paketini veya standart MCP istemci aktarımlarını kullanarak uzak HTTP MCP sunucularına bağlanabilir.

Bağımlıları yükleme

LangChain, Gemini ve MCP için gerekli Python paketlerini yükleyin:

pip install langgraph langchain-google-genai langchain-mcp-adapters mcp

LangChain aracısını yapılandırma

Aşağıdaki örnekte, Developer Knowledge MCP sunucusu, Gemini tarafından desteklenen bir LangChain ReAct aracısına bağlanır. Komut dosyası, MultiServerMCPClient öğesini streamable_http aktarımını kullanarak oluşturur, X-Goog-Api-Key HTTP üstbilgisini ekler ve uzak araçları create_react_agent öğesine yükler:

import asyncio
import os

from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

async def run_langchain_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Configure remote MCP connection for Developer Knowledge
    client = MultiServerMCPClient(
        {
            "google-developer-knowledge": {
                "url": "https://developerknowledge.googleapis.com/mcp",
                "transport": "streamable_http",
                "headers": {
                    "X-Goog-Api-Key": api_key,
                },
            }
        }
    )
    tools = await client.get_tools()

    # Initialize Gemini model and ReAct agent
    llm = ChatGoogleGenerativeAI(
        model="gemini-2.5-flash",
        temperature=0,
        google_api_key=gemini_api_key,
    )
    agent = create_react_agent(llm, tools)

    # Run agent query
    response = await agent.ainvoke(
        {
            "messages": [
                (
                    "user",
                    "How do I list Google Cloud Storage buckets in Python?",
                )
            ]
        }
    )
    print("\nAgent Response:\n", response["messages"][-1].content)

if __name__ == "__main__":
    asyncio.run(run_langchain_agent())

LlamaIndex'i kullanarak bağlanma

LlamaIndex, araç spesifikasyonları aracılığıyla MCP sunucusu entegrasyonunu destekler. Bu sayede, veri alma aracıları akıl yürütme sırasında Developer Knowledge belgelerini sorgulayabilir.

Bağımlıları yükleme

LlamaIndex çekirdek paketlerini, Gemini LLM'yi ve MCP araçları entegrasyonunu yükleyin:

pip install llama-index llama-index-tools-mcp llama-index-llms-google-genai

LlamaIndex aracısını yapılandırma

Aşağıdaki örnekte, BasicMCPClient kullanılarak uzak MCP sunucusuna bağlanılır, McpToolSpec ile sarmalanır ve alınan araçlar Gemini tarafından desteklenen bir LlamaIndex'e FunctionAgent bağlanır:

import asyncio
import os

from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.google_genai import GoogleGenAI
from llama_index.tools.mcp import BasicMCPClient, McpToolSpec

async def run_llamaindex_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Connect to the remote Developer Knowledge MCP endpoint
    mcp_client = BasicMCPClient(
        "https://developerknowledge.googleapis.com/mcp",
        headers={"X-Goog-Api-Key": api_key},
    )
    mcp_tool_spec = McpToolSpec(client=mcp_client)
    tools = await mcp_tool_spec.to_tool_list_async()

    # Create LlamaIndex FunctionAgent with Gemini
    llm = GoogleGenAI(model="gemini-2.5-flash", api_key=gemini_api_key)
    agent = FunctionAgent(tools=tools, llm=llm)

    # Query the agent
    response = await agent.run(
        "What are the default limits and quotas for the Developer Knowledge"
        " API?"
    )
    print("\nAgent Response:\n", str(response))

if __name__ == "__main__":
    asyncio.run(run_llamaindex_agent())

AutoGen'i kullanarak bağlanma

Microsoft AutoGen temsilcileri, autogen-ext MCP uzantısını kullanarak uzak MCP sunucularıyla arayüz oluşturabilir. Bu sayede, resmi Google Developers geliştirici belgelerine erişimle çoklu temsilci işbirliği sağlanır.

Bağımlıları yükleme

AutoGen çekirdek ve MCP uzantı paketlerini yükleyin:

pip install autogen-agentchat "autogen-ext[mcp,openai]"

AutoGen aracısını yapılandırma

Aşağıdaki örnekte, StreamableHttpServerParams kullanılarak uzak MCP sunucusuna bağlanılır ve Gemini destekli bir AutoGen ile Geliştirici Bilgisi araçları kaydedilir:AssistantAgent

import asyncio
import os

from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import StreamableHttpServerParams, mcp_server_tools

async def run_autogen_agent():
    api_key = os.environ.get("DEVELOPERKNOWLEDGE_API_KEY")
    if not api_key:
        raise ValueError(
            "DEVELOPERKNOWLEDGE_API_KEY environment variable is required."
        )

    gemini_api_key = os.environ.get("GEMINI_API_KEY")
    if not gemini_api_key:
        raise ValueError("GEMINI_API_KEY environment variable is required.")

    # Retrieve remote MCP tools for Developer Knowledge by using Streamable HTTP
    server_params = StreamableHttpServerParams(
        url="https://developerknowledge.googleapis.com/mcp",
        headers={"X-Goog-Api-Key": api_key},
    )
    dk_tools = await mcp_server_tools(server_params)

    # Initialize model client with Gemini and assistant agent
    model_client = OpenAIChatCompletionClient(
        model="gemini-2.5-flash",
        api_key=gemini_api_key,
        base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
    )
    developer_assistant = AssistantAgent(
        name="google_docs_assistant",
        model_client=model_client,
        tools=dk_tools,
        system_message=(
            "You are a developer assistant specializing in Google APIs and"
            " SDKs. Use Developer Knowledge tools to retrieve verified"
            " documentation."
        ),
    )

    # Run query with team runner
    team = RoundRobinGroupChat([developer_assistant], max_turns=5)
    stream = team.run_stream(
        task=(
            "Explain how to configure Firebase Cloud Messaging topic"
            " subscriptions."
        )
    )

    async for message in stream:
        print(message)

if __name__ == "__main__":
    asyncio.run(run_autogen_agent())

Aracı entegrasyonuyla ilgili en iyi uygulamalar

Developer Knowledge MCP sunucusu ile özel yapay zeka aracı oluştururken aşağıdaki kurallara uyun:

  • Arama sorgularını daraltın: search_documents ve answer_query araçları sorgu semantiğiyle eşleştiğinden, genel terimler yerine doğal dil sorgusuna belirli ürün adlarını ve alakalı anahtar kelimeleri ekleyin.
  • Bağlam penceresi jetonlarını yönetin: Dokümanlar külliyatından alınan doğrudan yanıtlar için answer_query kullanın ve search_documents'deki snippet ayrıntıları yetersiz kalmadığı sürece get_documents ile tam sayfa içeriği istemekten kaçının.
  • API anahtarlarını güvenli hâle getirme: Developer Knowledge API ve Gemini API anahtarlarınızı ortam değişkenlerinde veya standart gizli anahtar yönetim sistemlerinde saklayın ve asla kimlik bilgilerini kodda sabit kodlamayın.

Sırada ne var?

Developer Knowledge MCP sunucusu hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları inceleyin: