实测12个MCP服务器,我只留下这6个

实测12个MCP服务器一个月,按上下文成本与实用性筛出6个并给出安全准则。
作者在Claude Code和Cursor中接入约12个MCP服务器日用一个月,最终只保留Filesystem、Git、GitHub、Playwright、Context7、Fetch六个(Git为仓库密集日备用)。文章强调上下文窗口成本比功能表更关键:每个服务器的工具schema常驻会话,堆得越多模型越迟钝。留下的六个分别解决磁盘访问、GitHub工作流、确定性浏览器自动化、实时框架文档、安全网页抓取和Git操作。Sequential Thinking因现代推理模型本就多轮思考而被拆掉,Memory仅在精心维护时有价值。作者还给出四条安全规则:安装前收窄作用域、假设提示注入能触达工具、固定并审查包版本、使用最小权限token,并指出这套配置不适合非开发者、受限工作机用户、指望弱模型变聪明的人和AI编码新手。
在Claude Code和Cursor里日用一个月后,作者往配置里接入了大约12个MCP服务器。其中大多数只活了一天,最终只有6个留在了每次打开的会话里。这篇清单讲的是:每个服务器到底给Agent带来什么、在配置和上下文上要付出什么代价,以及哪些被作者果断拆掉。
每个安装命令都对照过发布方自己的仓库或包注册表,而不是从二手清单里抄来的。

