นักพัฒนา
Google ADK
เชื่อมต่อ agent ของ Google Agent Development Kit (ADK) กับ Edison Watch โดยใช้ MCPToolset
Agent Development Kit ของ Google เชื่อมต่อกับ Edison ด้วย MCPToolset และ StreamableHTTPConnectionParams connection URL ของคุณมี API key อยู่แล้ว ดังนั้นไม่ต้องใช้ auth header
pip install google-adk mcpimport asyncio
from google.adk.agents import LlmAgent
from google.adk.runners import InMemoryRunner
from google.adk.tools.mcp_tool import MCPToolset, StreamableHTTPConnectionParams
from google.genai import types
import os
agent = LlmAgent(
model="gemini-3.5-flash",
name="edison_agent",
instruction="Use the available tools to help the user.",
tools=[
MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=os.environ["EDISON_MCP_URL"],
),
)
],
)
async def main() -> None:
runner = InMemoryRunner(agent=agent, app_name="edison")
session = await runner.session_service.create_session(app_name="edison", user_id="u1")
async for event in runner.run_async(
user_id="u1",
session_id=session.id,
new_message=types.Content(role="user", parts=[types.Part(text="List my available tools.")]),
):
if event.content:
print(event.content)
asyncio.run(main())ตั้งค่า EDISON_MCP_URL เป็น connection URL ของคุณ เช่น https://mcp.edison.watch/mcp/<your-api-key>/?client=google-adk
สังเกตการสะกดชื่อ class ที่แน่นอน: StreamableHTTPConnectionParams (ตัวพิมพ์ใหญ่ HTTP) timeout ของมันมีค่าเริ่มต้นที่ 5 วินาทีสำหรับการสร้างการเชื่อมต่อ - เพิ่มค่าหาก gateway ของคุณช้าในการ handoff
ทางเลือก: header สำหรับ encrypted secrets
สำหรับ server ที่มี ความลับที่เข้ารหัสแบบ zero-knowledge ให้ส่ง headers dict:
StreamableHTTPConnectionParams(
url=os.environ["EDISON_MCP_URL"],
headers={"x-edison-secret-key": os.environ["EDISON_SECRET_KEY"]},
)
