拓冰建站拓冰建站
首页 / 资讯中心 / 正文

FastMCP 起的 MCP Server,Cherry Studio 跑 add 时模型 Key 用 TaoToken

在 Cherry Studio 里挂上 FastMCP 起的 MCP Server本来想让它帮我算 114 514结果工具是找到了模型却反复弹“调用工具失败”。后来才反应过来那个跑在 8000 端口的 add 工具只是个本地函数它自己既不消耗 Token也不需要任何 API Key真正消耗 Token 的是 Cherry Studio 背后的模型请求通道。我补上这条通道的办法是用 TaoToken 统一接住模型 Key——在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建 API Key填进 Cherry Studio 的模型供应商add 的计算结果才正常返回整条链路也才算真正闭环。1. 先分清谁在算 add谁在消耗 Token很多人配 MCP 时容易混淆一个概念MCP Server 本身是个本地进程它暴露的 add(a, b) 工具只是一段普通 Python 函数。你问“114 加 514 等于多少”Cherry Studio 把参数发给本地 FastMCP 服务FastMCP 算出 628 返回给客户端——这个过程纯 CPU 计算没有 LLM 参与当然也不花一分钱 Token。那 Token 烧在哪里烧在最后一步。Cherry Studio 拿到工具返回的 628 后需要把“用户问题 工具结果”一起发给真正的语言模型让模型组织出一句自然语言回答。这一步才是模型调用才需要 Key 和 Base URL。所以你应该把 TaoToken 配在 Cherry Studio 的模型供应商里而不是写进 my_server.py更不是让 FastMCP 去接什么大模型接口。我最初犯的错就是只配了 MCP Server 的地址没管模型通道。Cherry Studio 的“模型供应商”一栏还是空白等于让一个没有 Key 的客户端去发模型请求自然一路报错。明白这个分工后后面每一步都顺了FastMCP 管工具TaoToken 管模型鉴权。2. 环境准备Conda 起 mcp 环境顺手到 TaoToken 把模型 Key 领了2.1 FastMCP 装进虚拟环境先创建干净的 Python 环境避免把系统 Python 搞乱conda create -n mcp python3.10 conda activate mcp然后安装 FastMCP 并验证版本pip install fastmcp fastmcp version执行 fastmcp version 后正常会看到类似下面的输出FastMCP version: 2.13.3 MCP version: 1.22.0 Python version: 3.10.19 Platform: Linux-4.18.0-553.el8_10.x86_64-x86_64-with-glibc2.36 FastMCP root path: /root/miniconda3/envs/mcp/lib/python3.10/site-packages出现这些信息说明 FastMCP 已经可用。注意这里不需要任何 KeyFastMCP 只是本地跑服务的框架跟云厂商一点关系都没有。2.2 创建 TaoToken API Key留给 Cherry Studio 的模型通道用既然 add 工具本身不向任何模型要 Token那真正需要 TaoToken 的地方是 Cherry Studio 的模型请求。先把 Key 拿到手但别急着填——等 MCP Server 跑起来到了 Cherry Studio 的模型供应商设置里才用得着。打开 TaoToken 注册并登录在控制台创建一个新的 API Key复制后保存为YOUR_API_KEY。这个 Key 不要写进 my_server.py也不要传给 fastmcp run它只属于 Cherry Studio 的模型供应商配置。TaoToken 提供的是 OpenAI 兼容格式的请求通道Cherry Studio 原生支持这一类供应商不用装额外插件。3. 代码实现my_server.py 里的 add 函数和 8000 端口的 HTTP 服务3.1 定义一个最小可跑的 add 工具新建my_server.py用 FastMCP 暴露一个加法工具# my_server.py from fastmcp import FastMCP mcp FastMCP(My MCP Server) mcp.tool def add(a: int, b: int) - int: Add two numbers return a b if __name__ __main__: mcp.run()这段代码里没有任何跟 TaoToken 相关的内容因为 MCP Server 只管接收参数并返回计算结果。add(a: int, b: int) - int的签名会被 FastMCP 自动转成 MCP 协议里的工具定义Cherry Studio 读取后就能看到参数类型和函数说明。3.2 用 HTTP 传输把服务跑起来用命令行方式启动fastmcp run my_server.py:mcp --transport http --port 8000也可以把启动参数写进代码里然后直接python my_server.py# my_server.py from fastmcp import FastMCP mcp FastMCP(My MCP Server) mcp.tool def add(a: int, b: int) - int: Add two numbers return a b if __name__ __main__: # mcp.run() mcp.run(transporthttp, port8000)服务跑起来后终端会输出类似HTTP endpoint is available at http://127.0.0.1:8000/mcp的信息。注意这个 URL 的结尾一定要带/mcp这是 FastMCP 2.x 暴露 streamableHttp 端点的默认路径。后面 Cherry Studio 里填的就是这个完整地址而不是裸的http://localhost:8000。4. Cherry Studio 集成一边填 MCP 地址一边配 TaoToken 模型通道4.1 添加 MCP Server选“可流式传输的 HTTP”打开 Cherry Studio 的设置找到 MCP 服务器那一栏点击添加选择“快速创建”再选“可流式传输的 HTTPstreamableHttp”。在 URL 一栏填http://127.0.0.1:8000/mcp保存后记得把开关打开确保 MCP Server 处于启用状态。如果一切正常工具列表里能看到add这个工具以及它的参数说明。这一步做的事情和官方文档一致Cherry Studio 通过 MCP 协议连上本地 FastMCP 进程。要注意的是URL 填错最常见的是漏掉/mcp只填到http://127.0.0.1:8000结果 Cherry Studio 一直检测不到工具。4.2 配置模型供应商把模型请求交给 TaoToken 统一鉴权MCP Server 配好后回到 Cherry Studio 的“模型供应商”设置添加一个 OpenAI 兼容类型的供应商填入以下参数配置项填写内容名称TaoToken统一 APIBase URLhttps://taotoken.net/apiAPI KeyYOUR_API_KEY从 TaoToken 创建模型 ID以 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 模型广场为准有两个容易踩的坑。第一Base URL 填的是https://taotoken.net/api末尾不要加/v1TaoToken 的兼容通道不接受 OpenAI 官方写法里的那个版本路径。第二模型 ID 不要在配置里凭记忆写打开模型广场看当前可用的模型 ID填进去才不会报“模型不存在”。4.3 对话页联调挂上 MCP Server问一次加法新建一个对话先选中上一步配好的 TaoToken 模型然后在对话工具栏里挂上“My MCP Server”。输入114 514 ?预期流程是模型判断需要调用 add 工具Cherry Studio 把参数a114, b514发给本地 FastMCPFastMCP 返回 628模型拿到 628 后组织语言回答“114 514 628”。整个过程既有工具调用的痕迹也有模型生成的回复两者缺一不可。如果只看到工具调用记录而模型没有回复多半是模型通道没配好如果模型直接说“调用失败”先看 MCP Server 是否还在运行。5. 报错对照add 没反应、401、404、模型 ID 不存在5.1 MCP 工具列表里没有 add或调用了但没返回先确认启动 FastMCP 的终端窗口还开着服务没有退出。再看 Cherry Studio 里填的 URL 是不是完整带了/mcp。最后确认 MCP Server 的开关已打开而不是添加完就放着不管。这三个问题占了 MCP 集成失败的大头。5.2 401 UnauthorizedAPI Key 有问题如果对话时底层请求返回 401说明 TaoToken 的 Key 没通过校验。回到 TaoToken 的控制台复制完整的YOUR_API_KEY检查 Cherry Studio 里粘贴时有没有多出空格或者截断。注意有些工具自动填充 Key 时会在首尾留换行符手动删掉再粘贴一次。5.3 404 Not FoundBase URL 多加了 /v1OpenAI 官方的 Base URL 往往是https://api.openai.com/v1所以不少人有惯性思维。TaoToken 的兼容通道地址是https://taotoken.net/api补齐之后就是完整地址不要再追加/v1。如果已经填成了https://taotoken.net/api/v1删掉/v1再重试。5.4 模型 ID 不存在别用旧文档里的过期 ID模型广场的可用列表会更新网上很多教程里的模型 ID 可能已经失效。配置模型 ID 时直接从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的模型广场复制当前可用的 ID。Cherry Studio 里填了不存在的 ID调用时通常会直接报模型相关错误而不是立刻提示你去看模型列表。6. 回到 TaoToken 控制台确认这次 add 联调已经记账MCP Server 自己不消耗 Token但刚才对话页那次模型请求确实发生了。这时回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 登录后看一眼用量统计能找到刚才“add 调用”对应的模型请求记录。如果有记录说明整条链路是通的FastMCP 负责算 addTaoToken 负责模型鉴权Cherry Studio 负责把两边拼在一起。这套配置的好处是只管一个 Key就能在 Cherry Studio 里同时使用 MCP 工具和模型对话不用再为每个模型单独申请官方额度也不用在多个供应商之间来回切换。后面再想测试新的 MCP Server只需要重复第 3 章和第 4.1 节的操作模型通道共用同一套 TaoToken 配置就行。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门