Ad Space (horizontal)
Advanced

Claude Code MCP Server 配置指南与实战用例

全面介绍 Claude Code 的 MCP Server 功能。从外部工具连接、服务器配置到真实集成案例,一文掌握 MCP 生态。

什么是 MCP?

MCP(Model Context Protocol)是一个用于将 AI 助手连接到外部工具和数据源的开放协议。Claude Code 作为 MCP 客户端,能够通过 MCP Server 与数据库、API 和各种服务进行交互。

配置 MCP Server

MCP Server 的设置写在 .claude/settings.json~/.claude/settings.json 中:

{
  "mcpServers": {
    "server-name": {
      "command": "executable-command",
      "args": ["arg1", "arg2"],
      "env": {
        "ENV_VAR": "value"
      }
    }
  }
}

也可以通过 CLI 添加服务器:

claude mcp add server-name -- command arg1 arg2

示例 1:数据库集成

配置 MCP Server 直接查询 PostgreSQL:

claude mcp add postgres-server -- npx -y @modelcontextprotocol/server-postgres postgresql://user:pass@localhost:5432/mydb

配置完成后,你可以在 Claude Code 会话中查询数据库:

> 查询 users 表中过去一周的新注册用户数
> 以表格形式展示每日趋势

Claude Code 会自动生成并执行 SQL 查询,然后将结果格式化展示。

示例 2:GitHub 集成

GitHub MCP Server 让你直接在 Claude Code 中管理 Issue 和 PR:

claude mcp add github -- npx -y @modelcontextprotocol/server-github

通过环境变量设置 Token:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    }
  }
}

你可以这样操作:

> 列出仓库中所有打开的 Issue
> 查看 Issue #42,创建修复分支并实现修复
> 修复完成后创建 PR

示例 3:文件系统扩展

提供对指定目录安全访问的 MCP Server:

claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory

示例 4:网页抓取

Puppeteer MCP Server 支持网页获取和交互操作:

claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
> 读取 https://example.com/api/docs 上的 API 文档
> 并为该 API 创建客户端库

示例 5:Slack 集成

Slack MCP Server 可以读取频道消息和发送通知:

{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx"
      }
    }
  }
}
> 查看 #dev 频道的最新消息
> 在 #daily-report 频道发送今天的工作进展

管理 MCP Server

查看已注册的服务器

claude mcp list

删除服务器

claude mcp remove server-name

设置作用域

你可以指定 MCP Server 配置的作用域:

# 项目级别(默认)
claude mcp add --scope project db-server -- command

# 用户级别(全局)
claude mcp add --scope user db-server -- command

构建自定义 MCP Server

你也可以将项目特有的工具封装为自定义 MCP Server:

// my-mcp-server.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: "my-project-tools",
  version: "1.0.0",
});

// 定义自定义工具
server.tool(
  "deploy-staging",
  "部署到预发布环境",
  { branch: z.string().describe("要部署的分支名称") },
  async ({ branch }) => {
    // 部署逻辑
    return {
      content: [{ type: "text", text: `已将 ${branch} 部署到预发布环境` }],
    };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);

注册方式:

claude mcp add my-tools -- npx tsx my-mcp-server.ts

安全注意事项

1. 凭证管理

MCP Server 配置中的 Token 和密码应通过环境变量或 .env 文件管理,切勿提交到 Git。

2. 限制访问范围

遵循最小权限原则——例如,为数据库 MCP Server 使用只读权限的数据库用户。

3. 使用本地配置

将包含凭证的配置存放在 .claude/settings.local.json 中,并将其添加到 .gitignore

总结

MCP Server 让你可以将 Claude Code 的能力扩展到整个项目生态系统。从数据库查询到 GitHub 工作流再到 Slack 通知,Claude Code 可以成为你开发工作流的中枢。先从官方 MCP Server 开始,然后根据需要构建自定义服务器。

Ad Space (rectangle)
#Claude Code #MCP #MCP server #integrations #extensions