前言
如果你经常使用 AI 编程助手,一定听过 MCP 这个词。它正在成为 AI 应用连接外部世界的「普通话」。这篇文章不是协议文档的复读,而是把我当前开发环境里正在使用的一整套 MCP 服务器做一个全景盘点:它们各自是什么、能干什么、有哪些代表性工具、以及如何组合出实用的工作流。
一、MCP 是什么
MCP(Model Context Protocol,模型上下文协议)是一套开放协议,目标是解决一个老问题:AI 应用如何标准化地访问外部工具和数据。
在 MCP 出现之前,每个 AI 应用对接每个工具都要写私有适配器,就像每个电器都配一个专属插座。MCP 定义了统一的「插座标准」:
- MCP Server(服务端):把能力暴露出来,比如「我这边有一份代码图谱可以查」「我可以控制浏览器」。
- MCP Client(客户端):AI 应用(如 Codex、Claude Desktop)连接这些服务端,把工具调用交给模型。
- 工具(Tools):服务端暴露的可调用能力,每个工具都有名字、参数和描述,模型会根据任务自动选择合适的工具。
一句话:MCP 是 AI 的 USB-C——一套协议,万物互联。
二、我的 MCP 环境总览
下面是我当前环境里实际可用的 MCP 服务器清单(截至 2026 年 8 月):
| 服务器 | 定位 | 代表能力 |
|---|---|---|
codebase-memory-mcp | 代码知识图谱 | 全仓库索引、图检索、调用链追踪、架构分析 |
godot-mcp | Godot 游戏引擎 | 场景搭建、脚本、着色器、动画、运行与导出 |
playwright | 浏览器自动化 | 导航、点击、截图、网络抓包、无障碍快照 |
local_rag | 本地向量知识库 | 文档摄入、混合检索、增量同步 |
node_repl | Node.js 执行器 | 持久内核跑 JS、动态加载 npm 包 |
chart_mcp | 数据可视化 | matplotlib / seaborn / pyecharts 生成图表 |
imagemagick_mcp | 图像处理 | 格式转换、滤镜、元数据读取 |
multi_agent | 多智能体编排 | 并行子任务、流水线协作 |
下面逐一展开。
三、逐个体检
1. codebase-memory-mcp:把仓库变成一张可查询的图
这是我最常用的一个。它会把整个代码仓库索引成语义知识图谱:函数、类、路由、文件作为节点,调用、依赖、数据流作为边。
核心工具:
| 工具 | 用途 |
|---|---|
index_repository | 全量索引仓库(支持 full / moderate / fast 三档) |
search_graph | 关键词、正则、语义三种模式搜索代码符号 |
trace_path | 追踪调用链:谁调用了它、它又调用了谁 |
get_code_snippet | 直接读取某个函数/类的源码 |
query_graph | 用 Cypher 写复杂查询,比如找循环复杂度超标的热点函数 |
get_architecture | 一键生成架构总览(Leiden 社区检测自动划分模块) |
detect_changes | 对比分支/时间点,检测代码变更与影响面 |
manage_adr | 把架构洞察沉淀为 Architecture Decision Record |
举两个有意思的能力:
- 热点路径分析:图谱会给每个函数标注
transitive_loop_depth(传递循环深度)、linear_scan_in_loop(循环内的线性扫描次数)等复杂度属性,一条 Cypher 就能找出潜在的 O(n²) 隐患。 - 跨仓库追踪:通过 HTTP 路由节点匹配,可以识别服务间的调用关系。
以本仓库(zhimalab,Astro 静态站)为例,索引结果:13,408 个节点、48,074 条边,之后所有代码检索都走图而非裸 grep。
2. godot-mcp:用 AI 直接操作游戏引擎
Godot 是开源游戏引擎,godot-mcp 把编辑器能力暴露成了 100+ 个工具,几乎覆盖游戏开发全流程:
- 场景:
create_scene/add_node/clone_node/edit_scene批量操作 - 脚本:
create_script/write_script/validate_script,甚至editor_run_gdscript直接在编辑器上下文执行代码 - 渲染:
create_shader/write_shader/ VisualShader 可视化节点图编辑 - 动画与物理:动画轨道与关键帧、碰撞体、物理材质、关节、车辆
- 运行与验证:
editor_play/run_project/capture_screenshot/export_project/validate_project
这意味着 AI 可以「搭场景 → 写脚本 → 跑起来 → 截图检查 → 修 bug」形成闭环,而不只是生成一堆让你手动粘贴的代码。
3. playwright:给 AI 一双能看能点的浏览器
Playwright 是著名的浏览器自动化框架,作为 MCP 后模型可以直接操作真实浏览器:
- 交互:
browser_navigate/click/type/fill_form/select_option/drag - 观察:
browser_snapshot(无障碍树快照,比截图更适合让 AI「看懂」页面)、browser_take_screenshot - 诊断:
browser_network_requests抓接口请求、browser_console_messages看控制台报错 - 进阶:
browser_run_code_unsafe执行任意 Playwright 代码片段
典型场景:写完一个页面后,让 AI 自己打开浏览器访问、点击、截图核对样式,比人肉验证快得多。
4. local_rag:本地运行的私人知识库
local_rag 是一个完全本地化的 RAG(检索增强生成)服务:
ingest_file:摄入 PDF / DOCX / TXT / Markdowningest_data:摄入网页抓取文本、剪贴板等内存内容query_documents:混合检索(关键词 + 语义向量)read_chunk_neighbors:查看命中断落前后文sync_start:与磁盘对账,增量摄入、自动清理已删除文件
最大的价值是隐私:文档不出本机,适合放产品文档、个人笔记、论文 PDF 等敏感资料。
5. node_repl:一个常驻的 Node 执行环境
node_repl 提供一个持久化的 Node.js 内核,好处是状态跨调用保留:
- 跑任意 JavaScript(支持顶层 await)
- 动态
importnpm 包(配合js_add_node_module_dir添加模块搜索路径) - 常驻变量和绑定,多次调用间可复用
- 还能直接和 Playwright 等库联动
适合数据处理、脚本验证、算法推演等「需要真正执行」的场景。
6. chart_mcp:一句话出图
generate_chart 内部用 Python(matplotlib / seaborn / pyecharts)渲染图表,输出 PNG / SVG / 交互式 HTML,list_charts 管理历史产物。写技术博客配数据图时非常好用。
7. imagemagick_mcp:图像处理工具箱
基于 ImageMagick 的封装:
magick_convert:格式转换、缩放、压缩、灰度magick_filter:模糊、锐化、素描、油画、去色等滤镜magick_info:读取格式、尺寸、色彩空间、位深等元数据
8. multi_agent:让多个 AI 并行干活
除了单机工具,我的环境还支持多智能体编排:spawn_agent 派生子代理、send_input 派发任务、wait_agent 等待结果。适合把「资料调研」「代码实现」「测试验证」拆成互不依赖的并行任务。
四、Skills:另一层「技能包」
与 MCP 服务器并列的还有一套 Skills(技能包) 机制——把「怎么做一件事」的完整流程写成可复用的指令文档:
| 技能 | 用途 |
|---|---|
imagegen | AI 生成/编辑位图图像 |
archify | 一键生成架构图 / 时序图 / 流程图(HTML+SVG,可导出) |
openai-docs | 检索 OpenAI 官方文档 |
plugin-creator / skill-creator / skill-installer | 创建、安装、管理 Codex 插件与技能 |
browser:control-in-app-browser | 控制应用内浏览器 |
template-creator | 把参考文档变成可复用模板 |
简单理解:MCP 管「手」(能调用什么工具),Skill 管「脑」(知道该怎么做)。
五、组合出来的工作流
单个工具是点,组合起来才是面。分享几个我实际在用的组合拳:
工作流 1:快速理解一个陌生仓库
index_repository → search_graph 找入口符号
→ trace_path 追踪调用链
→ get_code_snippet 读关键实现
→ get_architecture 看整体架构
工作流 2:写技术博客配数据图
chart_mcp 生成数据图(PNG/SVG)
→ imagemagick 压缩 / 裁剪 / 加水印
→ Playwright 截图验证页面排版
工作流 3:AI 辅助游戏开发
godot-mcp 建场景 + 写脚本
→ editor_play 运行
→ capture_screenshot 截图检查
→ validate_project 校验引用完整性
工作流 4:私有文档问答
local_rag 摄入 PDF / 网页
→ query_documents 检索答案(数据不出本机)
工作流 5:网页功能验证
Playwright 打开页面 → 快照理解结构 → 点击/填表
→ network_requests 抓接口 → console 查报错 → 截图留档
六、一些心得与提醒
-
工具是给人用的,命名有规律。MCP 工具通常以
mcp__服务器名__工具名暴露,看到名字就知道来自哪个服务器。 -
权限意识。浏览器自动化、文件写入、媒体权限这类工具,使用时要确认作用范围,尤其是「任意代码执行」级别的能力(如
browser_run_code_unsafe)。 -
本地优先。local_rag、codebase-memory 这类服务在本地运行,数据不离开你的机器,敏感项目可以放心用。
-
组合比单点重要。单个 MCP 服务器只是能力单元,真正提效的是把它们编排进工作流——这也是我在本文最后想强调的:AI 编程的下半场,拼的不是模型,而是模型周围那圈工具生态。
结语
MCP 把「AI 只能聊天」变成了「AI 能干活」。从代码图谱到游戏引擎,从浏览器到本地知识库,这套生态正在快速成熟。如果你还没试过,建议从一两个高频场景切入:代码理解装一个知识图谱类服务器,网页验证装一个 Playwright——体验过「AI 自己打开浏览器检查页面」的那一刻,你就回不去了。