Cursor + MCP 深度集成:让 AI IDE 连接一切
适用场景
- 已在用 Cursor,想让 AI 能直接查数据库 / 操作 GitHub
- 想让 AI 在写代码时能访问外部 API(Slack、Jira、Linear)
- 想构建"AI 能看能做"的开发环境,不只是"AI 建议、人执行"
MCP 在 Cursor 中的定位
Cursor 0.42+ 原生支持 MCP。配置 MCP Server 后:
- AI Agent 模式下可以调用 MCP 工具
- AI 能看到工具的返回结果,基于结果继续推理
- 不需要离开 IDE 去查数据库 / 看 GitHub Issue
本质:把"复制粘贴往返"变成"AI 直接操作"。
第一步:理解 MCP 配置
Cursor 的 MCP 配置在 ~/.cursor/mcp.json(全局)或项目根目录 .cursor/mcp.json(项目级)。
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@mcp/server-package"],
"env": {
"API_KEY": "xxx"
}
}
}
}
配置后重启 Cursor,在 Agent 模式下 AI 自动可用这些工具。
第二步:6 个常用 MCP Server 配置
1. PostgreSQL(最常用)
让 AI 能查表结构、跑 SQL、分析数据。
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/mydb"]
}
}
}
AI 能力:
\d table_name查表结构- 跑 SELECT 查询(只读)
- 分析数据分布
- 生成数据库迁移建议
2. GitHub
让 AI 能看 Issue / PR / 代码评论。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
}
}
}
AI 能力:
- 查看某个 Issue 的讨论
- 列出分配给你的 PR
- 根据 Issue 描述直接开始修 bug
- 创建 PR 描述
3. 文件系统(增强版)
Cursor 自带文件读写,但 MCP 文件系统 Server 支持更复杂的操作(搜索、批量重命名)。
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
}
}
}
4. Slack
让 AI 能看频道消息、搜索历史讨论。
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-xxx"
}
}
}
}
场景:开发时遇到问题,AI 可以搜 Slack 历史看团队之前是否讨论过。
5. Puppeteer(浏览器)
让 AI 能打开网页、截图、提取内容。
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
场景:调试前端时让 AI 打开 localhost:3000 截图,对比设计稿。
6. Memory(持久记忆)
让 AI 跨会话记住信息。
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
场景:让 AI 记住"这个项目用 pnpm 不用 npm",下次启动自动加载。
第三步:实战场景
场景 1:根据 GitHub Issue 修 Bug
@agent 看一下 github issue #142,理解问题,然后修复它
AI 流程:
- 调 GitHub MCP 读 Issue 内容
- 分析问题原因
- 找到相关代码
- 修改
- 跑测试
- 生成 PR 描述(可让它直接创建 PR)
场景 2:数据驱动的功能开发
@agent 我要加用户积分功能。先查一下 users 表结构和现有数据量,然后设计 schema 和 API
AI 流程:
- 调 PostgreSQL MCP 查 users 表结构
- 查现有数据量(SELECT COUNT(*))
- 设计 points 字段和积分日志表
- 生成迁移 SQL
- 设计 API 接口
- 写代码实现
场景 3:前端调试
@agent 打开 localhost:3000/profile,截图看看头像上传组件的样式问题
AI 流程:
- 调 Puppeteer MCP 打开页面
- 截图
- 分析样式问题
- 找到对应组件代码
- 修改 CSS
- 重新截图验证
权限边界与安全
数据库只读
PostgreSQL MCP Server 默认只允许 SELECT。不要给它写权限,除非你完全信任 AI 的判断。
Token 最小权限
GitHub Token 只给 repo:read + issues:read,不要给 repo:write(除非你想让 AI 直接 push 代码)。
敏感信息不进配置文件
# 不要把 token 写死在 mcp.json,用环境变量
export GITHUB_TOKEN="ghp_xxx"
{
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
}
}
.gitignore 掉 mcp.json
项目级 .cursor/mcp.json 可能含 token,务必加到 .gitignore。
性能注意事项
MCP Server 启动慢
每个 MCP Server 是一个独立进程。配 6 个就是 6 个 npx 进程。建议:
- 只配当前任务需要的
- 用
npx --prefer-offline加速
上下文膨胀
MCP 工具的返回结果会进入 AI 上下文。数据库返回 1000 行结果会吃掉大量 token。建议:
- 让 AI 用 LIMIT 限制查询行数
- 只查需要的字段
与 Claude Code MCP 的区别
| 维度 | Cursor MCP | Claude Code MCP |
|---|---|---|
| 配置位置 | .cursor/mcp.json | ~/.claude/mcp_servers.json |
| UI 可视化 | ✅ 有 MCP 面板 | ❌ 纯命令行 |
| 工具调用可见性 | ✅ 在 chat 里显示 | ✅ 在终端显示 |
| 多 Server 同时 | ✅ | ✅ |
| 项目级配置 | ✅ | ❌ 全局 |
建议:两个工具配同样的 MCP Server,根据场景切换用。