news 2026/4/23 9:40:22

Claude Code MCP Server 配置教程:用 MCP 协议扩展 AI 的能力边界

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Code MCP Server 配置教程:用 MCP 协议扩展 AI 的能力边界

MCP(Model Context Protocol)是 Anthropic 推出的开放协议,让 AI 工具能够连接外部数据源和服务。通过配置 MCP Server,你可以让 Claude Code 直接操作数据库、访问 GitHub、管理文件系统,甚至发送 Slack 消息。本文带你从原理到实战,全面掌握 MCP 配置。

一、什么是 MCP

MCP 的全称是 Model Context Protocol(模型上下文协议)。它定义了一套标准化的接口,让 AI 模型可以安全地访问外部工具和数据。

你可以把 MCP 理解为"AI 的 USB 接口"——只要设备(工具)遵循 MCP 标准,就可以即插即用地被 AI 调用。

MCP 的核心组件

  • MCP Server:提供工具和数据的服务端,暴露标准化的接口
  • MCP Client:AI 应用端(如 Claude Code),通过协议调用 Server 提供的功能
  • Tools:Server 暴露的可执行操作(如读写文件、查询数据库)
  • Resources:Server 提供的只读数据源(如文档、配置)
  • Prompts:Server 预定义的提示模板

MCP 的通信方式

传输方式说明适用场景
stdio通过标准输入输出通信本地工具,最常用
sseServer-Sent Events远程服务器
streamable-httpHTTP 流式传输云端部署

二、Claude Code 中配置 MCP Server

2.1 配置文件位置

Claude Code 支持三个层级的 MCP 配置:

  • 全局配置~/.claude/settings.json,所有项目共享
  • 项目配置.claude/settings.json,仅当前项目生效
  • 命令行:启动时通过claude --mcp-config指定

2.2 基本配置结构

{ "mcpServers": { "server-name": { "command": "执行命令", "args": ["参数列表"], "env": { "ENV_VAR": "环境变量" } } } }

2.3 使用 claude mcp 命令管理

# 添加 MCP Server claude mcp add filesystem -- npx -y @anthropic-ai/mcp-filesystem --dir /path/to/dir # 列出已配置的 MCP Servers claude mcp list # 删除 MCP Server claude mcp remove filesystem # 查看某个 Server 的详细配置 claude mcp get filesystem

三、常用 MCP Server 配置实战

3.1 文件系统 MCP Server

让 Claude Code 能够安全地读写指定目录中的文件。

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-filesystem", "--dir", "/home/user/projects", "--dir", "/home/user/documents" ] } } }

配置后,Claude Code 会获得read_filewrite_filelist_directory等工具,但只能操作指定目录。

3.2 数据库 MCP Server(PostgreSQL)

{ "mcpServers": { "postgres": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-postgres" ], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_DB": "myapp", "POSTGRES_USER": "dbuser", "POSTGRES_PASSWORD": "dbpassword" } } } }

配置后可以直接在对话中执行 SQL 查询:

# 在 Claude Code 中 > 查询最近 7 天的用户注册数量,按天统计 # Claude Code 会自动调用 postgres MCP Server 执行: # SELECT DATE(created_at) as date, COUNT(*) as count # FROM users # WHERE created_at >= NOW() - INTERVAL '7 days' # GROUP BY DATE(created_at) # ORDER BY date;

3.3 GitHub MCP Server

