文章目录什么是MCP Model context protocol本质是一套函数发现与调用的协议MCP的作用让大模型更好的使用各类工具的协议MCP host,支持mcp协议的软件安装cline配置cline 使用的api keyopenRouter“大模型界的中间层 / 路由器 / 统一接口”。一个接口调用所有模型在 OpenRouter 里你买的是“统一 API 入口OpenRouter”OpenRouter 再去“对接/转发”各个模型厂商的 API,不是你直接买对应的厂商MCP server mcp服务器MCP server 和传统意义上的“服务器/后端服务”有关系但不是一回事。mcp server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端传统 server 一般指一个长期运行的服务程序等待别人来请求然后返回结果。MCP server 是给 AI 客户端提供工具、资源、提示词能力的程序.符合mcp协议的一个程序为什么也叫server,因为在mcp协议扮演被调用方常见运行方式本地mcp server,远程mcp servermcp server内置了一些功能模块来解决问题即Tool工具即函数cline 安装mcp server交互流程mcp的注册cline发给模型的除了用户问题还有注册好的mcp server以及每个mcp server所包含的tool列表如何使用他人制作的mcp server在哪找mcp server?mcp.somcpmarket.comsmithery.aimcp server大多是使用python或node进行编写对应的启动程序一般是uvx或npxNode.js 让 JavaScript 能在本地/服务器上运行的环境.js代码用node运行npm 是 Node.js 生态里的包管理工具npm 包就是别人写好的 Node.js/JavaScript 程序或库npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 后面是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样。npx 专门用来“临时运行 npm 包里的命令”的工具npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 是用来执行 npm 包暴露出来的可执行命令的工具如果本地找不到这个命令它可以临时下载对应的包来执行。有些 npm 包不只是“代码库”它还会带一个可以在命令行执行的程序npx 不会污染全局 npm 包列表.不会长期安装到你的当前环境或全局环境里。npm config get cache 查看缓存目录MCP server 为什么会用 npx因为很多 MCP server 是 Node.js 写的并发布成 npm 包uvx 临时运行“由 Python 包提供的、可以在终端输入的命令”。 uvx 临时运行 Python 包里的命令行工具。uvx 后面首先跟的是“要执行的命令”这个命令通常由某个 Python 包提供。uvx 临时运行 Python 包里的命令你不用先手动安装某个 Python 工具包uvx 可以帮你临时准备环境然后直接运行这个包提供的命令。python 包里面也可以带命令行程序uvx 会把 Python 工具安装到一个临时、隔离的虚拟环境里运行执行 uv cache clean 后可以清理.不会长期安装到你的当前环境或全局环境里。uv cache dir查看缓存uvx 和 npx 的关系MCP server 配置里的 command 和 args 怎么看command 用什么启动args 启动时传什么参数mcp server 配置里的env 的作用就是给 Cline 启动的 MCP server 进程单独设置环境变量uvx 配置的例子npx 配置例子MCP error -32001: Request time outMCP error -32000: Connection closed什么是MCP Model context protocol本质是一套函数发现与调用的协议mcp基础MCP的作用让大模型更好的使用各类工具的协议比如借助mcp我们可以让模型使用浏览器上网查询信息。大模型本身只会问题自己不会使用外部工具。mcp等于是让大模型拥有了使用各种外部工具的能力MCP host,支持mcp协议的软件常见的有claude desktop cursor,cline,cherry studio等等安装cline配置cline 使用的api keyopenRouter“大模型界的中间层 / 路由器 / 统一接口”。一个接口调用所有模型OpenRouter 是一个 API 网关 请求路由器OpenRouter 就是一个“让所有大模型都能用统一接口调用的中间层”内部负责把请求转换成各个模型真实需要的 API 格式OpenRouter“兼容”OpenAI API风格 OpenRouter 提供一个“统一类似 OpenAI的接口”给开发者使用 然后在内部把请求转换成各个模型厂商的原生 API 格式在 OpenRouter 里“路由” 决定这一次请求发给哪个模型在 OpenRouter 里你买的是“统一 API 入口OpenRouter”OpenRouter 再去“对接/转发”各个模型厂商的 API,不是你直接买对应的厂商在 OpenRouter 里 用户只需要买 OpenRouter 的 API key OpenRouter 负责对接各个模型厂商的 API 并转发请求❗ 但不是“买模型”而是“接入模型 API 代付/结算”MCP server mcp服务器MCP server 和传统意义上的“服务器/后端服务”有关系但不是一回事。mcp server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端关键区别是MCP server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端。对比传统 serverMCP server核心目的给用户/前端/系统提供 API 或网页给 AI Agent 提供工具、资源、上下文通信协议HTTP、TCP、Redis 协议、MySQL 协议等MCP 协议运行形式通常长期运行并监听端口可以是本地子进程也可以是远程 HTTP 服务调用方浏览器、前端、其他后端服务Claude Code、Cursor、Agent、MCP Client返回内容JSON、HTML、文件、数据库结果等工具列表、资源列表、工具执行结果是否一定监听端口通常是不一定传统 server 一般指一个长期运行的服务程序等待别人来请求然后返回结果。MCP server 是给 AI 客户端提供工具、资源、提示词能力的程序.符合mcp协议的一个程序大部分mcp server都是本地通过node或者python启动的只不过在使用的过程中可能会联网也可以不联网.mcp server作用是把某些外部能力包装成 AI 能调用的工具mcp client 使用工具的人MCP server 工具箱MCP 协议 统一的工具使用说明书GitHub/数据库/文件 真正被操作的对象为什么也叫server,因为在mcp协议扮演被调用方常见运行方式本地mcp server,远程mcp servermcp server内置了一些功能模块来解决问题即Tool工具即函数cline 安装mcp server交互流程mcp的注册首先用json 配置好一个mcp server并且保存之后cline就会使用配置中的命令去执行这个程序(mcpserver),执行之后这个程序mcp server)就会等待cline的指令。 mcp的注册就发生在启动mcp的一瞬间cline发给模型的除了用户问题还有注册好的mcp server以及每个mcp server所包含的tool列表如何使用他人制作的mcp server在哪找mcp server?mcp.somcpmarket.comsmithery.aimcp server大多是使用python或node进行编写对应的启动程序一般是uvx或npx很多 MCP server 本质上就是一个 Python 或 Node.js 写的小程序。Claude Code / Cursor 要使用它时需要先把这个程序启动起来。uvx 或 npx 就是用来启动这些程序的命令。Node.js 让 JavaScript 能在本地/服务器上运行的环境.js代码用node运行以前 JavaScript 主要运行在浏览器里比如网页上的按钮点击、动画、表单校验后来有了 Node.jsJavaScript 就可以不依赖浏览器直接在电脑/服务器上运行。npm 是 Node.js 生态里的包管理工具Node.js 的包管理器用来安装、管理、运行 JavaScript/Node.js 包npm 包就是别人写好的 Node.js/JavaScript 程序或库npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 后面是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样。npx 专门用来“临时运行 npm 包里的命令”的工具去 npm 包仓库找 modelcontextprotocol/server-filesystem如果本地没有就临时下载/准备它找到这个包提供的命令把它启动起来后面的 /Users/me/project 作为参数传给它npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 是用来执行 npm 包暴露出来的可执行命令的工具如果本地找不到这个命令它可以临时下载对应的包来执行。有些 npm 包不只是“代码库”它还会带一个可以在命令行执行的程序npx 执行 npm 包提供的命令npx 后面首先是命令名如果本地没有这个命令npx 可以临时获取相关 npm 包来执行。npm 包 一个别人发布好的 Node.js 工具/库npm 包里的命令 这个包提供的可执行程序npx 帮你临时找到并运行这个可执行程序最简单的类比python app.py 用 python 运行本地脚本node app.js 用 node 运行本地 JS 脚本npx 某个包名 从 npm 生态里找到这个包并运行它提供的命令所以 “npx 运行 npm 包里的命令”更白话就是npx 帮你启动一个 npm 工具包自带的命令行程序。npx 后面跟的东西通常是“npm 包提供的可执行命令”。很多时候包名和可执行命令名刚好一样所以看起来像“后面既是包名又是程序名”npx 后面主要是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样npx 不会污染全局 npm 包列表.不会长期安装到你的当前环境或全局环境里。npm config get cache 查看缓存目录npx 缓存在 npm cache 目录下面通常是 npm config get cache 输出目录里的 _npx 文件夹。MCP server 为什么会用 npx因为很多 MCP server 是 Node.js 写的并发布成 npm 包uvx 临时运行“由 Python 包提供的、可以在终端输入的命令”。 uvx 临时运行 Python 包里的命令行工具。uvx 后面首先跟的是“要执行的命令”这个命令通常由某个 Python 包提供。uvx 在隔离的临时环境中执行 Python 包提供的命令行工具。uvx 后面主要是命令名不是单纯的包名。uvx 后面默认写的是“命令名”但这个命令通常来自某个 Python 包很多时候包名和命令名刚好一样如果包名和命令名不一样就用 --from 指定包名。uvx 是 uv tool run 的别名用来在临时隔离环境里运行 Python 包提供的命令行工具uvx 在临时/隔离环境里运行“Python 包提供的命令行工具”。临时运行“由 Python 包提供的、可以在终端输入的命令”uvx 临时运行 Python 包里的命令你不用先手动安装某个 Python 工具包uvx 可以帮你临时准备环境然后直接运行这个包提供的命令。python 包里面也可以带命令行程序uvx 会把 Python 工具安装到一个临时、隔离的虚拟环境里运行执行 uv cache clean 后可以清理.不会长期安装到你的当前环境或全局环境里。uv cache dir查看缓存uvx 缓存位置 uv cache dir 输出的目录uvx 和 npx 的关系Node.js JavaScript 的运行环境类似 Python 解释器npm Node.js 的包管理器类似 pipnpx 临时运行 npm 包命令的工具uv Python 的包/环境/工具管理器uvx 临时运行 Python 包命令的工具MCP server 真正被启动的工具程序npx/uvx 启动 MCP server 的启动器MCP server 配置里的 command 和 args 怎么看command 用什么启动args 启动时传什么参数用 npx 去启动一个 Node.js 写的 MCP server用 uvx 去启动一个 Python 写的 MCP servermcp server 配置里的env 的作用就是给 Cline 启动的 MCP server 进程单独设置环境变量Cline 启动这个 MCP server 时给它额外注入环境变量环境变量uvx 配置的例子mcp.io查找fetch{mcpServers:{fetch:{args:[mcp-server-fetch],command:uvx}}}红点代表加载尚未完成开关只是表示mcp没有被禁用。是否禁用和是否加载完成是2回事测试请抓取下面这个网页的内容并将其转成markdown后放到项目目录下的guides.md文件中https://docs.astral.sh/uv/guides/install-python/npx 配置例子mcpmarket.com里的hotnewsmcp-server-hotnews:{command:npx,args:[-y,wopal/mcp-server-hotnews]}MCP error -32001: Request time out先复制对应的命令到终端执行然后强制关掉终端就行。执行完之后终端可能不hi关闭因为mcp server很多是stdio 交互在等着输入呢MCP error -32000: Connection closedClaude Code/Cursor 这类 MCP client 和某个 MCP server 的连接断开了MCP error -32000: Connection closed 的意思是MCP client 和 MCP server 的连接被关闭了。-32000 是 JSON-RPC 里的“服务端错误”范围表示某个实现自定义的 server errorJSON-RPC 规范里 -32000 到 -32099 都属于 implementation-defined server errors。放到 MCP 场景里最常见含义就是MCP server 还没正常完成连接/初始化就退出了、崩了、启动失败了或者 client 找不到启动它的命令。
MCP基础版本
发布时间:2026/7/6 15:10:40
文章目录什么是MCP Model context protocol本质是一套函数发现与调用的协议MCP的作用让大模型更好的使用各类工具的协议MCP host,支持mcp协议的软件安装cline配置cline 使用的api keyopenRouter“大模型界的中间层 / 路由器 / 统一接口”。一个接口调用所有模型在 OpenRouter 里你买的是“统一 API 入口OpenRouter”OpenRouter 再去“对接/转发”各个模型厂商的 API,不是你直接买对应的厂商MCP server mcp服务器MCP server 和传统意义上的“服务器/后端服务”有关系但不是一回事。mcp server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端传统 server 一般指一个长期运行的服务程序等待别人来请求然后返回结果。MCP server 是给 AI 客户端提供工具、资源、提示词能力的程序.符合mcp协议的一个程序为什么也叫server,因为在mcp协议扮演被调用方常见运行方式本地mcp server,远程mcp servermcp server内置了一些功能模块来解决问题即Tool工具即函数cline 安装mcp server交互流程mcp的注册cline发给模型的除了用户问题还有注册好的mcp server以及每个mcp server所包含的tool列表如何使用他人制作的mcp server在哪找mcp server?mcp.somcpmarket.comsmithery.aimcp server大多是使用python或node进行编写对应的启动程序一般是uvx或npxNode.js 让 JavaScript 能在本地/服务器上运行的环境.js代码用node运行npm 是 Node.js 生态里的包管理工具npm 包就是别人写好的 Node.js/JavaScript 程序或库npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 后面是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样。npx 专门用来“临时运行 npm 包里的命令”的工具npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 是用来执行 npm 包暴露出来的可执行命令的工具如果本地找不到这个命令它可以临时下载对应的包来执行。有些 npm 包不只是“代码库”它还会带一个可以在命令行执行的程序npx 不会污染全局 npm 包列表.不会长期安装到你的当前环境或全局环境里。npm config get cache 查看缓存目录MCP server 为什么会用 npx因为很多 MCP server 是 Node.js 写的并发布成 npm 包uvx 临时运行“由 Python 包提供的、可以在终端输入的命令”。 uvx 临时运行 Python 包里的命令行工具。uvx 后面首先跟的是“要执行的命令”这个命令通常由某个 Python 包提供。uvx 临时运行 Python 包里的命令你不用先手动安装某个 Python 工具包uvx 可以帮你临时准备环境然后直接运行这个包提供的命令。python 包里面也可以带命令行程序uvx 会把 Python 工具安装到一个临时、隔离的虚拟环境里运行执行 uv cache clean 后可以清理.不会长期安装到你的当前环境或全局环境里。uv cache dir查看缓存uvx 和 npx 的关系MCP server 配置里的 command 和 args 怎么看command 用什么启动args 启动时传什么参数mcp server 配置里的env 的作用就是给 Cline 启动的 MCP server 进程单独设置环境变量uvx 配置的例子npx 配置例子MCP error -32001: Request time outMCP error -32000: Connection closed什么是MCP Model context protocol本质是一套函数发现与调用的协议mcp基础MCP的作用让大模型更好的使用各类工具的协议比如借助mcp我们可以让模型使用浏览器上网查询信息。大模型本身只会问题自己不会使用外部工具。mcp等于是让大模型拥有了使用各种外部工具的能力MCP host,支持mcp协议的软件常见的有claude desktop cursor,cline,cherry studio等等安装cline配置cline 使用的api keyopenRouter“大模型界的中间层 / 路由器 / 统一接口”。一个接口调用所有模型OpenRouter 是一个 API 网关 请求路由器OpenRouter 就是一个“让所有大模型都能用统一接口调用的中间层”内部负责把请求转换成各个模型真实需要的 API 格式OpenRouter“兼容”OpenAI API风格 OpenRouter 提供一个“统一类似 OpenAI的接口”给开发者使用 然后在内部把请求转换成各个模型厂商的原生 API 格式在 OpenRouter 里“路由” 决定这一次请求发给哪个模型在 OpenRouter 里你买的是“统一 API 入口OpenRouter”OpenRouter 再去“对接/转发”各个模型厂商的 API,不是你直接买对应的厂商在 OpenRouter 里 用户只需要买 OpenRouter 的 API key OpenRouter 负责对接各个模型厂商的 API 并转发请求❗ 但不是“买模型”而是“接入模型 API 代付/结算”MCP server mcp服务器MCP server 和传统意义上的“服务器/后端服务”有关系但不是一回事。mcp server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端关键区别是MCP server 里的 server 更多表示“协议角色”不一定表示一台远程服务器或一个 Web 后端。对比传统 serverMCP server核心目的给用户/前端/系统提供 API 或网页给 AI Agent 提供工具、资源、上下文通信协议HTTP、TCP、Redis 协议、MySQL 协议等MCP 协议运行形式通常长期运行并监听端口可以是本地子进程也可以是远程 HTTP 服务调用方浏览器、前端、其他后端服务Claude Code、Cursor、Agent、MCP Client返回内容JSON、HTML、文件、数据库结果等工具列表、资源列表、工具执行结果是否一定监听端口通常是不一定传统 server 一般指一个长期运行的服务程序等待别人来请求然后返回结果。MCP server 是给 AI 客户端提供工具、资源、提示词能力的程序.符合mcp协议的一个程序大部分mcp server都是本地通过node或者python启动的只不过在使用的过程中可能会联网也可以不联网.mcp server作用是把某些外部能力包装成 AI 能调用的工具mcp client 使用工具的人MCP server 工具箱MCP 协议 统一的工具使用说明书GitHub/数据库/文件 真正被操作的对象为什么也叫server,因为在mcp协议扮演被调用方常见运行方式本地mcp server,远程mcp servermcp server内置了一些功能模块来解决问题即Tool工具即函数cline 安装mcp server交互流程mcp的注册首先用json 配置好一个mcp server并且保存之后cline就会使用配置中的命令去执行这个程序(mcpserver),执行之后这个程序mcp server)就会等待cline的指令。 mcp的注册就发生在启动mcp的一瞬间cline发给模型的除了用户问题还有注册好的mcp server以及每个mcp server所包含的tool列表如何使用他人制作的mcp server在哪找mcp server?mcp.somcpmarket.comsmithery.aimcp server大多是使用python或node进行编写对应的启动程序一般是uvx或npx很多 MCP server 本质上就是一个 Python 或 Node.js 写的小程序。Claude Code / Cursor 要使用它时需要先把这个程序启动起来。uvx 或 npx 就是用来启动这些程序的命令。Node.js 让 JavaScript 能在本地/服务器上运行的环境.js代码用node运行以前 JavaScript 主要运行在浏览器里比如网页上的按钮点击、动画、表单校验后来有了 Node.jsJavaScript 就可以不依赖浏览器直接在电脑/服务器上运行。npm 是 Node.js 生态里的包管理工具Node.js 的包管理器用来安装、管理、运行 JavaScript/Node.js 包npm 包就是别人写好的 Node.js/JavaScript 程序或库npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 后面是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样。npx 专门用来“临时运行 npm 包里的命令”的工具去 npm 包仓库找 modelcontextprotocol/server-filesystem如果本地没有就临时下载/准备它找到这个包提供的命令把它启动起来后面的 /Users/me/project 作为参数传给它npx 临时执行 npm 包提供的、可以在终端输入的命令如果本地没有它可以临时下载对应包再执行。npx 是用来执行 npm 包暴露出来的可执行命令的工具如果本地找不到这个命令它可以临时下载对应的包来执行。有些 npm 包不只是“代码库”它还会带一个可以在命令行执行的程序npx 执行 npm 包提供的命令npx 后面首先是命令名如果本地没有这个命令npx 可以临时获取相关 npm 包来执行。npm 包 一个别人发布好的 Node.js 工具/库npm 包里的命令 这个包提供的可执行程序npx 帮你临时找到并运行这个可执行程序最简单的类比python app.py 用 python 运行本地脚本node app.js 用 node 运行本地 JS 脚本npx 某个包名 从 npm 生态里找到这个包并运行它提供的命令所以 “npx 运行 npm 包里的命令”更白话就是npx 帮你启动一个 npm 工具包自带的命令行程序。npx 后面跟的东西通常是“npm 包提供的可执行命令”。很多时候包名和可执行命令名刚好一样所以看起来像“后面既是包名又是程序名”npx 后面主要是“要执行的命令”很多常见工具里这个命令名刚好和 npm 包名一样npx 不会污染全局 npm 包列表.不会长期安装到你的当前环境或全局环境里。npm config get cache 查看缓存目录npx 缓存在 npm cache 目录下面通常是 npm config get cache 输出目录里的 _npx 文件夹。MCP server 为什么会用 npx因为很多 MCP server 是 Node.js 写的并发布成 npm 包uvx 临时运行“由 Python 包提供的、可以在终端输入的命令”。 uvx 临时运行 Python 包里的命令行工具。uvx 后面首先跟的是“要执行的命令”这个命令通常由某个 Python 包提供。uvx 在隔离的临时环境中执行 Python 包提供的命令行工具。uvx 后面主要是命令名不是单纯的包名。uvx 后面默认写的是“命令名”但这个命令通常来自某个 Python 包很多时候包名和命令名刚好一样如果包名和命令名不一样就用 --from 指定包名。uvx 是 uv tool run 的别名用来在临时隔离环境里运行 Python 包提供的命令行工具uvx 在临时/隔离环境里运行“Python 包提供的命令行工具”。临时运行“由 Python 包提供的、可以在终端输入的命令”uvx 临时运行 Python 包里的命令你不用先手动安装某个 Python 工具包uvx 可以帮你临时准备环境然后直接运行这个包提供的命令。python 包里面也可以带命令行程序uvx 会把 Python 工具安装到一个临时、隔离的虚拟环境里运行执行 uv cache clean 后可以清理.不会长期安装到你的当前环境或全局环境里。uv cache dir查看缓存uvx 缓存位置 uv cache dir 输出的目录uvx 和 npx 的关系Node.js JavaScript 的运行环境类似 Python 解释器npm Node.js 的包管理器类似 pipnpx 临时运行 npm 包命令的工具uv Python 的包/环境/工具管理器uvx 临时运行 Python 包命令的工具MCP server 真正被启动的工具程序npx/uvx 启动 MCP server 的启动器MCP server 配置里的 command 和 args 怎么看command 用什么启动args 启动时传什么参数用 npx 去启动一个 Node.js 写的 MCP server用 uvx 去启动一个 Python 写的 MCP servermcp server 配置里的env 的作用就是给 Cline 启动的 MCP server 进程单独设置环境变量Cline 启动这个 MCP server 时给它额外注入环境变量环境变量uvx 配置的例子mcp.io查找fetch{mcpServers:{fetch:{args:[mcp-server-fetch],command:uvx}}}红点代表加载尚未完成开关只是表示mcp没有被禁用。是否禁用和是否加载完成是2回事测试请抓取下面这个网页的内容并将其转成markdown后放到项目目录下的guides.md文件中https://docs.astral.sh/uv/guides/install-python/npx 配置例子mcpmarket.com里的hotnewsmcp-server-hotnews:{command:npx,args:[-y,wopal/mcp-server-hotnews]}MCP error -32001: Request time out先复制对应的命令到终端执行然后强制关掉终端就行。执行完之后终端可能不hi关闭因为mcp server很多是stdio 交互在等着输入呢MCP error -32000: Connection closedClaude Code/Cursor 这类 MCP client 和某个 MCP server 的连接断开了MCP error -32000: Connection closed 的意思是MCP client 和 MCP server 的连接被关闭了。-32000 是 JSON-RPC 里的“服务端错误”范围表示某个实现自定义的 server errorJSON-RPC 规范里 -32000 到 -32099 都属于 implementation-defined server errors。放到 MCP 场景里最常见含义就是MCP server 还没正常完成连接/初始化就退出了、崩了、启动失败了或者 client 找不到启动它的命令。