首页/新闻资讯/正文详情

什么是MCP以及如何快速入门使用MCP:用uv+Python搭建Stdio服务并接入TaoToken

发布时间:2026/9/26 3:24:35 来源:云帆数科 栏目:资讯中心
什么是MCP以及如何快速入门使用MCP:用uv+Python搭建Stdio服务并接入TaoToken
1. 从一次“工具调用失败”说起MCP 到底解决什么问题如果你最近在折腾 LLM 应用大概率遇到过这种场景想让模型查一下数据库、算个复杂公式、调一下公司内部接口结果发现每个模型厂商、每个客户端都有自己的“函数调用”格式换一个 Host 就得重写一遍适配层。MCPModel Context Protocol模型上下文协议就是冲着这个痛点来的——它把“大模型调用外部工具”这件事标准化了你可以把它理解成专为 LLM 交互设计的 Web API 规范。MCP 的核心价值在于统一了大模型调用工具的方法为【大模型】与【外部数据和工具】的【无缝集成】提供了标准化协议和平台。一个 MCP Server 通常暴露三类能力Resources 负责把数据加载进模型上下文类似 GET 端点Tools 负责执行代码或产生副作用类似 POST 端点Prompts 则是可复用的交互模板。Host 是客户端软件比如 Cursor、Cherry StudioServer 是各种工具提供的 MCP 接口每个 Server 对应 Host 里的一个 Client 做一对一通信。传输机制上目前主流有三种Stdio 通过本地进程间通信客户端以子进程形式启动服务器双方用 stdin/stdout 交换 JSON-RPC 消息每条消息以换行符分隔SSE 基于 HTTP 长连接需要 /sse 和 /messages 两个端点正在逐步淘汰Streamable HTTP 是官方推荐的替代方案完全基于标准 HTTP所有消息走 /message 端点服务器可按需把普通请求升级为 SSE 流。对初次接触的 Python 开发者来说Stdio 是最容易上手、也最适合本地隐私数据处理的入口本文就带你用 uv Python 从零搭一个 Stdio MCP Server并接入 TaoToken 完成模型侧联调。2. 前置准备uv 环境与 TaoToken 统一 Key 通道在写代码之前先把两件事准备好Python 项目环境和模型调用通道。环境这块我强烈建议用 uv它比 pip venv 快得多而且能自动管理 Python 版本和依赖锁定对 MCP 这种需要频繁试错的场景特别友好。TaoToken 在这里扮演的角色是“统一 Key / API 通道”。你不需要为每个模型厂商单独申请 Key、单独记 Base URL而是通过一个统一的 API 入口去调用不同模型这对 MCP 联调阶段特别省事——Server 写好后换模型只改一个配置项。你需要先去控制台创建一个 API Key地址是 https://taotoken.net/api-keys 创建完记得复制保存后面配置里要用。API 的基础地址是 https://taotoken.net/api 注意这个地址不带任何查询参数直接作为 base_url 使用。如果你还没注册可以先从官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 进去了解整体能力。整个前置准备大概五分钟装 uv、建项目、拿 Key然后就可以进入编码环节了。3. 可复制配置用 uv 初始化项目并编写 Stdio Server先建目录并初始化。打开终端执行下面这几条命令uv 会自动帮你把项目骨架和虚拟环境都准备好mkdir myMCPServer cd myMCPServer uv init . uv add mcp[cli]uv init .会在当前目录生成 pyproject.toml 和基础结构uv add mcp[cli]把 MCP 官方 SDK 加进依赖。生成的 pyproject.toml 大致长这样你可以直接对照检查[project] name mymcpserver version 0.1.0 description A demo MCP server requires-python 3.10 dependencies [ mcp[cli], ] [build-system] requires [hatchling] build-backend hatchling.build接下来把 main.py 改成我们的 Server 骨架。这里用 FastMCP 是最省心的写法它把协议细节都封装好了你只需要关心工具函数本身# main.py from mcp.server.fastmcp import FastMCP # 创建 MCP Server 实例名字会显示在客户端里 mcp FastMCP(Demo) mcp.tool() def add(a: int, b: int) - int: Add two numbers return a b mcp.tool() def square(a: int) - int: square one numbers return a * a # 动态 greeting 资源通过 greeting://{name} 访问 mcp.resource(greeting://{name}) def get_greeting(name: str) - str: Get a personalized greeting return fHello, {name}! if __name__ __main__: mcp.run()注意mcp.tool()装饰的函数docstring 会被当作工具描述暴露给模型所以写清楚一点模型才知道什么时候该调用它。mcp.resource则用于把数据以 URI 形式暴露出去客户端可以按需读取。4. 启动与验证mcp dev 调试 TaoToken 联调请求启动调试模式前确认你的 Node 版本满足要求^20.17.0 || 22.9.0因为 MCP Inspector 依赖它。然后运行mcp dev main.py启动成功后终端会打印一个 Inspector 的访问链接点进去在 Connection 面板选择 Stdio确认能连上。连上后你就能在 Tools 标签页看到 add 和 square 两个工具在 Resources 里看到 greeting 资源。这一步是纯本地验证不涉及任何模型调用先把协议层跑通。协议通了之后接 TaoToken 做模型侧联调。核心是把 base_url 指向 https://taotoken.net/api api_key 用你在控制台创建的那把。下面是一个最小调用示例用 OpenAI 兼容的 SDK 风格演示from openai import OpenAI client OpenAI( base_urlhttps://taotoken.net/api, api_key你的_TaoToken_API_Key, ) resp client.chat.completions.create( modelclaude-sonnet-4-5, messages[ {role: user, content: 帮我算一下 12 加 30 等于多少} ], ) print(resp.choices[0].message.content)如果你用的是支持 MCP 的 Host比如 Cherry Studio配置里把 Server 指向你的 main.py 即可command 填 uv 的绝对路径args 填[run, --with, mcp, mcp, run, /你的路径/myMCPServer/main.py]。配置成功后在对话里问“12 加 30 等于多少”模型会调用 add 工具问“9 的平方”会调用 square。但如果你问“2 的立方”模型不会调用工具因为我们的 Server 里根本没提供求立方的方法——这恰好验证了工具调用是严格按 Server 暴露的能力来的不是模型瞎编。想快速验证模型对话效果也可以直接用模型对话页面 https://taotoken.net/models 试一下确认 Key 和通道都正常。5. 本篇常见报错排查报错一mcp: command not found。说明依赖没装进当前环境。确认你在项目目录下执行并且用uv run mcp dev main.py而不是裸mcp dev main.py让 uv 从项目环境里找命令。报错二Inspector 连不上Connection 一直转圈。九成是 Node 版本不对。执行node -v检查低于 20.17 就升级。另外确认 main.py 里mcp.run()没有被其他代码阻塞。报错三模型不调用工具。先看工具 docstring 是否清晰模型靠它判断用途再看 Host 里 Server 是否显示为已连接、工具列表是否加载出来。如果工具列表是空的说明 Server 启动就失败了回到上一步用 Inspector 单独验证。报错四TaoToken 调用返回 401。检查 api_key 是否复制完整、有没有多余空格确认 base_url 是https://taotoken.net/api不要自己拼/v1之类的后缀。如果还是不行去控制台重新生成一把 Key 试试。报错五Stdio 消息解析失败。多半是你在 stdout 里打印了调试信息。Stdio 模式下 stdout 是协议通道任何print都会污染 JSON-RPC 消息。调试信息请走 stderr或者用 logging 写到文件。6. 下一步把 MCP 接进你的真实工作流Server 跑通只是起点。接下来你可以把真实的业务逻辑塞进mcp.tool()里比如查内部数据库、调公司 API、做文件处理。模型侧继续走 TaoToken 的统一通道换模型、加并发都不用改 Server 代码。如果你打算长期做编码类或 Agent 类项目可以了解一下 Coding Plan https://taotoken.net/coding-plan 它在长会话和工具调用场景下更省心。接入文档在 https://taotoken.net/doc 遇到协议细节可以对照查。整个链路的核心就一句话Server 负责暴露能力TaoToken 负责统一模型通道两边解耦你只管把工具写好。