{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-github" ], "env": { "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx" } } } }

可用工具:创建 Issue、查看 PR、合并分支、搜索代码等。

3.4 Slack MCP Server

{ "mcpServers": { "slack": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-slack" ], "env": { "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx" } } } }

3.5 浏览器自动化 MCP Server(Puppeteer)

{ "mcpServers": { "puppeteer": { "command": "npx", "args": [ "-y", "@anthropic-ai/mcp-puppeteer" ] } } }

可以让 Claude Code 自动化浏览器操作:打开网页、截图、填表、点击等。非常适合 E2E 测试和网页数据抓取。

3.6 MySQL MCP Server

{ "mcpServers": { "mysql": { "command": "npx", "args": [ "-y", "mcp-mysql" ], "env": { "MYSQL_HOST": "127.0.0.1", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "yourpassword", "MYSQL_DATABASE": "myapp" } } } }

四、创建自定义 MCP Server

如果现有的 MCP Server 不满足需求,你可以用 TypeScript 快速创建自己的。

4.1 项目初始化

mkdir my-mcp-server && cd my-mcp-server npm init -y npm install @modelcontextprotocol/sdk npm install -D typescript @types/node

4.2 实现一个天气查询 MCP Server

// src/index.ts import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; const server = new McpServer({ name: "weather-server", version: "1.0.0", }); // 定义工具 server.tool( "get_weather", "查询指定城市的天气信息", { city: z.string().describe("城市名称,如 北京、上海"), unit: z.enum(["celsius", "fahrenheit"]).default("celsius") .describe("温度单位"), }, async ({ city, unit }) => { // 这里接入真实天气 API const response = await fetch( `https://api.weatherapi.com/v1/current.json?key=${process.env.WEATHER_API_KEY}&q=${city}` ); const data = await response.json(); const temp = unit === "celsius" ? data.current.temp_c : data.current.temp_f; return { content: [{ type: "text", text: JSON.stringify({ city: data.location.name, temperature: temp, unit: unit, condition: data.current.condition.text, humidity: data.current.humidity, wind_kph: data.current.wind_kph, }, null, 2) }] }; } ); // 启动 const transport = new StdioServerTransport(); await server.connect(transport);

4.3 编译并注册

# 编译 npx tsc # 在 Claude Code 中注册 claude mcp add weather -- node /path/to/my-mcp-server/dist/index.js

4.4 使用自定义 MCP Server

# 在 Claude Code 中直接对话 > 查一下北京今天的天气 # Claude Code 会自动调用 weather MCP Server 的 get_weather 工具

五、多 Server 组合配置

一个项目可以同时配置多个 MCP Server,让 Claude Code 拥有多种能力:

{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@anthropic-ai/mcp-filesystem", "--dir", "./"] }, "postgres": { "command": "npx", "args": ["-y", "@anthropic-ai/mcp-postgres"], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_DB": "myapp", "POSTGRES_USER": "dev", "POSTGRES_PASSWORD": "devpass" } }, "github": { "command": "npx", "args": ["-y", "@anthropic-ai/mcp-github"], "env": { "GITHUB_TOKEN": "ghp_xxxx" } } } }

六、安全最佳实践

  • 最小权限原则:文件系统 MCP 只开放必要目录
  • 数据库只读模式:开发环境外的数据库配置 readonly 用户
  • 环境变量管理:敏感信息放在.env文件,不提交到 Git
  • 审查 MCP Server 源码:使用第三方 MCP Server 前,检查其权限范围
  • 日志审计:生产环境启用 MCP 操作日志,记录所有工具调用

七、排错指南

问题可能原因解决方案
MCP Server 无法启动npx 包下载失败检查网络,或预先npm install -g
工具列表为空Server 启动报错手动运行命令检查错误输出
数据库连接失败环境变量未生效确认 env 字段配置正确
权限被拒绝文件系统目录未授权检查 --dir 参数是否包含目标路径
响应超时外部 API 延迟检查 Server 实现中的超时设置

总结

MCP 协议极大地扩展了 Claude Code 的能力范围,让它从一个代码编辑工具进化为全栈开发的智能助手。建议根据项目需求,逐步添加文件系统、数据库、GitHub 等常用 MCP Server,打造属于自己的 AI 工作流。

接口配置参考:https://9m8m.com/docs/

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:38:25

5分钟快速上手:FigmaCN中文汉化插件完整使用指南

5分钟快速上手:FigmaCN中文汉化插件完整使用指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面感到困扰吗?作为一名中文设计师&#xff…

作者头像 李华
网站建设 2026/4/23 9:36:43

ROS2与Gazebo桥接实战:打通仿真与控制的通信壁垒

1. 为什么需要ROS2与Gazebo桥接? 在机器人开发过程中,仿真环境的重要性不言而喻。Gazebo作为最流行的机器人仿真平台之一,能够提供高保真的物理模拟和传感器数据。而ROS2则是目前机器人开发的事实标准通信框架。但问题来了:如何让…

作者头像 李华
网站建设 2026/4/23 9:35:22

Vectorizer终极指南:5分钟实现PNG/JPG到SVG的无损转换

Vectorizer终极指南:5分钟实现PNG/JPG到SVG的无损转换 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 想要将普通图片转换为无限放…

作者头像 李华
网站建设 2026/4/23 9:34:48

如何快速下载抖音无水印视频:douyin-downloader完整指南

如何快速下载抖音无水印视频:douyin-downloader完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…

作者头像 李华
网站建设 2026/4/23 9:34:44

ComfyUI扩展管理架构解析:高效自动化部署与节点控制系统

ComfyUI扩展管理架构解析:高效自动化部署与节点控制系统 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various cus…

作者头像 李华