TwKit
正在载入
TwKit

STDIO 服务里写一句 print,整条 JSON-RPC 就废了——官方 weather 教程把这点放得很靠前,比教你怎么调天气接口更关键。 我刚对照 … · @Daviswh · TwKit

@Daviswh

STDIO 服务里写一句 print,整条 JSON-RPC 就废了——官方 weather 教程把这点放得很靠前,比教你怎么调天气接口更关键。 我刚对照 http://modelcontextprotocol.io/quickstart 原文按 Python 路径跑了一遍,容易漏掉的几点: · MCP 服务器有三能力:Resources(类文件数据)、Tools(给模型调用的函数)、Prompts(预写模板);这篇主要讲 Tools,别一上来就堆资源描述 · 走 STDIO 传输时严禁往标准输出打日志,要用 logging 写到 stderr;print 会污染协议消息,客户端直接连不上 · Python 侧要求 MCP SDK 2.0 及以上,官方推荐用 uv:先初始化项目,再加 mcp 依赖,然后写 http://weather.py · 官方示例只暴露两个工具:按州代码拉美国气象局预警,按经纬度拿预报;进程入口指定 stdio 传输即可 · 接到桌面客户端时,配置里的工作目录必须写绝对路径,相对路径重启后很容易找不到服务 👉实测 我在盒子上用 uv 0.13.5、Python 3.13.5、mcp 2.3.0,按原文服务端写法落盘,没有改接口。用官方 Inspector 命令行列出工具,干净看到 get_alerts 与 get_forecast;再按加州州码调用预警,拉回沿海洪水咨询、霜冻咨询等真实数据;按萨克拉门托坐标取预报,给出今夜约四十九华氏度、周二晴到六十六度。气象局公开接口,全程不用密钥。 对谁有用:想自己写第一个 MCP 服务、又怕 STDIO 踩坑的人——先照着官方天气示例把列表和调用跑通,再把工具换成自己的业务接口,比空谈协议快得多,也少走弯路。 https://modelcontextprotocol.io/quickstart

曝光 82 · 评论 3 · 点赞 1 · 书签 0

查看原帖