相关推荐

Morphe Patches 如何无需 Root 运行 YouTube:GmsCore 支持机制完整指南
Morphe Patches 如何无需 Root 运行 YouTube:GmsCore 支持机制完整指南

Morphe Patches 如何无需 Root 运行 YouTube:GmsCore 支持机制完整指南 【免费下载链接】morphe-patches Morphe Patches 项目地址: https://gitcode.com/gh_mirrors/mo/morphe-patches Morphe Patches 是一个为 YouTube、YouTube Music 和 Reddit 提供增强功… · 2026/9/26 3:24:35

MouseKeyShow:Windows原生级操作可视化工具原理与实践
MouseKeyShow:Windows原生级操作可视化工具原理与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

AI 实时流式推理架构深度解析:从 SSE 到 WebSocket/gRPC Stream 的协议设计与优化——TaoToken 统一 Key 下的配置骨架与连通性验证
AI 实时流式推理架构深度解析:从 SSE 到 WebSocket/gRPC Stream 的协议设计与优化——TaoToken 统一 Key 下的配置骨架与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:24:29

Python 中的 requirements.txt 与 setup.py
Python 中的 requirements.txt 与 setup.py

中 .txt、setup.py 和 setup.cfg 的用途对于新手来说, 管理项目中的依赖项是一件非常具有挑战性的事情。这个问题是由于历史原因引起的, 一直被人吐槽。在今天的文章中, 我们将讨论怎样去正确地管理项目的依赖关系。更具体一些来看, 我们会去讨论一下那个以txt为后缀的文件是干… · 2026/9/26 4:06:19

