📌 新手提示:本文的"用 MCP",面向想快速给 AI 接上文件系统、Git 仓库、数据库等能力的读者(不是教写 MCP 服务端——那是本站《MCP Server 开发实战》的内容)。所有命令复制粘贴即可。

前言

你有没有遇过这样的尴尬:AI 编程助手写得飞起,但让它"看一下我桌面上那个 Excel"或者"把这个仓库的历史提交统计出来",它只会说**“我无法访问你的文件”**。

MCP(Model Context Protocol,模型上下文协议)就是来解决这个问题的——它是 Anthropic 于 2024 年末提出的开放标准,官方定位是:

AI 应用的"USB-C 接口"——就像 USB-C 统一了充电口一样,MCP 统一了"AI 连接外部世界的接口"。AI 应用通过 MCP 可以接入数据源(本地文件、数据库)、工具(搜索、计算器)和工作流。

一句话版本:装一个 MCP 服务器,你的 AI 就能用上那个工具;同一个服务器,Claude、ChatGPT、VS Code、Cursor 等所有支持 MCP 的客户端都能用——“一次接入,到处使用”。

本文从零开始,带你 10 分钟把最常用的几类 MCP 服务器接进 Claude Code。

官方文档:https://modelcontextprotocol.io(海外站点,国内访问需科学上网);官方参考服务器仓库:https://github.com/modelcontextprotocol/servers

一、MCP 的骨架:host / client / server

三个角色,用"点外卖"理解:

角色是什么比喻
Host(宿主)你正在用的 AI 应用(如 Claude Code、Claude 桌面版、VS Code)点餐的食客
Client(客户端)宿主内部负责与服务器通信的组件外卖 App
Server(服务器)暴露"工具/数据"给 AI 用的小服务(如"文件系统服务器"暴露读写文件的工具)后厨

你的 AI = 食客,MCP 服务器 = 后厨。食客想吃什么(要用什么工具),后厨现做(执行操作)再端上来(把结果喂回 AI 的上下文)。

生态支持情况(官方列出):Claude 家族、ChatGPT(OpenAI)、VS Code 的 Copilot Chat、Cursor、MCPJam 等主流 AI 客户端全部支持 MCP

二、官方有哪些现成服务器?直接抄作业

官方 modelcontextprotocol/servers 仓库维护了一组参考实现,目前现役 7 个,宝刀未老的还有一批已归档但常用(GitHub、SQLite、PostgreSQL 等)。最常用的几个:

服务器一句话用途你的场景
Filesystem安全地读写你指定的文件夹让 AI 读你的文档、配置文件、项目资料
Git读取/搜索/操作 Git 仓库让 AI 分析提交历史、看 diff、找 blame
Memory基于知识图谱的持久化记忆让 AI 跨会话记住关键信息
Fetch抓取并转换网页内容让 AI 读网页做总结
Time时间与时区换算让 AI 知道"现在几点、东京几点了"
Sequential Thinking有序思维过程的问题求解复杂推理任务
Everything展示提示/资源/工具的参考测试服务器想了解 MCP 能力时试玩

GitHub、SQLite、PostgreSQL、Slack、Google Drive、Brave Search 等更多官方服务器已迁移至 modelcontextprotocol/servers-archived 仓库(不再随版本迭代,但代码仍可用)——想要"GitHub 仓库分析"或"连本地数据库"找它们就行。

三、装一个试试(两种运行方式)

MCP 服务器是独立的命令行程序,用包管理器一行装上。有两种风格:

TypeScript 系(用 npx)——npx 是 Node.js 自带的命令执行器,免安装直接跑:

npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/files

这条命令启动了"文件系统服务器",并把访问范围限定在 /path/to/allowed/files 目录(这是安全设计:AI 只能碰你指定的目录)。

Python 系(用 uvx 或 pip)——uvx 是 Python 生态的命令执行器:

uvx mcp-server-git
# 或传统方式:
pip install mcp-server-git
python -m mcp_server_git

