Claude Code MCP Server 配置教程:用 MCP 协议扩展 AI 的能力边界
MCPModel Context Protocol是 Anthropic 推出的开放协议让 AI 工具能够连接外部数据源和服务。通过配置 MCP Server你可以让 Claude Code 直接操作数据库、访问 GitHub、管理文件系统甚至发送 Slack 消息。本文带你从原理到实战全面掌握 MCP 配置。一、什么是 MCPMCP 的全称是 Model Context Protocol模型上下文协议。它定义了一套标准化的接口让 AI 模型可以安全地访问外部工具和数据。你可以把 MCP 理解为AI 的 USB 接口——只要设备工具遵循 MCP 标准就可以即插即用地被 AI 调用。MCP 的核心组件MCP Server提供工具和数据的服务端暴露标准化的接口MCP ClientAI 应用端如 Claude Code通过协议调用 Server 提供的功能ToolsServer 暴露的可执行操作如读写文件、查询数据库ResourcesServer 提供的只读数据源如文档、配置PromptsServer 预定义的提示模板MCP 的通信方式传输方式说明适用场景stdio通过标准输入输出通信本地工具最常用sseServer-Sent Events远程服务器streamable-httpHTTP 流式传输云端部署二、Claude Code 中配置 MCP Server2.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_file、write_file、list_directory等工具但只能操作指定目录。3.2 数据库 MCP ServerPostgreSQL{ 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 ServerPuppeteer{ 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/node4.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.js4.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/
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2545893.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!