第7集:内部 MCP vs 外部 MCP

⏱ 预计阅读 3 分钟 更新于 2026/5/7
💡 进群学习加 wx: 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

  1. 敏感信息:数据库密码不应提交到 Git 仓库。
  2. 环境差异:每个开发者的数据库地址和账号可能不同。
  3. 安全隔离:本地调试配置不影响全局。

使用流程

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: 自然语言呈现结果