Cursor MCP 完整教程:让 AI 连接外部工具的配置方法

我最近在用 Cursor 写代码的时候,遇到了一个挺烦人的问题。每次让 AI 帮我处理项目相关的任务,我都得先解释一遍项目结构、数据库表设计、API 接口…说实话,感觉像在不停地给它补课。
你有没有遇到过这种情况?AI 虽然聪明,但它”看不到”你的数据库里有什么数据,不知道你的文件系统里有哪些文件,更不能直接调用你的 API。每次都要手动复制粘贴信息给它,效率真的不高。
直到我发现了 MCP(Model Context Protocol),这个问题才算有了优雅的解决方案。简单来说,MCP 就是让 AI 能够连接外部工具和数据源的标准协议。配置好之后,AI 就能自己去查数据库、读文件、调 API 了。
MCP 是什么?
一个简单的类比
如果要我用最简单的话解释 MCP,我会说:MCP 就像给 AI 装了一个 USB-C 接口。
你想想,以前每个设备都有自己的充电口,iPhone 用 Lightning,安卓用 Micro-USB,笔记本电脑又是另一套标准。特别麻烦。后来 USB-C 出现了,一个接口解决所有问题。
MCP 也是这个思路。它是 Anthropic 开发的一个开放协议,为 AI 连接外部工具提供了标准接口。有了这个标准,AI 应用就不用每次都从头开发集成方案了。
为什么需要 MCP?
在 MCP 出现之前,如果你想让 AI 连接数据库,每个 AI 应用都得自己开发一套方案。Cursor 开发一套,Claude Desktop 开发一套,其他工具又是另一套。开发者要重复造轮子,维护成本高,而且不同工具之间不兼容。
MCP 改变了这个局面。它提出了”一次编写,到处使用”的理念。开发者只需要按照 MCP 标准开发一个数据库连接器,就能在所有支持 MCP 的 AI 应用中使用。这样效率提升了,也避免了重复劳动。
MCP vs 传统插件
你可能会问:这和传统的插件、扩展有什么区别?
区别还挺大的。传统插件是应用层面的功能扩展,比如给浏览器装个广告拦截插件,给 VSCode 装个主题。而 MCP 是 AI 模型层面的能力扩展。
最关键的区别在于:AI 能智能决定何时调用工具,而不需要你明确指令。
比如你跟 Cursor 说:“帮我看看这个用户在数据库里的订单记录”。配置了 MCP 之后,AI 会自动理解它需要:
- 连接到数据库
- 查询用户表找到用户 ID
- 查询订单表找到相关订单
- 把结果整理给你
整个过程你不需要说”去查数据库”、“执行 SQL”这些指令。AI 自己就知道该怎么做。
核心架构
从技术角度看,MCP 的架构很清晰:
- MCP Host:就是你用的 AI 应用,比如 Cursor、Claude Desktop
- MCP Client:负责管理 Host 和 Server 之间的连接
- MCP Server:包装外部服务(数据库、API、文件系统等)
- 通信协议:使用标准的 JSON-RPC 接口
就像搭积木一样,每个部分各司其职。你只需要配置好要用哪些 MCP Server,剩下的事情 AI 会自己处理。
MCP 能做什么?
聊完概念,我们看看 MCP 具体能做什么。下面这些都是我自己试过的实际场景。
数据库访问
这个功能真的省了我很多时间。
比如说你在做一个电商项目,数据库里有用户表、商品表、订单表。以前你想让 AI 帮你写一个查询”某用户最近一个月的订单”的代码,你得先:
- 复制表结构给 AI
- 说明表之间的关系
- 指定要查询的字段
现在配置了 MySQL MCP Server 之后,你只需要说:“帮我查一下用户 ID 123 最近一个月的订单”。AI 会自动:
- 连接数据库
- 分析表结构
- 生成精确的 SQL
- 执行查询
- 把结果整理成你需要的格式
而且它生成的 SQL 是基于你实际的表结构,不是凭空想象的那种示例代码。
文件系统操作
我最常用这个功能来做代码整理。
举个例子,我有个项目用了很多第三方库,时间长了之后,代码里有很多用不到的 import 语句。手动一个个检查太累了。
配置了文件系统 MCP Server 之后,我可以直接跟 Cursor 说:“帮我扫描整个项目,找出所有未使用的 import 并清理掉”。AI 会自动:
- 遍历项目目录
- 分析每个文件的 import 语句
- 检查哪些 import 实际没用到
- 修改文件清理掉这些 import
这个功能在重构代码的时候特别好用。
API 集成
MCP 对 API 集成的支持特别丰富。目前已经有很多常用服务的 MCP Server 了。
GitHub MCP
如果你经常用 GitHub,这个太方便了。配置之后,你可以直接让 AI:
- 查看某个仓库的 Issues:“有哪些标记为 bug 的未解决 Issue?”
- 创建 Pull Request:“把这个分支的改动提交一个 PR”
- 管理分支:“帮我创建一个新的 feature 分支”
Slack MCP
我用这个来做团队通知自动化。比如:
- “在 #dev 频道发个消息,告诉大家新版本上线了”
- “看看最近有没有人在频道里 @ 我”
Google Workspace MCP
这个覆盖了 Gmail、Google Docs、Sheets、Drive、Calendar。如果你的工作流依赖 Google 全家桶,配置这个能省很多时间。
比如:“帮我把昨天的数据分析结果整理到 Google Sheets”、“查看明天的日历安排”。
浏览器自动化
Chrome DevTools MCP 是个很有意思的工具。
它让 AI 能直接与浏览器交互。你可以让 AI:
- 打开某个网页
- 读取页面 DOM 结构
- 执行 JavaScript
- 分析页面性能
我用这个做过一些自动化测试和性能分析。比如:“打开我们的首页,分析一下首屏加载时间,看看哪些资源加载比较慢”。
Web 内容抓取
Fetch Server 专门用来做网页内容提取。
它的特点是会把网页内容转换成 AI 友好的格式。比如你想分析某篇文章的内容,不需要手动复制,直接给 AI 一个链接:“分析一下这篇文章的主要观点”。AI 会自动抓取内容并分析。
如何配置 MCP?
好了,看到这里你应该对 MCP 有了基本了解。下面我详细讲讲怎么配置。
配置前的准备
开始之前,确认两件事:
- Cursor 版本:确保你用的是最新版 Cursor。MCP 支持是近期才加的。
- 传输方式:了解两种传输方式的区别
- stdio:标准输入输出,服务跑在本地,Cursor 自动管理,单用户使用
- SSE/HTTP:通过网络通信,可以部署在远程服务器,支持多用户共享
大部分情况下,我建议用 stdio 方式。配置简单,不需要额外的服务器。
配置方式一:通过 Cursor 设置界面(推荐)
如果你是第一次配置 MCP,走这个方式最简单。
步骤如下:
- 打开 Cursor
- 按快捷键打开设置
- Windows/Linux:
Ctrl+Shift+J - macOS:
Cmd+Shift+J
- Windows/Linux:
- 在左侧菜单找到 “Tools & Integrations”
- 点击底部的 “New MCP Servers”
- Cursor 会自动创建或打开
mcp.json配置文件
这个方式的好处是有可视化界面,而且支持实时验证。如果你配置有问题,会直接提示错误。
配置方式二:直接编辑配置文件
如果你喜欢直接改配置文件,可以手动创建。
MCP 配置文件有两个位置:
- 项目级配置:
.cursor/mcp.json(只对当前项目生效) - 全局配置:
~/.cursor/mcp.json(对所有项目生效)
我一般把常用的 MCP Server(比如 GitHub、Fetch)放在全局配置,项目特有的(比如数据库连接)放在项目配置。
配置文件结构
MCP 配置文件的基本结构是这样的:
{
"mcpServers": {
"服务器名称": {
"command": "执行命令",
"args": ["参数列表"],
"env": {
"环境变量": "值"
}
}
}
}command:要执行的命令,比如npx、node、pythonargs:命令的参数,通常是 MCP Server 的包名或脚本路径env:环境变量,用来传递 API Token、数据库密码等敏感信息
实战案例 1:配置 GitHub MCP
我们先从 GitHub MCP 开始,这个比较常用。
配置代码:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}配置说明:
command: "npx":使用 Node.js 的包执行器,不需要全局安装args: ["-y", "@modelcontextprotocol/server-github"]:-y表示自动确认@modelcontextprotocol/server-github是官方的 GitHub MCP Server 包
env.GITHUB_PERSONAL_ACCESS_TOKEN:你的 GitHub 个人访问令牌
如何获取 GitHub Token:
- 打开 GitHub,进入 Settings
- 左侧菜单找到 Developer settings
- 点击 Personal access tokens → Tokens (classic)
- 点击 Generate new token
- 选择需要的权限(至少要 repo 权限)
- 生成后复制 Token,粘贴到配置文件
注意:Token 只会显示一次,记得保存好。
实战案例 2:配置 Fetch Server
这个更简单,因为不需要 API Token。
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
}
}
}就这么简单。配置之后,你就可以让 AI 抓取任何网页的内容了。
实战案例 3:配置数据库 MCP
数据库配置稍微复杂一点,因为需要传递连接信息。
这里以 MySQL 为例(注意:你需要先有一个 MySQL MCP Server,可以自己写或用社区版本):
{
"mcpServers": {
"mysql": {
"command": "node",
"args": ["/path/to/mysql-mcp-server/index.js"],
"env": {
"DB_HOST": "localhost",
"DB_USER": "root",
"DB_PASSWORD": "your_password",
"DB_NAME": "your_database"
}
}
}
}重要提示:
- 把
/path/to/mysql-mcp-server/index.js替换成实际路径 - 数据库密码不要直接写死,可以用环境变量
- 如果数据库在远程服务器,修改
DB_HOST为实际地址
多个 MCP Server 的完整配置示例
实际使用中,你可能会配置多个 MCP Server。完整的配置文件可能是这样的:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
},
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
},
"mysql": {
"command": "node",
"args": ["/Users/your-name/mcp-servers/mysql/index.js"],
"env": {
"DB_HOST": "localhost",
"DB_USER": "root",
"DB_PASSWORD": "your_password",
"DB_NAME": "your_database"
}
}
}
}验证配置是否成功
配置完成后,需要验证一下是否生效。
步骤:
- 重启 Cursor:配置修改后需要重启才能生效
- 测试 MCP 功能:在 Cursor 的对话框里试试看
- 测试 GitHub:“帮我看看我的 GitHub 仓库列表”
- 测试 Fetch:“帮我抓取 https://example.com 的主要内容”
- 观察 AI 响应:如果配置成功,AI 会调用对应的 MCP 工具
如果 AI 说”我没有权限访问…”或者”无法连接…”,说明配置有问题。
常见问题排查
我自己踩过一些坑,分享一下解决方案:
问题 1:配置文件格式错误
症状:Cursor 启动时报错或 MCP 功能不工作
解决:
- 检查 JSON 语法,特别是逗号、引号、括号
- 用 JSON 验证工具检查格式
- 注意最后一项不要有多余的逗号
问题 2:API Token 权限不足
症状:AI 能连接服务,但执行某些操作时报错
解决:
- 检查 Token 的权限范围
- GitHub Token 至少需要 repo 权限
- 如果操作失败,可能需要更多权限
问题 3:端口被占用
症状:启动 MCP Server 时报错
解决:
- 检查是否有其他程序占用端口
- 用 stdio 方式通常不会有这个问题
- 如果用 SSE 方式,尝试更换端口
问题 4:环境变量未生效
症状:配置了环境变量,但 MCP Server 读不到
解决:
- 检查环境变量名拼写
- 确认配置文件保存了
- Windows 用户注意路径分隔符要用双反斜杠或正斜杠
进阶使用技巧
配置成功只是第一步。下面分享一些我总结的实用技巧。
选择合适的传输方式
stdio 方式适合:
- 本地开发
- 单人使用
- 快速配置,不需要额外服务器
SSE/HTTP 方式适合:
- 团队共享同一个 MCP Server
- 数据库或服务在远程服务器
- 需要集中管理和监控
我一般会把个人工具(GitHub、Fetch)用 stdio,团队共用的数据库用 SSE。
管理多个 MCP Server
当你配置了很多 MCP Server,管理起来可能会乱。我的建议是:
- 全局配置:放常用的、通用的 Server(GitHub、Fetch、Slack)
- 项目配置:放项目特有的 Server(数据库、内部 API)
- 按需启用:不用的 Server 可以注释掉,避免启动时资源浪费
安全性建议
配置 MCP 涉及很多敏感信息,一定要注意安全:
不要把 Token 提交到 Git:
.cursor/mcp.json加入.gitignore- 或者用环境变量替代硬编码
定期更新 Token:
- GitHub Token 可以设置过期时间
- 定期更新密码和 Token
最小权限原则:
- GitHub Token 只给需要的权限
- 数据库用户只开读权限(如果只需要查询)
常用 MCP Server 推荐
根据我的使用经验,这些 MCP Server 最实用:
开发工具类:
@modelcontextprotocol/server-github:GitHub 集成@modelcontextprotocol/server-gitlab:GitLab 集成
数据库类:
- PostgreSQL MCP Server
- MySQL MCP Server
- MongoDB MCP Server
办公协作类:
- Google Workspace MCP Server(Gmail、Docs、Sheets 等)
- Slack MCP Server
数据获取类:
@modelcontextprotocol/server-fetch:网页抓取- Firecrawl MCP Server:更强大的爬虫功能
浏览器自动化:
- Chrome DevTools MCP:浏览器调试和自动化
性能优化
用多了 MCP 之后,你可能会注意到性能问题。这里有几个优化建议:
只启用需要的 Server:
- 不用的 Server 注释掉或删除
- 减少启动时的资源消耗
注意网络延迟:
- 远程 Server 会有网络延迟
- 如果数据库在云端,考虑网络质量
合理设置超时:
- 有些 MCP Server 支持超时配置
- 避免某个请求卡住整个流程
总结
说了这么多,我们快速回顾一下:
MCP 是什么:一个让 AI 连接外部工具和数据的标准协议,就像 AI 的 USB-C 接口。
MCP 能做什么:
- 访问数据库,AI 自动生成和执行 SQL
- 操作文件系统,批量处理文件
- 集成 GitHub、Slack、Google Workspace 等服务
- 浏览器自动化和网页内容抓取
怎么配置:
- 通过 Cursor 设置界面或直接编辑
mcp.json - 配置文件包含 command、args、env 三部分
- 常用的有 GitHub、Fetch、数据库等 MCP Server
我的建议是,从简单的开始。先配置一个 Fetch Server 试试手,感受一下 MCP 的威力。等熟悉了之后,再根据实际需求添加其他 Server。
MCP 的生态现在发展得很快,几乎每周都有新的 MCP Server 出现。“写一次,到处用”的愿景正在逐步实现。以后换个 AI 工具,不用重新配置集成,MCP Server 直接就能用。
Cursor MCP 配置完整流程
从零开始在 Cursor 中配置 MCP,让 AI 连接外部工具和数据源
⏱️ 预计耗时: 15 分钟
- 1
步骤1: 打开 Cursor 设置
快捷键打开设置:
• Windows/Linux:Ctrl+Shift+J
• macOS:Cmd+Shift+J
在左侧菜单找到 "Tools & Integrations",点击底部的 "New MCP Servers"。 - 2
步骤2: 编辑 mcp.json 配置文件
配置文件基本结构:
{
"mcpServers": {
"服务器名称": {
"command": "执行命令",
"args": ["参数列表"],
"env": { "环境变量": "值" }
}
}
}
配置位置:
• 项目级:.cursor/mcp.json
• 全局:~/.cursor/mcp.json - 3
步骤3: 添加 MCP Server 配置
以 Fetch Server 为例(最简单,无需 Token):
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
}
}
}
如需 GitHub 集成,添加 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量。 - 4
步骤4: 重启 Cursor 并验证
保存配置后重启 Cursor。
测试方法:
• 测试 Fetch:"帮我抓取 https://example.com 的主要内容"
• 测试 GitHub:"帮我看看我的 GitHub 仓库列表"
如果 AI 能调用对应工具,说明配置成功。
常见问题
MCP 和传统插件有什么区别?
• 传统插件:应用层面的功能扩展,需要用户手动触发
• MCP:AI 模型层面的能力扩展,AI 能智能决定何时调用工具
比如你说"查一下用户订单",配置了 MCP 后 AI 会自动连接数据库、执行查询,不需要你明确说"执行 SQL"。
配置文件放在项目级还是全局级?
• 全局配置(~/.cursor/mcp.json):放常用的通用 Server,如 GitHub、Fetch、Slack
• 项目配置(.cursor/mcp.json):放项目特有的 Server,如数据库连接、内部 API
这样既方便复用,又能针对不同项目定制。
MCP 配置后不生效怎么办?
1. 检查 JSON 语法:用验证工具检查格式,注意逗号和引号
2. 重启 Cursor:配置修改后必须重启
3. 检查 Token 权限:GitHub Token 至少需要 repo 权限
4. 查看路径分隔符:Windows 用双反斜杠或正斜杠
stdio 和 SSE 传输方式怎么选?
• stdio(推荐大多数场景):服务跑在本地,Cursor 自动管理,配置简单
• SSE/HTTP:可部署在远程服务器,支持团队共享,适合数据库在云端的情况
个人开发建议用 stdio,团队协作考虑 SSE。
有哪些值得配置的 MCP Server?
入门必装:
• @modelcontextprotocol/server-fetch:网页抓取,无需 Token
开发常用:
• @modelcontextprotocol/server-github:GitHub 集成
• MySQL/PostgreSQL MCP Server:数据库访问
进阶工具:
• Google Workspace MCP:Gmail、Docs、Sheets 集成
• Chrome DevTools MCP:浏览器自动化
14 分钟阅读 · 发布于: 2026年1月16日 · 修改于: 2026年2月4日
相关文章
Veo 3音频生成完全指南:如何让AI视频自动配音配乐(附提示词模板)

Veo 3音频生成完全指南:如何让AI视频自动配音配乐(附提示词模板)
Veo 3图生视频实战:用Reference Image精准控制视频效果

Veo 3图生视频实战:用Reference Image精准控制视频效果
Veo 3角色一致性完整指南:用Scenebuilder制作连贯多镜头视频


评论
使用 GitHub 账号登录后即可评论