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:
- 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.
- 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.
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"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_documentsveanswer_queryaraç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_querykullanın vesearch_documents'deki snippet ayrıntıları yetersiz kalmadığı süreceget_documentsile 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:
- Developer Knowledge MCP sunucusu kurulum kılavuzunun tamamını okuyun.
- Kullanılabilir corpus alanlarını inceleyin.
- Dokümanlardan nasıl yanıt oluşturacağınızı öğrenin.