
本机参考全局 MCP server 2 个obsidian / unity-mcp项目级 MCP server 2 个obsidian-hybrid-search / chrome-devtools另有 codegraph MCP 常驻。配置结构照实API key 与内网地址已脱敏。1. MCP 是什么MCPModel Context Protocol 外部工具的标准接入协议。它让 CC 能调用任意外部能力——读数据库、查文档、控制浏览器、操作 Unity 编辑器……而不需要 Anthropic 内置。类比CC 是大脑MCP 是给大脑接的感官和手脚一个 MCPserver 一组工具的集合暴露给 CC 调用CC 通过 MCP 调用工具时工具名形如mcp__server名__工具名比如mcp__obsidian__search_notes。2. 工作原理2.1 架构┌────────────┐ MCP 协议 ┌──────────────┐ HTTP/WS ┌──────────┐ │ Claude Code│◄───────────►│ MCP server │◄────────────►│ 外部能力 │ │ (客户端) │ stdio/SSE │ (工具集合) │ │ (服务) │ └────────────┘ └──────────────┘ └──────────┘两种传输方式方式说明典型场景stdioserver 是本地进程通过标准输入输出通信本地 CLI 工具uvx/npx 起的 serverSSE / HTTPserver 是远程 HTTP 服务远程服务、局域网服务本机用的都是 stdio 本地进程。2.2 配置位置位置文件生效范围全局~/.claude/settings.json的mcpServers所有项目项目级项目/.claude/settings.json的mcpServers该项目CLI 管理claude mcp add / list / remove等价于改配置文件经验全局只放所有项目都要用的如 obsidian、unity-mcp项目专用放项目级如 chrome-devtools、obsidian-hybrid-search 只在 vault 目录用。配两处是冗余的一处即可。3. 本机 MCP 配置案例3.1 obsidian —— 读写知识库mcpServers:{obsidian:{command:uvx,args:[mcp-obsidian],env:{OBSIDIAN_API_KEY:****// 脱敏}}}依赖Obsidian 桌面端 obsidian-local-rest-api插件在本机 127.0.0.1 起 HTTPS 服务提供工具read_file/search/patch_file/list_files等坑Obsidian 没开就报连接拒绝uvx来自uvbrew install uv3.2 obsidian-hybrid-search —— 语义检索obsidian-hybrid-search:{command:npx,args:[-y,-p,obsidian-hybrid-search0.13.24,obsidian-hybrid-search-mcp],env:{OBSIDIAN_VAULT_PATH:/Users/xxx/.../knowledge_base,OBSIDIAN_PREFIX:kb_,OBSIDIAN_IGNORE_PATTERNS:.obsidian/**,90-Templates/**,*.canvas,*.base,OPENAI_BASE_URL:http://127.0.0.1:11434/v1,OPENAI_EMBEDDING_MODEL:bge-m3}}能力BM25 关键词 向量语义 双路混合检索RRF 融合比纯关键词搜召回更准关键配置embedding 走本地 ollama127.0.0.1:11434模型bge-m3——因为 HuggingFace 被墙自动下模型的方案必失败坑中文查询不能走 fulltext混合检索默认适合中文3.3 chrome-devtools —— 联网搜索chrome-devtools:{command:npx,args:[-y,chrome-devtools-mcplatest,--wsEndpoint,ws://127.0.0.1:9222/devtools/browser/****]}能力控制本机 Chrome导航/抓取页面/执行 JS是 CC 的联网眼睛为什么需要本机 CC 走自定义后端WebSearch内置工具实际不可用 → 靠它控制真实浏览器搜索最新资料前置Chrome 需以--remote-debugging-port9222启动3.4 unity-mcp —— 操控 Unity 编辑器unity-mcp:{command:/Users/xxx/.../relay_mac_arm64,args:[--mcp,--instance-id,****]}能力双层桥接让 AI 操控 Unity 编辑器——创建对象 / 写脚本 / 读 Console / 跑测试配合unity-mcp-skill案例Unity 游戏自动化开发预研、AI 生成 Spine 动画预研3.5 codegraph —— 代码图谱能力SQLite 代码知识图谱符号/调用关系/文件树亚毫秒查询CC 改代码前先查图谱给外科手术式上下文定位确定性索引零 token 成本、100% 本地减少 grep/Read 调用4. 如何配置一个新 MCP4.1 找现成 server官方 marketplace/mcp菜单浏览GitHub 搜xxx-mcp如mcp-obsidian、chrome-devtools-mcp大部分本地 server 用npx -y 包名或uvx 包名直接起4.2 配置模板mcpServers:{我的工具:{command:npx,args:[-y,包名,参数],env:{KEY:value}}}4.3 验证重启 CC 会话/mcp查看 server 连接状态绿色OK红色失败直接调mcp__名字__*工具确认返回正常4.4 写一个自定义 MCP server如果现成的没有可以自己写。最小结构Python用官方 SDKmy-mcp/ ├── server.py # 实现工具 └── requirements.txt# server.py —— 极简示例frommcp.server.fastmcpimportFastMCP mcpFastMCP(my-mcp)mcp.tool()defhello(name:str)-str:向调用者打招呼。returnfHello,{name}!if__name____main__:mcp.run()配置command: pythonargs: [server.py]。重启会话后即可mcp__my-mcp__hello。5. 最佳实践与坑主题建议超时远程 MCP 调用挂起会中止MCP_TOOL_TIMEOUT调大本机 30000鉴权API key 走env注入别写死在命令参数里key 别进 git密钥脱敏settings.json 可能被同步备份key 一律打码处理server 生命周期本地 stdio server 随会话起停Obsidian 依赖桌面进程Obsidian 关了工具就挂能用本地不联网embedding / 索引类优先本地ollama避免外网依赖与数据外泄工具命名server 名要见名知意工具多了才好找6. 与其它扩展点的关系MCP 是手skill 是脑——skill 正文里调用 MCP 工具组合成工作流kb-lookup 调 obsidian MCP 就是范例Hooks 可拦截 MCP 调用做安全审计配置在 settings.json与权限/插件同一文件