MCP Server
约 428 字大约 1 分钟
2026-03-20
什么是 MCP
MCP(Model Context Protocol)是一个开放协议,用于标准化 AI 应用与外部数据源、工具之间的连接。Claude Code 通过 MCP Server 扩展自身能力,接入数据库、API、文件系统等外部服务。
配置 MCP Server
在 settings.json 中配置:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-name"],
"env": {
"API_KEY": "your-key"
}
}
}
}也可以通过命令行添加:
claude mcp add server-name -- npx -y @anthropic-ai/mcp-server-name常用 MCP Server
文件系统
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-filesystem", "/path/to/dir"]
}
}
}GitHub
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxx"
}
}
}
}PostgreSQL
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-postgres", "postgresql://user:pass@localhost/db"]
}
}
}Puppeteer(浏览器控制)
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-puppeteer"]
}
}
}MCP Server 管理命令
# 列出已配置的 MCP Server
claude mcp list
# 添加 MCP Server
claude mcp add <name> -- <command> [args...]
# 删除 MCP Server
claude mcp remove <name>
# 添加到项目级配置
claude mcp add --scope project <name> -- <command> [args...]配置作用域
| 作用域 | 配置文件位置 | 说明 |
|---|---|---|
| 用户级 | ~/.claude/settings.json | 所有项目共享 |
| 项目级 | .claude/settings.json | 仅当前项目 |
| 本地级 | .claude/settings.local.json | 仅本地,不提交 Git |
自定义 MCP Server
可以使用 MCP SDK 开发自己的 Server:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new McpServer({
name: "my-server",
version: "1.0.0",
});
// 注册工具
server.tool("query-data", { query: z.string() }, async ({ query }) => {
const result = await db.query(query);
return { content: [{ type: "text", text: JSON.stringify(result) }] };
});
// 启动
const transport = new StdioServerTransport();
await server.connect(transport);注意事项
- MCP Server 作为独立进程运行,通过 stdio 与 Claude Code 通信
- 配置中的环境变量不会泄露给其他 Server
- 建议将包含敏感信息(API Key 等)的配置放在
settings.local.json中 - 使用
claude mcp list验证 Server 是否正常连接
