尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MCP基础版本

MCP基础版本
📅 发布时间:2026/7/6 15:13:22

文章目录

  • 什么是MCP Model context protocol?本质是一套函数发现与调用的协议
  • MCP的作用:让大模型更好的使用各类工具的协议
  • MCP host,支持mcp协议的软件
    • 安装cline
      • 配置cline 使用的api key
        • openRouter:“大模型界的中间层 / 路由器 / 统一接口”。一个接口,调用所有模型
          • 在 OpenRouter 里:你买的是“统一 API 入口(OpenRouter)”OpenRouter 再去“对接/转发”各个模型厂商的 API,不是你直接买对应的厂商
  • MCP server mcp服务器
    • MCP server 和传统意义上的“服务器/后端服务”有关系,但不是一回事。mcp server 里的 server 更多表示“协议角色”,不一定表示一台远程服务器或一个 Web 后端
      • 传统 server 一般指:一个长期运行的服务程序,等待别人来请求,然后返回结果。
      • MCP server 是:给 AI 客户端提供工具、资源、提示词能力的程序.符合mcp协议的一个程序
        • 为什么也叫server,因为在mcp协议扮演被调用方
        • 常见运行方式:本地mcp server,远程mcp server
        • mcp server内置了一些功能模块来解决问题,即Tool(工具)即函数
  • cline 安装mcp server
    • 交互流程
      • mcp的注册
      • cline发给模型的除了用户问题,还有注册好的mcp server,以及每个mcp server所包含的tool列表
  • 如何使用他人制作的mcp server
    • 在哪找mcp server?
      • mcp.so
      • mcpmarket.com
      • smithery.ai
    • mcp server大多是使用python或node进行编写,对应的启动程序一般是uvx或npx
      • Node.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 out
    • MCP error -32000: Connection closed

什么是MCP Model context protocol?本质是一套函数发现与调用的协议

mcp基础

MCP的作用:让大模型更好的使用各类工具的协议

比如借助mcp我们可以让模型使用浏览器上网查询信息。大模型本身只会问题,自己不会使用外部工具。mcp等于是让大模型拥有了使用各种外部工具的能力

MCP host,支持mcp协议的软件

常见的有,claude desktop cursor,cline,cherry studio等等

安装cline

配置cline 使用的api key

openRouter:“大模型界的中间层 / 路由器 / 统一接口”。一个接口,调用所有模型

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 server



mcp server内置了一些功能模块来解决问题,即Tool(工具)即函数

cline 安装mcp server



交互流程

mcp的注册

首先用json 配置好一个mcp server并且保存之后,cline就会使用配置中的命令去执行这个程序(mcp
server),执行之后,这个程序(mcp server)就会等待cline的指令。 mcp的注册就发生在启动mcp的一瞬间

cline发给模型的除了用户问题,还有注册好的mcp server,以及每个mcp server所包含的tool列表

如何使用他人制作的mcp server

在哪找mcp server?

mcp.so

mcpmarket.com

smithery.ai

mcp server大多是使用python或node进行编写,对应的启动程序一般是uvx或npx

很多 MCP server 本质上就是一个 Python 或 Node.js 写的小程序。Claude Code / Cursor 要使用它时,需要先把这个程序启动起来。uvx 或 npx 就是用来启动这些程序的命令。

Node.js 让 JavaScript 能在本地/服务器上运行的环境.js代码用node运行

以前 JavaScript 主要运行在浏览器里,比如网页上的按钮点击、动画、表单校验:
后来有了 Node.js,JavaScript 就可以不依赖浏览器,直接在电脑/服务器上运行。


npm 是 Node.js 生态里的包管理工具

Node.js 的包管理器,用来安装、管理、运行 JavaScript/Node.js 包


npm 包就是别人写好的 Node.js/JavaScript 程序或库

npx = 临时执行 npm 包提供的、可以在终端输入的命令;如果本地没有,它可以临时下载对应包再执行。npx 后面是“要执行的命令”;很多常见工具里,这个命令名刚好和 npm 包名一样。npx 专门用来“临时运行 npm 包里的命令”的工具

  1. 去 npm 包仓库找 @modelcontextprotocol/server-filesystem
  2. 如果本地没有,就临时下载/准备它
  3. 找到这个包提供的命令
  4. 把它启动起来
  5. 后面的 /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 的包管理器,类似 pip
npx = 临时运行 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 server




mcp 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里的hotnews

"mcp-server-hotnews":{"command":"npx","args":["-y","@wopal/mcp-server-hotnews"]}

MCP error -32001: Request time out

先复制对应的命令到终端执行,然后强制关掉终端就行。执行完之后,终端可能不hi关闭,因为mcp server很多是stdio 交互,在等着输入呢

MCP error -32000: Connection closed

Claude Code/Cursor 这类 MCP client 和某个 MCP server 的连接断开了

MCP error -32000: Connection closed 的意思是:

MCP client 和 MCP server 的连接被关闭了。

-32000 是 JSON-RPC 里的“服务端错误”范围,表示某个实现自定义的 server error;JSON-RPC 规范里 -32000 到 -32099 都属于 implementation-defined server errors。

放到 MCP 场景里,最常见含义就是:MCP server 还没正常完成连接/初始化,就退出了、崩了、启动失败了,或者 client 找不到启动它的命令。






相关新闻

  • 第一篇:Java 语言核心特性与运行机制
  • MC6470与PIC18LF4682在工业自动化中的高精度控制方案
  • YOLOv8热成像人员识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)

最新新闻

  • 高效构建智能DNS解析:5个核心场景下的mosdns完整解决方案
  • Midscene.js:基于视觉AI的跨平台UI自动化测试框架
  • 终极解决方案:如何一键批量下载网页所有资源并保持完整结构?
  • EhViewer终极指南:如何在Android上打造完美的漫画阅读体验
  • 掌握yuzu模拟器:从零开始构建高性能Switch游戏环境
  • Android备份提取器完全指南:3种方法高效提取和重新打包ADB备份文件

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号