📌 新手提示:本文的"用 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)运行。也可以下载现成文件:
- 下载
install-mcp-ecosystem.sh(macOS / Linux / WSL):https://cleanresolver.com/scripts/install-mcp-ecosystem.sh - 下载
install-mcp-ecosystem.ps1(Windows):https://cleanresolver.com/scripts/install-mcp-ecosystem.ps1
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 "============================================"
请完成验证后查看评论区