Python量化投资实战:从代码到策略的完整指南
Python量化投资实战:从代码到策略的完整指南

量化投资:代码实现与策略开发全解析量化投资作为金融科技当中很重要的一个分支领域, 现在正在通过其自身所具备的强大生态系统来对传统的投资模式进行改变。因为它拥有非常丰富的金融库支撑, 同时还得到了开源社区的强力帮助与支持, 所以它已经自然而然地成为众多量… · 2026/9/26 4:06:19

OpenAI 的 Kafka 实践看 Kafka 的云原生演进
OpenAI 的 Kafka 实践看 Kafka 的云原生演进

2025 年 6 月, 在相关的大会上, 的实时基础设施团队连续进行了两场主题分享。他们毫无保留地完整披露了内部经验。内容涉及团队如何在短短一年的时间内, 将 Kafka 的吞吐量指标提升到了原来的 20 倍之多。同时, 系统的可用性也实现了巨大跨越。该指标原本还不到 3 个 9的水平。… · 2026/9/26 4:06:19

二、10大神级提示词模板(直接复制,替换即用)
二、10大神级提示词模板(直接复制,替换即用)

早上把电脑一开上班, 很多人的工作步骤已经没办法离开人工智能了, 比如写文章、做计划、把数据整理好、写程序代码、做总结报告等等, 人工智能变成了职场工作人员的第二个大脑, 可是同样是使用人工智能工具,有的人花半个小时就解决了需要花一天才能做完的工作量, 还… · 2026/9/26 4:06:19

ROS2 节点里每天都在用的 C++ 底层能力,一张表讲清
ROS2 节点里每天都在用的 C++ 底层能力,一张表讲清

ROS2 节点里每天都在用的 C 底层能力,一张表讲清 摘要:很多人学 ROS2 只盯着节点、话题、服务这些框架层的东西,实际写代码时发现处处卡壳——回调怎么写、消息怎么管、定时器怎么控、多线程怎么锁。其实这些全是 C 语言层的基本功。本文把 S… · 2026/9/26 4:06:19

机械毕业设计|毕设答辩|毕业设计项目|不锈钢餐具——勺子的冲压模具设计
机械毕业设计|毕设答辩|毕业设计项目|不锈钢餐具——勺子的冲压模具设计

标题:不锈钢餐具——勺子的冲压模具设计文档介绍:一、引言勺子作为日常生活中最常见的不锈钢餐具,其成型质量直接取决于冲压模具的设计水平。本文围绕勺子的冲压模具设计展开,从工艺分析、模具结构、关键参数到常见缺陷与优化方向… · 2026/9/26 4:06:13

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码