Как интегрировать MCP-сервер Developer Knowledge с собственными ИИ-агентами

В этом руководстве рассказывается, как подключить удаленный сервер MCP Developer Knowledge к фреймворкам пользовательских ИИ-агентов, созданным с помощью LangChain, LlamaIndex и AutoGen.

Подключив своих ИИ-агентов к удаленному серверу Model Context Protocol (MCP), вы сможете динамически искать и получать актуальную официальную документацию Google для разработчиков по Google Cloud, Firebase, Android, платформе Google Карт, Chrome и другим продуктам.

Требования

Прежде чем начать, выполните следующие требования:

  1. Создайте ключ Developer Knowledge API. Включите Developer Knowledge API и создайте ключ API в своем облачном проекте Google Cloud, следуя руководству по настройке ключа API.
  2. Создайте ключ Gemini API. Создайте ключ API в Google AI Studio, чтобы выполнить аутентификацию моделей Gemini, или используйте ключ Google Cloud API, если на нем включен Generative Language API.
  3. Задайте переменные среды. Установите ключи API в качестве переменных среды в терминале:

    export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY"
    export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
    
  4. Установите Python. Убедитесь, что в вашей среде разработки используется Python 3.10 или более поздней версии.

Как подключиться с помощью LangChain

Приложения LangChain могут подключаться к удаленным HTTP-серверам MCP с помощью пакета langchain-mcp-adapters или стандартных транспортных протоколов клиента MCP.

Установка зависимостей

Установите необходимые пакеты Python для LangChain, Gemini и MCP:

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

Как настроить агента LangChain

В следующем примере показано, как подключить MCP-сервер Developer Knowledge к агенту LangChain ReAct на основе Gemini. Скрипт создает экземпляр MultiServerMCPClient, используя транспорт streamable_http, добавляет HTTP-заголовок X-Goog-Api-Key и загружает удаленные инструменты в create_react_agent:

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

LlamaIndex поддерживает интеграцию с MCP-сервером через спецификации инструментов, позволяя агентам извлекать документы Developer Knowledge во время рассуждений.

Установка зависимостей

Установите основные пакеты LlamaIndex, Gemini LLM и интеграцию инструментов MCP:

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

Как настроить агента LlamaIndex

В следующем примере показано, как подключиться к удаленному MCP-серверу с помощью BasicMCPClient, обернуть его в McpToolSpec и привязать полученные инструменты к LlamaIndex FunctionAgent на основе Gemini:

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

Агенты Microsoft AutoGen могут взаимодействовать с удаленными MCP-серверами с помощью autogen-ext MCP-расширения, обеспечивая совместную работу нескольких агентов с доступом к официальной документации для разработчиков Google.

Установка зависимостей

Установите основные пакеты AutoGen и расширения MCP:

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

Как настроить агента AutoGen

В следующем примере показано, как подключиться к удаленному MCP-серверу с помощью StreamableHttpServerParams и зарегистрировать инструменты Developer Knowledge с помощью AutoGen AssistantAgent на основе Gemini:

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())

Рекомендации по интеграции агента

При создании собственных ИИ-агентов с помощью MCP-сервера Developer Knowledge следуйте приведенным ниже рекомендациям.

  • Уточняйте поисковые запросы. В запросах на естественном языке используйте названия конкретных продуктов и релевантные ключевые слова, а не общие термины, поскольку инструменты search_documents и answer_query сопоставляют запросы по семантике.
  • Управляйте токенами окна контекста. Используйте answer_query для получения прямых ответов на основе корпуса документации и не запрашивайте полное содержимое страницы с помощью get_documents, если подробностей фрагмента из search_documents недостаточно.
  • Защитите ключи API. Храните ключи Developer Knowledge API и Gemini API в переменных среды или стандартных системах управления секретами и никогда не указывайте учетные данные в коде.

Дальнейшие действия

Чтобы узнать больше о MCP-сервере Developer Knowledge, ознакомьтесь со следующими ресурсами: