在智能体中使用网关
创建网关后,您需要将已经创建的网关集成到智能体的代码中或添加到已有的MCP智能体客户端,以便后续调用网关能力,可以参考以下示例代码,并根据需求自定义修改其中的信息,生成实际使用的代码。
前提条件
已创建网关。
在智能体中使用网关
- 在左侧导航栏选择“开发中心 > 组件库 ”,单击“网关”页签,进入网关界面。
- 在网关列表单击操作列的“调用代码”,查看并复制代码示例,并根据需求自定义修改其中的信息,生成实际使用的代码。
您可以在请求体中指定tools/list作为请求方法获取网关提供的所有可用工具。
您可以在请求体中指定tools/call作为请求方法用于调用特定的工具。
tools/list调用示例如下:
import requests import json def list_tools(gateway_url, access_token): headers = { "Content-Type": "application/json", "mcp-session-id": "c3fb3b87-dcc6-asda-asda-458962457896", # 相同的sessionid会使用同一个sandbox "Authorization": f"Bearer {access_token}" } payload = { "jsonrpc": "2.0", "id": "list-tools-request", "method": "tools/list" } return requests.post(gateway_url, headers=headers, json=payload, verify=False) #verify=False忽略ssl校验 # Example usage gateway_url = "https://xxx/mcp" # Replace with your actual gateway endpoint access_token = "xxx" # 如果是APIKey的认证,这里换成APIKey的值,无认证可以忽略 response = list_tools(gateway_url, access_token) print(json.dumps(response.json(), indent=2))tools/call调用示例如下:
import requests import json def call_tool(gateway_url, access_token, tool_name, arguments): headers = { "Content-Type": "application/json", "mcp-session-id": "c3fb3b87-dcc6-asda-asda-458962457896", # 相同的sessionid会使用同一个sandbox "Authorization": f"Bearer {access_token}" } payload = { "jsonrpc": "2.0", "id": "call-tool-request", "method": "tools/call", "params": { "name": tool_name, "arguments": arguments } } return requests.post(gateway_url, headers=headers, json=payload, verify=False) #verify=False忽略ssl校验 # Example usage gateway_url = "https://xxx/mcp" # 从创建的网关详情中获取 access_token = "xxx" # 如果是APIKey的认证,这里换成APIKey的值,无认证可以忽略 tool_name = "gaode-api___getWeatherInfo" # 替换成tool的名称<{TargetId}__{ToolName}>,可以根据tools/list进行查看 arguments = {"city": "320100", "extensions": "all"} response = call_tool(gateway_url, access_token, tool_name, arguments) print(json.dumps(response.json(), indent=2))