没装 Node.js?国内下载建议用 npmmirror 镜像(https://npmmirror.com/mirrors/node/)。没查过 uv?uv 是新一代 Python 工具,装一次就带 uvx(官方安装:https://docs.astral.sh/uv)。

四、接进 Claude Code(核心,两条命令)

Claude Code 提供了 claude mcp add 命令,把服务器注册进你的会话/项目。下面是官方 README 的完整示例(直接用):

# 记忆服务器(跨会话记忆)
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

# 文件系统服务器(AI 可读写你指定的目录)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/files

# Git 仓库服务器
claude mcp add git -- uvx mcp-server-git --repository path/to/git/repo

# GitHub 服务器(需 GitHub Personal Access Token)
claude mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=YOUR_TOKEN -- npx -y @modelcontextprotocol/server-github

# PostgreSQL 数据库
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydb

跑完 claude mcp list 能看到已注册的服务器。然后在 Claude Code 里直接说需求:

帮我看看 ./data 目录里有哪些文件
用 git 服务器分析这个仓库最近 30 天的提交

AI 会自己决定"什么时候调用哪个工具"——这就是 MCP 魔力:你不再需要把内容复制粘贴给 AI,AI 自己动手取

⚠️ Windows 注意:npx 类命令在 Windows 原生 PowerShell 下要用 cmd /c 包装,注册命令写成:

claude mcp add memory -- cmd /c npx -y @modelcontextprotocol/server-memory

五、它怎么知道用哪个工具?(一分钟原理)

每次会话时,客户端把"已注册服务器的工具清单"告诉模型(这些工具就像新学的函数签名)。模型在思考时会"调用工具":先发起调用 → 服务器执行后把结果返回 → 模型基于结果继续回答。决定权在模型手里,服务器只负责"能干什么、干完返回"。

所以你的工作只有两件:装服务器 + 注册进客户端。剩下的交给 AI。

六、三套常见组合拳

组合 1:文档资料库(Filesystem + Fetch) 让 AI 读管理你目录里的 PDF/TXT/网页,适合"AI 帮你整理资料、写周报"。

组合 2:代码库分析(Git + Filesystem) 让 AI 翻提交历史、对比分支、找"谁改过这段代码",适合团队代码 review。

组合 3:跨会话记忆(Memory) AI 自己把项目上下文写进知识图谱,下次会话还记得,适合长期项目。

七、常见问题速查

问题解决
claude mcp list 是空的确认注册命令执行时 claude 可用;或先 claude mcp add ... 后再 claude mcp list
服务器启动失败先手动跑那条 npx/uvx 命令看报错;常见是 Node 版本太低(装 LTS)或目录不存在
AI 说"没有这个工具"重新打开会话让服务器重新加载;或检查 claude mcp list 里状态是不是 ✓
担心安全服务器(尤其 Filesystem)默认只给你指定的路径;别把整个盘符放进去
国内 npx 下载慢npm 换 npmmirror 镜像:npm config set registry https://registry.npmmirror.com

八、模型端怎么配?

MCP 解决的是"工具的连接",而模型的调用是另一件事:Claude Code 每轮对话仍要消耗 Claude API。国内常用的组合是接 Anthropic 兼容的中转站——Anthropic 兼容格式原生支持 Claude Code,一把 Key 解决全部模型的调用(云间 API 中转站 https://cloudzone-api.cyou/ 就提供这种格式,CC MAX 套餐低至官方 0.5 倍,香港节点国内直连)。配 MCP 工具、配模型接入,两件事加起来 15 分钟,你的 Claude Code 就"有手有脑"了。

尾声

MCP 已经成了 AI 应用的事实标准——它把"AI 能力的边界"从"会聊天"扩展到了"能干活"。你今天学会的 claude mcp add 一条命令,背后是几百个社区服务器的生态:想做什么先搜 mcp servers 汇总,大概率有现成的。

后续进阶路线:读官方文档学习客户端配置 JSON 的完整格式(https://modelcontextprotocol.io/docs);想自己写 MCP 服务器给团队用,看《MCP Server 开发实战》;想让 Claude Code 模型调用更省心,用云间 API(https://cloudzone-api.cyou/)把 Anthropic 兼容端点配好,一次配置长期爽。


附:一键配置脚本

不方便下载的同学可以直接复制下方完整源码,新建文本文档粘贴后改后缀为 .sh(macOS/Linux/WSL)或 .ps1(Windows)运行。也可以下载现成文件:

macOS / Linux / WSL(.sh)

#!/usr/bin/env bash
set -u
# ============================================================
#  MCP 生态使用大全 一键脚本(macOS / Linux / WSL)
#  公开源码,欢迎审查 —— 不放心可先复制给 AI 判断
#  功能:检查依赖 + 把最常用的 MCP 服务器注册进 Claude Code
#  模型端默认建议:云间 API 中转站(https://cloudzone-api.cyou/)
# ============================================================

GREEN='\033[0;32m'; YELLOW='\033[1;33m'; RED='\033[0;31m'; CYAN='\033[0;36m'; NC='\033[0m'
info()  { echo -e "${GREEN}[INFO]${NC} $1"; }
warn()  { echo -e "${YELLOW}[WARN]${NC} $1"; }
error() { echo -e "${RED}[ERROR]${NC} $1"; }
step()  { echo -e "${CYAN}[STEP]${NC} $1"; }

CLOUDZONE_URL="https://cloudzone-api.cyou"

detect_network() {
  step "检测网络环境(国内 / 国外)..."
  if curl -fsI --max-time 5 "https://claude.ai" >/dev/null 2>&1; then
    info "可直连 claude.ai,判定为海外网络"
    echo "overseas"
  else
    warn "无法直连 claude.ai,判定为国内网络环境(将自动切换国内镜像)"
    echo "domestic"
  fi
}

check_env() {
  step "检查运行环境(node / npx / claude)..."
  local ok=1
  if ! command -v node >/dev/null 2>&1; then
    warn "未找到 node.js——MCP 服务器大多靠它运行。"
    echo "  国内安装:https://npmmirror.com/mirrors/node/ 下载 LTS;海外:https://nodejs.org/"
    ok=0
  else
    info "node: $(node --version 2>&1)"
  fi
  if ! command -v npx >/dev/null 2>&1; then
    warn "未找到 npx(通常随 node 自带,检查 PATH)。"
    ok=0
  fi
  if ! command -v claude >/dev/null 2>&1; then
    warn "未找到 claude 命令——注册的 MCP 服务器要等安装 Claude Code 后才生效。"
    echo "  安装见本站《Claude Code 快速上手教程》或 https://code.claude.com/docs/en/start"
    ok=0
  else
    info "claude: $(claude --version 2>&1 | head -1)"
  fi
  [ "$ok" = "1" ] && step "环境就绪" || warn "环境不全(见上),脚本仍会尝试注册,失败项可在补装后重跑。"
  return 0
}

register_servers() {
  if ! command -v claude >/dev/null 2>&1; then
    warn "跳过注册(无 claude 命令)。安装 Claude Code 后手动执行:"
    echo "  claude mcp add memory -- npx -y @modelcontextprotocol/server-memory"
    echo "  claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem <你的目录>"
    return 0
  fi

  step "注册 MCP 服务器到 Claude Code..."

  # 1. Memory
  if claude mcp add memory -- npx -y @modelcontextprotocol/server-memory 2>&1 | grep -qi "error\|fail"; then
    warn "memory 注册失败,可稍后手动:claude mcp add memory -- npx -y @modelcontextprotocol/server-memory"
  else
    info "memory 服务器已注册(跨会话记忆)"
  fi

  # 2. Fetch(抓网页)
  if claude mcp add fetch -- npx -y @modelcontextprotocol/server-fetch 2>&1 | grep -qi "error\|fail"; then
    warn "fetch 注册失败,可稍后手动:claude mcp add fetch -- npx -y @modelcontextprotocol/server-fetch"
  else
    info "fetch 服务器已注册(网页抓取)"
  fi

  # 3. Time(时间)
  if claude mcp add time -- npx -y @modelcontextprotocol/server-time 2>&1 | grep -qi "error\|fail"; then
    warn "time 注册失败,可稍后手动:claude mcp add time -- npx -y @modelcontextprotocol/server-time"
  else
    info "time 服务器已注册(时间与时区)"
  fi

  # 4. Filesystem(需要目录参数,询问用户)
  echo ""
  read -r -p "是否注册文件系统服务器?输入一个允许 AI 访问的目录(留空跳过): " fs_dir
  if [ -n "${fs_dir:-}" ]; then
    if [ -d "$fs_dir" ]; then
      if claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem "$fs_dir" 2>&1 | grep -qi "error\|fail"; then
        warn "filesystem 注册失败,可稍后手动:claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem $fs_dir"
      else
        info "filesystem 服务器已注册(只允许访问 $fs_dir,安全)"
      fi
    else
      warn "目录不存在,跳过 filesystem 注册。"
    fi
  fi

  step "当前已注册列表:"
  claude mcp list 2>&1 | head -20 || warn "claude mcp list 执行失败"
}

main() {
  echo "============================================"
  echo "  MCP 生态使用大全 一键脚本"
  echo "  适用于 macOS / Linux / WSL"
  echo "============================================"
  echo ""

  local NET
  NET=$(detect_network)

  # 国内 npm 镜像(加速 npx 下载)
  if [ "$NET" = "domestic" ] && command -v npm >/dev/null 2>&1; then
    if ! npm config get registry 2>/dev/null | grep -q npmmirror; then
      warn "设置 npm 为国内镜像(npmmirror)加速 MCP 服务器下载..."
      npm config set registry https://registry.npmmirror.com && info "已设置(改回官方:npm config set registry https://registry.npmjs.org)"
    fi
  fi

  check_env
  register_servers

  echo ""
  echo "============================================"
  info "全部完成!"
  echo "  在 Claude Code 里直接说需求即可体验:如'看看 memory 服务器能干什么'"
  echo "  更多服务器与命令见文章正文第七节速查表"
  echo "  模型端(Claude API)配置:${CLOUDZONE_URL}(Anthropic 兼容,CC MAX 0.5 倍起)"
  echo "============================================"
}

main "$@"

Windows(.ps1)

Windows 运行 .ps1 若提示执行策略限制:打开 PowerShell 输入 Set-ExecutionPolicy -Scope Process Bypass 后回车,再运行脚本。-Scope Process 仅对当前窗口生效,关掉即恢复,不会改动系统全局策略(系统默认限制来自安全设计,不要为了省事永久 Bypass)。

# ============================================================
#  MCP 生态使用大全 一键脚本(Windows PowerShell)
#  公开源码,欢迎审查 -- 不放心可先复制给 AI 判断
#  功能:检查依赖 + 把最常用的 MCP 服务器注册进 Claude Code
#  模型端默认建议:云间 API 中转站(https://cloudzone-api.cyou/)
# ============================================================
$ErrorActionPreference = "Stop"

function Write-Info  { Write-Host "[INFO] $args" -ForegroundColor Green }
function Write-Warn  { Write-Host "[WARN] $args" -ForegroundColor Yellow }
function Write-Err   { Write-Host "[ERROR] $args" -ForegroundColor Red }
function Write-Step  { Write-Host "[STEP] $args" -ForegroundColor Cyan }

$CLOUDZONE_URL = "https://cloudzone-api.cyou"

function Detect-Network {
    Write-Step "检测网络环境(国内 / 国外)..."
    try {
        $null = Invoke-WebRequest -Uri "https://claude.ai" -Method Head -TimeoutSec 5 -UseBasicParsing
        Write-Info "可直连 claude.ai,判定为海外网络"
        return "overseas"
    } catch {
        Write-Warn "无法直连 claude.ai,判定为国内网络环境(将自动切换国内镜像)"
        return "domestic"
    }
}

function Check-Env {
    Write-Step "检查运行环境(node / claude)..."
    if (-not (Get-Command node -ErrorAction SilentlyContinue)) {
        Write-Warn "未找到 node.js——MCP 服务器大多靠它运行。请到 https://nodejs.org/ 或 https://npmmirror.com/mirrors/node/ 下载 LTS 安装后重跑。"
    } else {
        Write-Info "node: $(node --version 2>&1)"
    }
    if (-not (Get-Command claude -ErrorAction SilentlyContinue)) {
        Write-Warn "未找到 claude 命令——注册的 MCP 服务器要等安装 Claude Code 后才生效。"
    } else {
        try { Write-Info "claude: $(claude --version 2>&1 | Select-Object -First 1)" } catch { }
    }
}

function Register-Servers {
    if (-not (Get-Command claude -ErrorAction SilentlyContinue)) {
        Write-Warn "跳过注册(无 claude 命令)。安装 Claude Code 后手动执行:"
        Write-Host "  claude mcp add memory -- cmd /c npx -y @modelcontextprotocol/server-memory"
        return
    }

    Write-Step "注册 MCP 服务器到 Claude Code(Windows 下 npx 用 cmd /c 包装)..."

    try {
        claude mcp add memory -- cmd /c npx -y @modelcontextprotocol/server-memory 2>$null | Out-Null
        Write-Info "memory 服务器已注册(跨会话记忆)"
    } catch {
        Write-Warn "memory 注册失败,可稍后手动执行:claude mcp add memory -- cmd /c npx -y @modelcontextprotocol/server-memory"
    }
    try {
        claude mcp add fetch -- cmd /c npx -y @modelcontextprotocol/server-fetch 2>$null | Out-Null
        Write-Info "fetch 服务器已注册(网页抓取)"
    } catch {
        Write-Warn "fetch 注册失败,可稍后手动执行:claude mcp add fetch -- cmd /c npx -y @modelcontextprotocol/server-fetch"
    }
    try {
        claude mcp add time -- cmd /c npx -y @modelcontextprotocol/server-time 2>$null | Out-Null
        Write-Info "time 服务器已注册(时间与时区)"
    } catch {
        Write-Warn "time 注册失败,可稍后手动执行:claude mcp add time -- cmd /c npx -y @modelcontextprotocol/server-time"
    }

    Write-Host ""
    $fsDir = Read-Host "是否注册文件系统服务器?输入一个允许 AI 访问的目录(留空跳过)"
    if (-not [string]::IsNullOrWhiteSpace($fsDir)) {
        if (Test-Path $fsDir) {
            try {
                claude mcp add filesystem -- cmd /c npx -y @modelcontextprotocol/server-filesystem $fsDir 2>$null | Out-Null
                Write-Info "filesystem 服务器已注册(只允许访问 $fsDir,安全)"
            } catch {
                Write-Warn "filesystem 注册失败,可稍后手动执行:claude mcp add filesystem -- cmd /c npx -y @modelcontextprotocol/server-filesystem $fsDir"
            }
        } else {
            Write-Warn "目录不存在,跳过 filesystem 注册。"
        }
    }

    Write-Step "当前已注册列表:"
    claude mcp list 2>&1 | Select-Object -First 20
}

Write-Host "============================================"
Write-Host "  MCP 生态使用大全 一键脚本"
Write-Host "  适用于 Windows(PowerShell)"
Write-Host "============================================"
Write-Host ""

$net = Detect-Network

Check-Env
Register-Servers

Write-Host ""
Write-Host "============================================"
Write-Info "全部完成!"
Write-Host "  在 Claude Code 里直接说需求即可体验:如'看看 memory 服务器能干什么'"
Write-Host "  模型端(Claude API)配置:$CLOUDZONE_URL(Anthropic 兼容,CC MAX 0.5 倍起)"
Write-Host "============================================"