MCP是什么,为什么上下文成本比功能表更重要
Model Context Protocol是Anthropic推出的开放标准,如今在Claude Desktop、Claude Code、Cursor、Windsurf、VS Code agent模式、Cline、OpenAI的Codex CLI等客户端间通用。一个协议,任意模型,任意数据源:本地文件、Git仓库、数据库、浏览器、实时网页。
你安装的是服务器——一个把带类型工具暴露给模型的小程序。问"我这个分支改了什么",模型不会瞎猜,而是调用Git服务器的git_status工具读取真实输出。本地服务器走stdio(通常一行npx或uvx),远程服务器走HTTP加OAuth。在JSON里声明一次,所有兼容客户端都会加载。
作者设定的三条筛选标准是:是否省掉了一个原本手动的步骤、配置是否在十分钟内完成、是否撑爆上下文窗口。第三条最容易被忽略,也最致命——每个服务器的工具schema会在整个会话期间占据模型上下文,堆得越满,模型在实际使用中就越"笨"。清单里有两个服务器只靠一个工具就站稳了位置,其余条目存在的意义恰恰是提醒你别全装。
工具schema与上下文窗口:MCP服务器向客户端注册的每个工具都带有一份JSON Schema,描述参数名、类型、枚举值、默认值和用途说明。客户端启动会话时会把所有已连接服务器的工具schema序列化进系统提示或工具列表,这部分token在整个会话期间常驻,且随服务器数量线性增长。一个中等复杂度的服务器(如GitHub MCP)可能暴露20个以上工具,其schema轻易占据数千token;十来个服务器叠加后,上下文窗口被大量静态描述挤占,留给实际对话和代码的空间变少,模型在长会话中更容易遗漏早期指令。这就是"装得越多越笨"的机制来源——不是模型能力下降,而是有效上下文被工具元数据稀释。
留下的六个,各自解决了什么问题
Filesystem:给桌面Agent补上磁盘权限
Claude Desktop原本没有办法碰你的磁盘,官方Filesystem服务器用读、写、搜索、移动补上了这一环,且只能在你显式传入的目录内活动。作者最看重的设计细节是内置作用域:指向~/code而不是整个home目录,它就出不去。"把包里的这些函数重命名并更新测试"从幻想变成了可执行请求。
GitHub MCP Server:面向GitHub工作流的改变最大
旧的社区GitHub服务器已经归档,GitHub现在自己维护两种形态:一个用OAuth连接的远程服务器api.githubcopilot.com/mcp/(不用折腾token,支持VS Code、Claude Desktop、Cursor),以及给不支持远程的客户端准备的本地Go构建版。能力覆盖仓库浏览、issue与PR自动化、Actions运行分析、Dependabot告警。"分诊我的开放issue并起草回复""上次workflow为什么失败"——答案来自实时数据,而不是模型对你仓库的记忆。这是作者认为最改变一周工作方式的一个。
Playwright MCP:用可访问性树替代截图
基于截图的自动化是钝器;Playwright MCP把页面的可访问性树喂给模型——结构化、确定性、不依赖视觉模型就能读。点击、输入、导航、回读。验证运行中应用上的修复、抓文档页、对表单做冒烟测试都很顺手。
作者也如实转述了微软自家README的提醒:对纯编码Agent来说,CLI加skills更省token,毕竟工具schema和可访问性树都会吃上下文。需要持久浏览器状态的会话(长时间探索性运行、自愈测试循环)才值得留着它,快速看页面用更轻的命令即可。
可访问性树(Accessibility Tree):浏览器在渲染DOM的同时会构建一棵语义化的可访问性树,供屏幕阅读器等辅助技术消费。它过滤掉纯装饰性的div和样式,只保留角色(role)、名称(name)、状态(checked/disabled)和层级关系,因此比原始HTML更紧凑、比截图更结构化。Playwright MCP把每个可交互节点映射为带引用的元素标识,模型据此发出"点击ref=12"这类确定性指令,再读回更新后的树来验证结果。相比视觉模型解析截图,它的输出是文本且稳定可复现,不受分辨率、主题或动画干扰;代价是树本身仍需token,复杂页面可能产生数千行输出,所以微软建议纯编码场景改用CLI。
Context7:把框架文档拉到训练截止之后
框架的迭代速度总是快过模型训练截止时间。Context7会解析你点名的库,拉取当前文档和代码示例,在对话中途交给模型。区别在于"这是2023年React类组件的样子"和基于你实际安装的API给出的答案。如果你经常让Agent针对特定框架写代码,这个位置立刻就能回本。
Fetch:最值得称道的安全默认值
把网页转成分块markdown,让Agent能一直读到找到所需内容为止。它还有一个作者测试过的服务器里最周到的安全默认:拒绝私有、回环和链路本地地址——包括云元数据端点——对每一次重定向跳转都重新检查,同时提供文档化的开关,在你确实需要时放宽限制。
SSRF与云元数据端点:服务端请求伪造(SSRF)指攻击者诱导服务器向内部地址发起请求,从而绕过网络边界。在MCP场景里,Agent被提示注入操纵后可能让Fetch去抓http://169.254.169.254/(AWS、GCP、Azure通用的实例元数据端点),该地址返回云主机的临时凭证。Fetch默认拒绝私有网段(10/8、172.16/12、192.168/16)、回环(127/8、::1)和链路本地(169.254/16)地址,并对每次HTTP重定向重新解析目标IP,防止用公网URL跳转到内网。这一默认值重要,因为多数同类抓取工具只做一次DNS检查,重定向即可绕过。
Git:最适合起步的可写服务器
一条命令uvx mcp-server-git,一个参数(仓库路径),Agent就能读状态、diff、日志、历史,并在你允许时创建提交。比把diff粘贴进聊天强得多,而且它是最安全的首个可写服务器——每个动作都落在Git自己的安全网里。
为什么我拆掉了Sequential Thinking和Memory
Sequential Thinking是互联网上被推荐最多的服务器之一,作者一周后砍掉了。它给模型一个记录带修订和分支的编号思维步骤的工具。现代推理模型本来就会多轮思考,这个工具的调用在每个会话里增加token,却很少改变结果。在强模型上是税,在弱模型上是遮羞布。
Memory确实巧妙——一个模型跨对话读写的知识图谱存储——但它只有在你精心维护时才赢。放任不管,它会堆积琐事,把过时的"事实"注入后续会话。跑一个长期在线的助手项目并真的修剪图谱?可以试试。否则诚实的默认就是关掉。
作者还跳过了归档的参考服务器:旧的Postgres、SQLite、Puppeteer、Google Drive、Slack条目现在都住在servers-archived仓库里,项目自己称它们为教学参考实现而非生产可用。装之前先确认一个"官方"服务器还在当前参考列表里还是已经归档,这个差别很重要。
大多数清单跳过的安全部分
MCP服务器是一次带真实副作用的能力授予——文件写入、提交、开PR、浏览器会话。作者遵守四条规则:
- 装之前先收窄范围。 Filesystem只给项目目录,绝不给home目录;Git只指向一个仓库。参数列表就是权限边界。
- 假设提示注入能触达你的工具。 会抓网页或读issue的Agent可能遇到用来操纵它的文本。在读取不可信内容的会话里关掉可写服务器,批量操作前先审阅。
- 固定并审查包。
npx -y每次启动都拉最新版。优先选已验证的发布方(@modelcontextprotocol、@microsoft、@github、@upstash、@brave),在分享的配置里锁定版本。 - 最小权限token。 OAuth远程服务器方便是因为它们强大——检查你批准的是哪个账号、哪些scope。作者的GitHub连接能开PR;如果你的只需要读issue,就收紧它。
npx -y的供应链风险:npx -y会在每次启动时从npm注册表解析并下载最新版本,意味着今天通过的配置明天可能拉到被劫持或误发布的新版本——这类事件在npm生态中屡见不鲜(如依赖混淆、维护者账号被盗)。对MCP服务器尤其危险,因为它们以你的用户权限运行并持有文件、Git、OAuth令牌等能力。缓解手段包括:在配置中写死精确版本号(@playwright/mcp@1.2.3而非@latest)、优先选用带npm provenance签名的包、在CI或共享配置中用锁文件校验完整性,以及首次安装前用npm view <pkg> repository确认发布方仓库与文档一致。
两分钟配置与不适合的人群
在Claude Code里:claude mcp add playwright npx @playwright/mcp@latest。在Cursor里:设置→MCP,同样的命令配置。Claude Desktop读claude_desktop_config.json,每个条目是一条命令、参数、可选环境变量。Windows有个坑:用cmd /c包住npx,否则服务器会静默失败。改完配置重启客户端,确认绿色的"已连接"状态——包名打错在大多数客户端里都是静默失败。
这套东西不适合这些人:只用聊天助手写作和研究、不写代码的人(最多需要一两个研究服务器,不是开发者全家桶);在锁死的工作机器上的人(每一行npx都变成一张工单);指望MCP让弱模型变聪明的人(它不会,工具放大的是强模型的能力和弱模型的错误);刚接触AI编码Agent的新手(先装一个,Filesystem或Git,学会循环再扩栈——一打半懂不懂的工具,正是人们得出"MCP没用"结论的方式)。
最终判断
五个服务器通过了轮换:Filesystem、GitHub、Playwright、Context7、Fetch,加上仓库密集日用的第六个Git。它们覆盖了开发者工作的真实循环:文件、仓库、issue、浏览器、当前文档、开放网络。其余要么是情境性的(Memory、Brave Search),要么在现代模型上冗余(Sequential Thinking),要么是该归档、不该在生产跑的参考实现。
装这五个,给每个收窄范围,然后用一个问题评判未来每一个服务器:它是否省掉了我原本手动做的一步? 如果没有,卸载——它消耗的上下文是真实的。
相关推荐

REA:无需编码,用AI逆向任意应用
REA是一款爆火GitHub的开源AI逆向工程工具,可让Claude、Codex等AI代理直接分析任意应用并生成功能克隆,无需编码。本文介绍其工作原理、安装方法、实测案例及法律风险。

2026年AI编程工具横评:Claude、ChatGPT、Gemini谁最强?
2026年五款主流AI编程工具横评:Claude Code、ChatGPT Codex、Gemini、DeepSeek和GitHub Copilot在真实项目、定价与代码质量上的全面对比,帮你决定每月20美元该花给谁。

ChatGPT Codex克隆任意软件?实测风险与真相
YouTube短视频宣称用ChatGPT Codex或Claude Code即可克隆Adobe、Excel、Figma等软件并终身免费使用。本文拆解其技术可行性、法律风险与私信引流套路,说明AI编程工具真正适合的用法。