更新时间:2026-04-16 GMT+08:00
分享

在智能体中使用网关

创建网关后,您需要将已经创建的网关集成到智能体的代码中或添加到已有的MCP智能体客户端,以便后续调用网关能力,可以参考以下示例代码,并根据需求自定义修改其中的信息,生成实际使用的代码。

前提条件

创建网关

在智能体中使用网关

  1. 登录AgentArts智能体开发平台
  1. 在左侧导航栏选择“开发中心 > 组件库 ”,单击“网关”页签,进入网关界面。
  1. 在网关列表单击操作列的“调用代码”,查看并复制代码示例,并根据需求自定义修改其中的信息,生成实际使用的代码。

    您可以在请求体中指定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))

相关文档