MCP 让 Claude Code 能连接外部资源:文件系统、数据库、API等
📌 章节说明
前置知识:已完成必修课程,熟悉 Claude Code 基本操作。
本章价值:MCP(Model Context Protocol)是 Claude 的扩展协议,让它能连接数据库、API、文件系统等外部资源。
什么是 MCP?
MCP = Model Context Protocol(模型上下文协议)
没有 MCP 的 Claude Code:
┌─────────────────────────────────┐
│ Claude Code │
│ │
│ 只能访问当前工作区的文件 │
└─────────────────────────────────┘
有了 MCP 的 Claude Code:
┌─────────────────────────────────────────────────┐
│ Claude Code │
├─────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ MCP │ │ MCP │ │ MCP │ │
│ │ Server 1 │ │ Server 2 │ │ Server 3 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ↓ ↓ ↓ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 文件系统 │ │ 数据库 │ │ API │ │
│ │ 任意路径 │ │ PostgreSQL│ │ 搜索 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└─────────────────────────────────────────────────┘
MCP 能做什么?
| 功能 | 说明 | 实用度 |
|---|---|---|
| 文件系统访问 | 访问任意位置的文件 | ⭐⭐⭐ |
| 数据库查询 | 直接查询数据库 | ⭐⭐⭐ |
| 网页搜索 | 获取最新信息 | ⭐⭐ |
| API 调用 | 调用外部服务 | ⭐⭐ |
| Git 操作 | 增强的 Git 功能 | ⭐⭐ |
配置 MCP 服务器
配置文件位置
MCP 配置文件位于:
bash
~/.claude/mcp-servers.json
Windows 用户路径:
bash
C:\Users\你的用户名\.claude\mcp-servers.json
配置文件格式
json
{
"mcpServers": {
"服务器名称": {
"command": "启动命令",
"args": ["参数1", "参数2"],
"env": {
"环境变量名": "环境变量值"
}
}
}
}
常用 MCP 服务器
1. 文件系统 MCP
允许 Claude Code 访问任意位置的文件。
json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "E:\\我的文件"]
}
}
}
2. Git MCP
增强的 Git 操作功能。
json
{
"mcpServers": {
"git": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "."]
}
}
}
3. PostgreSQL 数据库 MCP
直接查询 PostgreSQL 数据库。
json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://用户名:密码@localhost:5432/数据库名"]
}
}
}
4. Fetch MCP(获取网页内容)
json
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
}
}
}
使用 MCP
基本用法
配置好 MCP 后,在 Claude Code 中直接告诉 Claude 使用哪个 MCP:
用 Git MCP 查看最近的提交历史
用文件系统 MCP 读取 ~/projects/api/config.yaml
用搜索 MCP 搜索 "Claude Code 教程"
常用 MCP 服务器清单
| MCP 名称 | 用途 | 安装命令 | 需要配置 |
|---|---|---|---|
| filesystem | 访问任意文件系统 | @modelcontextprotocol/server-filesystem |
路径 |
| git | 增强 Git 操作 | @modelcontextprotocol/server-git |
仓库路径 |
| postgres | PostgreSQL 数据库 | @modelcontextprotocol/server-postgres |
连接字符串 |
| brave-search | 网页搜索 | @modelcontextprotocol/server-brave-search |
API Key |
| fetch | 获取网页内容 | @modelcontextprotocol/server-fetch |
无 |
| sqlite | SQLite 数据库 | @modelcontextprotocol/server-sqlite |
数据库文件 |
本章自检(3分钟)
点开问题查看答案,能讲清楚就算掌握。
MCP 是什么?解决了什么问题?
MCP 是扩展协议,让 Claude Code 能连接外部工具/资源(文件系统、Git、数据库、网页获取/搜索等),从“只会聊天”变成“能做事”。
为什么 MCP 相关配置要特别注意安全?
因为它可能让模型访问你的文件/网络/数据库;权限开太大可能造成泄露或误操作,应最小权限原则。
遇到 MCP 安装/启动失败,你第一步会做什么?
先看报错原文,确认依赖(Node/npm)正常;再用“按症状”排查页定位问题。
如何判断一个 MCP 工具有必要接入?
看是否能减少重复劳动且风险可控:例如 Git/本目录文件系统较常用;数据库/全盘访问则谨慎。