В этом руководстве рассказывается, как подключить удаленный сервер MCP Developer Knowledge к фреймворкам пользовательских ИИ-агентов, созданным с помощью LangChain, LlamaIndex и AutoGen.
Подключив своих ИИ-агентов к удаленному серверу Model Context Protocol (MCP), вы сможете динамически искать и получать актуальную официальную документацию Google для разработчиков по Google Cloud, Firebase, Android, платформе Google Карт, Chrome и другим продуктам.
Требования
Прежде чем начать, выполните следующие требования:
- Создайте ключ Developer Knowledge API. Включите Developer Knowledge API и создайте ключ API в своем облачном проекте Google Cloud, следуя руководству по настройке ключа API.
- Создайте ключ Gemini API. Создайте ключ API в Google AI Studio, чтобы выполнить аутентификацию моделей Gemini, или используйте ключ Google Cloud API, если на нем включен Generative Language API.
Задайте переменные среды. Установите ключи API в качестве переменных среды в терминале:
export DEVELOPERKNOWLEDGE_API_KEY="YOUR_API_KEY" export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"Установите 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, ознакомьтесь со следующими ресурсами:
- Ознакомьтесь с полным руководством по установке MCP-сервера.
- Проверьте доступные домены корпуса.
- Подробнее о том, как получать ответы на основе документации…