mcp协议是什么?用装一次 MCP 的时间彻底搞懂它

最近在研究MCP, 所以最近自己装了一个 Excel MCP,踩了 5 个坑才跑通。回头才发现,问题出在没搞懂 MCP 的本质。

这篇文章我会把我踩的坑、搞懂的概念,全分享出来,看完会让你少走很多弯路,如果感觉有帮助,麻烦帮忙点点赞,关注一下。


一、为什么你需要 MCP

用 AI 写代码的同学都有这个感受:AI 只能跟你聊,干不了活。

想让 AI 操作 GitHub?写一套集成代码。想连 Slack?再写一套。想读本地 Excel?再写一套。

这就是痛点:每加一个新工具,就要跟所有服务重新对接

N 个工具 × M 个服务 = N×M 套代码。

MCP 把这个复杂度从 N×M 降到 N+M:

左边任意一个 AI 客户端,通过 MCP 协议,就能调用右边任意一个服务。加一个服务,所有客户端都能用。

一个协议,搞定所有工具。


二、5 分钟装一个 MCP

理论讲完了,动手装一个。以 Excel MCP 为例------不需要装 Excel,装完就能让 AI 直接操作你的表格。

第一步:装 uv

powershell 复制代码
pip install uv

验证:

powershell 复制代码
uv --version

第二步:测试能跑

powershell 复制代码
uvx excel-mcp-server stdio

挂起不报错 = 正常。Ctrl+C 退出。

第三步:接入 Claude Code

powershell 复制代码
claude mcp add excel --scope user -- uvx excel-mcp-server stdio

第四步:验证

powershell 复制代码
claude mcp list

看到 excel 说明接上了。重启 Claude Code,问一句"你能操作 Excel 吗?"验证。

踩坑记录

问题 原因 解决
uvx 找不到 PATH 没刷新 关掉 PowerShell 重开
装到错误的项目下 没加 --scope user --scope user 才是全局
装完没显示 没重启 Claude Code 完全退出再打开

三、那条命令到底啥意思

claude mcp add excel --scope user -- uvx excel-mcp-server stdio

拆开来理解:

  • claude mcp add excel → 给 Claude 注册一个叫 "excel" 的服务
  • --scope user → 全局生效(不写就只在当前项目有效)
  • -- → 分隔符,后面是启动命令
  • uvx excel-mcp-server stdio → 用 uvx 跑这个包,走 stdio 传输

三个关键点:

  1. --scope user 不能省,不然换个目录就失效
  2. -- 分隔符必须有,不然 Claude 不知道哪部分是启动命令
  3. 装完必须重启,不然 Claude 读不到新配置

Windows 用户注意:这条命令不需要 cmd /c,因为 uvx 是原生可执行文件。只有 npx 才需要 cmd /c 包装。


四、本地 MCP 和远程 MCP 有什么区别

MCP 本身不区分本地/远程,它只定义了传输层------数据怎么在 AI 和 Server 之间传。

本地(stdio)

c 复制代码
AI 客户端 ──启动进程──→ MCP Server(你电脑上的进程)
        ←──stdin/stdout──
  • Server 是你电脑上的独立进程
  • 数据走进程间通信,不经过网络
  • 能读你本地文件
  • 断网也能用

远程(HTTP)

markdown 复制代码
AI 客户端 ──HTTP请求──→ 远程服务器(别人托管的)
        ←──HTTP响应──
  • Server 跑在别人服务器上
  • 数据走网络
  • 必须联网

一句话判断

资源在哪,Server 就在哪。

你要干嘛 选哪个
读本地 Excel 本地
操作本地代码仓库 本地
调 GitHub API 两种都行(本地跑 + 配 Token)
不想装任何环境 远程(用别人托管的)

GitHub MCP、Slack MCP 虽然调远程 API,但进程本身跑在你电脑上,所以是本地 MCP。判断标准是"进程谁启",不是"连哪里"。


五、MCP 通信模型

你装了多个 MCP Server 之后,架构是这样的:

记住几个事实:

  • Client 只有一个,内置在 Claude Code 里,不是独立进程
  • Server 有 N 个,你装了多少个就有多少个独立进程
  • Server 之间不通信,必须通过 Client 中转
  • 数据格式统一:JSON-RPC 2.0

生命周期:打开 Claude → 读配置 → 启动所有 Server → 建立长连接 → 关 Claude → 所有 Server 终止。


一句话总结

本地 MCP = 你电脑上的插件进程,远程 MCP = 别人托管的 API。选哪个,看你的文件在哪个机器上。


下一篇我会写:10 个最实用的 MCP Server 推荐,从安装到真实使用场景。关注「AI笔记Pro」不错过。

你装 MCP 踩过什么坑?评论区聊聊。


附录:速查表

收藏这篇,下次装 MCP 直接翻。

Claude Code MCP 命令:

命令 作用
claude mcp list 列出已配置的服务器
claude mcp add 添加服务器
claude mcp remove 删除服务器
claude mcp get 查看单个服务器详情

分享几个查询MCP的网站,常见的MCP都能找到

相关推荐
抢囡囡糖未遂2 小时前
从 LINQPad 到 MCP:打造 CRM 智能助手的实战记录
ai·大模型·skill·mcp·linqpad·microsoft dynamics crm·mscrm·dynamic 365
武子康5 小时前
MCP 2026-07-28 无状态核心之后:身份、任务、幂等与审计状态到底放在哪里?
人工智能·llm·mcp
Python私教5 小时前
我只写了一个 add 工具,终于把 MCP 的 Host、Client、Server 跑明白了
python·ai编程·mcp
奋飛6 小时前
AI 应用工程:Tool、MCP、Skill 与 Workflow 如何接入 Agent?——搭建一个可运行的需求影响面分析 Agent
agent·workflow·skill·tool·mcp
VIP_CQCRE2 天前
最近发现一个小工具:把 Ace Data Cloud 接入 AI 助手
ai·开发工具·mcp
labixiong2 天前
MCP 7/28 最大改版实测:扒开真实 HTTP 请求,无状态化到底改了什么
agent·mcp
shepherd1112 天前
别再把 MCP 当成大模型的“手脚”:LLM 并不会直接调用 MCP
后端·ai编程·mcp
码哥字节3 天前
0元搭了240篇文章的AI知识库,比付费版查得更准
开源·ai编程·mcp
Misnearch3 天前
mcp-server
llm·jenkins·mcp