Python 接入天聚数行 MCP 服务教程

栏目分类:帮助教程 发布时间:2025-11-10 阅读次数:30

天聚数行 MCP(Model Context Protocol)服务为大模型智能体(Agent)提供开箱即用的外部工具能力。虽然 MCP 主要用于 AI 平台(如 Dify、Coze、Cherry Studio),但你也可以在 Python 环境中直接调用 MCP 服务地址,实现自动化测试、自定义 Agent 后端或集成到 LangChain/LlamaIndex 等框架中。


一、准备工作1. 获取你的 API Key

1. 登录 天聚数行控制台 → 【个人中心】→ 查看 APIKEY。

2. 创建 MCP 工具集合(推荐)

 单一接口的 MCP 地址功能有限,强烈建议使用“工具集合”。


操作路径:
控制台 → 数据管理 → MCP服务 → 新建工具集合

选择你需要的接口(如 tianqi 天气、vehiclelimit 限行等)

保存后,系统生成专属 MCP 地址,格式如下:

https://mcp.tianapi.com/your-toolset-name/YOUR_APIKEY

示例:https://mcp.tianapi.com/my-agent-tools/abc123def456...


 二、Python 调用方式

MCP 服务遵循标准 HTTP JSON-RPC 风格,支持 list_tools 和 call 两种请求。


1. 查看可用工具列表

import requests

MCP_URL = "https://mcp.tianapi.com/your-toolset-name/YOUR_APIKEY"

# 获取工具列表
response = requests.post(MCP_URL, json={"method": "list_tools"})
tools = response.json()
print("可用工具:", [tool["name"] for tool in tools.get("result", [])])


2. 调用具体工具(以天气为例)

import requests

MCP_URL = "https://mcp.tianapi.com/your-toolset-name/YOUR_APIKEY"

# 调用天气工具
payload = {
    "method": "call",
    "params": {
        "name": "tianqi",          # 工具名(必须与 list_tools 返回一致)
        "arguments": {
            "city": "深圳"
        }
    }
}

response = requests.post(MCP_URL, json=payload)
result = response.json()

if result.get("error"):
    print("调用失败:", result["error"])
else:
    data = result["result"]
    print(f"{data['city']} 今日天气")
    print(f"温度: {data['temp']}℃")
    print(f"风力: {data['wind']}")
    print(f"湿度: {data['humidity']}%")


返回字段已结构化(如 temp, wind),无需解析原始 JSON!


三、完整示例:限行 + 天气组合查询

import requests

MCP_URL = "https://mcp.tianapi.com/my-agent-tools/YOUR_APIKEY"
CITY = "成都"

# 1. 查天气
weather = requests.post(MCP_URL, json={
    "method": "call",
    "params": {"name": "tianqi", "arguments": {"city": CITY}}
}).json()

# 2. 查限行
limit = requests.post(MCP_URL, json={
    "method": "call",
    "params": {"name": "vehiclelimit", "arguments": {"city": CITY}}
}).json()

# 3. 输出整合结果
print(f"\n--- {CITY} 出行助手 ---")
if not weather.get("error"):
    w = weather["result"]
    print(f"天气: {w['weather']} | {w['temp']}℃")

if not limit.get("error"):
    l = limit["result"]
    print(f"今日限行: {l['limit_info']} | 区域: {l['area']}")


四、注意事项

项目说明
HTTPS 必须所有请求需通过 https:// 发起
参数格式arguments 是字典,字段名与接口文档一致(如 city, number)
错误处理响应含 error 字段时表示失败(如配额不足、参数错误)
并发限制免费用户 QPS 较低,高并发请升级套餐
图片类接口如 imgcaipin,需传公网可访问的 imgurl


 五、相关资源

📚 MCP 服务主页

🧩 如何创建工具集合


六、进阶用法(LangChain / 自定义 Agent)

你可以将 MCP 封装为 LangChain 的 Tool:

from langchain.tools import Tool
import requests

def call_mcp_tool(tool_name: str, args: dict) -> str:
    resp = requests.post(MCP_URL, json={
        "method": "call",
        "params": {"name": tool_name, "arguments": args}
    }).json()
    return str(resp.get("result", resp.get("error", "调用失败")))

weather_tool = Tool(
    name="tianqi",
    func=lambda city: call_mcp_tool("tianqi", {"city": city}),
    description="查询中国城市天气,参数:city(如'北京')"
)

让 Python 不只是调用 API,而是驱动 AI 智能体!


通过 MCP,你的脚本也能拥有“查天气、盯快递、看热搜”的能力,轻松构建下一代智能应用。


其他推荐OTHER API 更多>

开通会员专享福利
工单 客服