第7集:内部 MCP vs 外部 MCP
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
在 Claude Code 中,MCP Server 分为两大类:随插件打包安装的“内部 MCP”和用户自行配置连接的“外部 MCP”。
核心对比
| 维度 | 内部 MCP | 外部 MCP |
|---|---|---|
| 来源 | 随 Plugin 打包提供 | 独立服务或第三方包 |
| 安装 | 插件安装时自动就绪 | 手动修改 settings.json 配置 |
| 进程 | 插件生命周期管理 | 用户手动启动或配置自动启动 |
| 典型代表 | claude-mem 搜索服务 |
MySQL, PostgreSQL, GitHub |
内部 MCP 实例:claude-mem
claude-mem 是一个全功能插件,它自带一个基于 Bun 运行的 MCP Server。当你安装插件后,系统会自动读取其 .mcp.json 并启动名为 mcp-search 的服务。
架构图:
graph TB
subgraph claude-mem Plugin
P1[plugin.json]
P2[.mcp.json]
P3[mcp-server.cjs]
end
Claude -->|mcp__plugin_claude-mem_mcp-search| P3
P3 --> D[(本地记忆数据库)]外部 MCP 实例:MySQL
外部 MCP 通常用于连接已有的基础架构。
为什么放在 settings.local.json?
- 敏感信息:数据库密码不应提交到 Git 仓库。
- 环境差异:每个开发者的数据库地址和账号可能不同。
- 安全隔离:本地调试配置不影响全局。
使用流程
sequenceDiagram
participant User
participant Claude
participant MCP as MySQL MCP
participant DB
User->>Claude: 查询最近注册的用户
Claude->>MCP: query("SELECT * FROM users...")
MCP->>DB: 执行 SQL
DB-->>MCP: 返回行数据
MCP-->>Claude: JSON 格式结果
Claude-->>User: 自然语言呈现结果