Appearance
MCP(Model Context Protocol)让 Cursor Agent 直接对接外部工具和数据——数据库查询、浏览器控制、API 调用都可以变成 Agent 可以调用的工具。通过 mcp.json 文件配置服务器地址,Agent 会在需要时自动选用合适的工具,每次调用默认需要用户确认。本文介绍 Cursor MCP 的配置格式、本地和远程两种接入方式、认证配置,以及常见调试方法。
Cursor MCP:连接外部工具和数据
MCP(Model Context Protocol)是一个开放协议,让 AI 模型能够通过统一接口对接外部系统。配置好 MCP 服务器后,Cursor Agent 可以直接调用你自定义的工具——查数据库、提交代码、调用 API、操作浏览器,都能变成 Agent 的能力。
MCP 配置文件
MCP 服务器通过 mcp.json 文件配置:
- 全局配置(所有项目通用):
~/.cursor/mcp.json - 项目配置(仅当前项目):
<project>/.cursor/mcp.json
本地进程(stdio)
本地 MCP 服务器通过子进程通信,适合 Python/Node.js 脚本:
json
{
"mcpServers": {
"my-tool": {
"command": "python",
"args": ["mcp-server.py"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}多个参数的写法:
json
{
"mcpServers": {
"database": {
"command": "node",
"args": ["./scripts/db-mcp-server.js", "--port", "5432"],
"env": {
"DB_URL": "postgresql://localhost/mydb"
}
}
}
}远程服务(HTTP/SSE)
远程 MCP 服务器通过 HTTP 或 SSE 协议通信,适合云服务或跨机器调用:
json
{
"mcpServers": {
"remote-tool": {
"url": "http://localhost:3000/mcp",
"headers": {
"API_KEY": "your-api-key"
}
}
}
}环境变量插值
mcp.json 支持引用系统环境变量,避免把密钥写死在配置文件里:
json
{
"mcpServers": {
"github": {
"command": "node",
"args": ["github-mcp.js"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}工作区相关变量也可以使用,如 ${workspaceFolder}。
在 Agent 里使用 MCP 工具
配置完成后:
- 重启 Cursor 或重新加载配置
- 打开 Agent(
Cmd+I) - 查看"Available Tools"——已注册的 MCP 工具会出现在列表里
- 直接在对话里描述任务,Agent 会自动决定是否调用相关工具
默认行为:每次工具调用都需要用户手动批准。如需跳过确认,在工具设置里开启 auto-run。
OAuth 认证
需要 OAuth 的远程服务器,在 url 配置里加 auth 对象:
json
{
"mcpServers": {
"oauth-service": {
"url": "https://api.example.com/mcp",
"auth": {
"type": "oauth",
"client_id": "your-client-id"
}
}
}
}与 Claude Code 的对比
| Cursor MCP | Claude Code MCP | |
|---|---|---|
| 配置文件 | mcp.json | claude_desktop_config.json 或 CLAUDE.md |
| 配置位置 | ~/.cursor/ 或 .cursor/ | ~/.config/claude/ 或项目目录 |
| 工具调用 | 每次需批准(可配置 auto-run) | 每次需批准(可配置) |
两者都基于 MCP 协议,同一个 MCP 服务器通常可以在 Cursor 和 Claude Code 里复用,只需调整配置文件格式。
常见问题
Q: 配置了 MCP 但 Agent 没有看到工具,怎么处理?
检查:① mcp.json JSON 格式是否正确;② command 指向的脚本是否有执行权限;③ 重启 Cursor 后再试。在 Cursor Settings > MCP 里能看到服务器状态(连接成功/失败)。
Q: MCP 服务器里的工具能在 Cursor 里做什么操作?
取决于 MCP 服务器的实现。理论上任何操作都可以封装成工具——文件系统操作、数据库读写、网络请求、浏览器控制。但每次调用都会经过 Cursor 的权限审批。
Q: 国内网络访问远程 MCP 服务器有问题怎么办?
建议优先使用本地 stdio 模式(本机运行 MCP 脚本),避免网络连接问题。如果必须访问远程服务,确认 Cursor 代理设置已正确配置。