新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/14 21:07:19来源:尧图网络
什么是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 负责统一模型通道两边解耦你只管把工具写好。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/14 3:51:47

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/14 17:14:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/14 3:51:43

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