TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

在 Claude Desktop、Cursor 等客户端里配置 MCP

在 Claude Desktop、VS Code、Cursor 里配置 MCP 服务器:找到各自的配置文件,写好条目,重启后确认已连接,并学会排查常见问题。

这篇适合谁、读完能做到什么

如果你已经有一个能正常运行的 MCP 服务器,想让 Claude Desktop、VS Code 或 Cursor 调用它,这篇适合你。读完你能找到每个客户端的配置文件,写出服务器条目,重启客户端并确认服务器已经连上,出问题时也知道先查哪里。[1]

先搞清楚:什么是 MCP 宿主

MCP 宿主(host)是能连接 MCP 服务器、从而扩展自身能力的 AI 应用。用户直接面对的是宿主,服务器在后面提供工具和数据。Claude Desktop、VS Code 和 Cursor 都可以作为宿主使用。[1]

准备工作很简单:一个能运行的 MCP 服务器,装好要用的宿主应用,并且会读写 JSON 配置文件。配置出错多半是 JSON 语法问题,所以先用 JSON 校验工具检查一遍文件,能省下很多排查时间。[1]

Claude Desktop 怎么配

Claude Desktop 是 Anthropic 的官方桌面应用,原生支持 MCP。它通过一个 JSON 配置文件定义服务器,配置文件的位置是:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

[1]

下面是一个包含三个服务器的配置示例:[1]

{
  "mcpServers": {
    "calculator": {
      "command": "python",
      "args": ["-m", "mcp_calculator_server"],
      "env": {
        "PYTHONPATH": "/path/to/your/server"
      }
    },
    "weather": {
      "command": "node",
      "args": ["/path/to/weather-server/build/index.js"]
    },
    "database": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost/mydb"
      }
    }
  }
}

mcpServers 对象里,每个键就是一个服务器。每个条目包含 command(要运行的程序)、args(命令行参数),以及可选的 env(环境变量)。示例中的 calculator 用 python -m mcp_calculator_server 启动,并通过 PYTHONPATH 指定服务器所在目录;weather 用 node 运行编译好的入口文件;database 用 npx -y 启动 @modelcontextprotocol/server-postgres,连接串放在 DATABASE_URL 里。[1]

示例里的连接串和路径都是占位符,要换成你自己的。不要把真实密码直接写进配置文件,敏感信息应该通过环境变量或密钥管理工具提供。[1]

env 字段的作用是把环境变量交给服务器进程。如果服务器依赖某个环境变量(例如 Python 模块所在的 PYTHONPATH),就要写在这里,而不要指望它沿用你终端里设置过的值。客户端启动服务器时,不一定带上你终端里的环境,这一点在排查问题时很关键。[1]

配置完成后,按下面的顺序测试:

  1. 保存配置文件。
  2. 完全退出并重新打开 Claude Desktop。
  3. 新开一个对话。
  4. 找一下 🔌 图标,它表示已连接的服务器。
  5. 让 Claude 调用你的某个工具,看看有没有返回结果。[1]

如果服务器没有出现在列表里,先用 JSON 校验工具检查配置文件语法,再确认命令路径正确,最后打开 Claude Desktop 的日志(菜单 Help → Show Logs)。如果服务器启动就崩溃,先在终端里手动运行它,确认环境变量设置正确、依赖都已安装,再回到客户端里测试。[1]

VS Code 怎么配

VS Code 通过 GitHub Copilot Chat 扩展支持 MCP。前提是 VS Code 1.99 或更高版本,并且安装了 GitHub Copilot 和 GitHub Copilot Chat 两个扩展。[1]

工作区配置写在项目里的 .vscode/mcp.json 中,用 servers 对象列出服务器,每个条目都有一个 type 字段:[1]

{
  "servers": {
    "my-calculator": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "mcp_calculator_server"]
    },
    "my-database": {
      "type": "sse",
      "url": "http://localhost:8080/sse"
    }
  }
}

示例里,my-calculator 用 stdio 方式启动一个 Python 模块,my-database 则是 sse 类型,指向 http://localhost:8080/sse。需要注意,指向 /sse 的写法属于 MCP 2025-11-25 对应的旧方式。对 MCP 2026-07-28,应在支持的宿主里选择 Streamable HTTP,并使用服务器配置的端点。[1]

使用时,按 Ctrl+Shift+I(Mac 上为 Cmd+Shift+I)打开 Copilot Chat 面板,输入 @ 可以看到可用的 MCP 工具,然后直接用自然语言调用,例如「用计算器算 25 乘以 48」。[1]

如果同一个工作区里要接入多个服务器,servers 对象里的每个键都要互不相同,每个键对应一个独立条目。type 字段决定客户端用哪种方式连接服务器,写的时候要和服务器的实际启动方式对应。[1]

遇到问题,先看输出面板里的 MCP 日志,再运行 Developer: Reload Window 重新加载窗口。如果还不行,就先确认服务器能脱离 VS Code 独立运行。[1]

Cursor 怎么配

Cursor 是以 AI 为核心的代码编辑器,内置 MCP 支持。配置文件的位置是:macOS 和 Linux 上为 ~/.cursor/mcp.json,Windows 上为 %USERPROFILE%\.cursor\mcp.json。它的格式和 Claude Desktop 相近,同样使用 mcpServers 对象:[1]

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/directory"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

这个示例配了两个服务器。文件系统服务器通过 npx -y @modelcontextprotocol/server-filesystem 启动,最后一个参数是允许访问的目录路径,所以务必把它限制在必要的范围内。GitHub 服务器的令牌放在 env 的 GITHUB_TOKEN 中。示例里的令牌只是占位符,实际使用时应当通过环境变量或密钥管理工具提供。[1]

打开 Cursor 的 AI 对话(Windows 和 Linux 上为 Ctrl+L,Mac 上为 Cmd+L),MCP 工具会自动出现在建议里,然后就可以让 AI 借助这些服务器完成任务。[1]

配置写对了却看不到工具,先检查文件是否放在上面列出的位置:Cursor 的文件在 ~/.cursor/mcp.json 或 %USERPROFILE%\.cursor\mcp.json,和 Claude Desktop 的配置文件不是同一个。[1]

常见问题

服务器起不来

先在终端里手动运行服务器,确认它本身能启动。Python 服务器用 python -m your_server_module 运行,Node.js 服务器用 node /path/to/server/index.js 运行:[1]

# For Python
python -m your_server_module

# For Node.js
node /path/to/server/index.js

然后检查命令路径:尽量使用绝对路径,并确保可执行文件在 PATH 里。最后核对依赖是否装好。Python 可以用 pip list | grep mcp 查看,Node.js 可以用 npm list @modelcontextprotocol/sdk 查看:[1]

# Python
pip list | grep mcp

# Node.js
npm list @modelcontextprotocol/sdk

服务器连上了,但工具不工作

先看服务器日志,大多数宿主都提供日志选项。然后用 MCP Inspector 核对工具是否注册成功,并检查工具是否有访问文件或网络所需的权限。[1]

环境变量没有传进去

有些宿主会过滤环境变量。这时应当用 env 字段显式传入,同时避免把敏感数据写进配置文件。[1]

安全底线

下面几条适用于所有宿主:[1]

  • 不要把 API 密钥提交到配置文件里。
  • 敏感数据用环境变量传递。
  • 只给服务器它真正需要的权限。
  • 接入前先审阅服务器代码,再授予它访问你系统的权限。
  • 文件系统和网络访问用白名单(allowlist)限定范围。

传输方式和下一步

不同宿主支持的传输方式并不相同。较新的规范版本建议,在支持的宿主里优先选择 Streamable HTTP。规范中关于传输的章节可以在 modelcontextprotocol.io 上查到。[2]

配置出问题时,可以先用 MCP Inspector 单独测试服务器的工具,确认服务器没问题,再回头排查宿主那一侧的配置。[1]

本文改编自 Microsoft 开源课程《MCP for Beginners》第 3 课中关于配置 MCP 宿主的一节[1],原文以 MIT 许可证发布。

来源

  1. 1
    Setting Up Popular MCP Host ClientsMicrosoft mcp-for-beginners (MIT)
  2. 2
    MCP Specification - TransportsModel Context Protocol

引用本页: 在 Claude Desktop、Cursor 等客户端里配置 MCP. TellWorld, https://www.tellworld.net/zh/practice/practice-mcp-hosts. 更新于 2026-11-14

相关动态