切换语言
切换主题

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 会自动理解它需要:

  1. 连接到数据库
  2. 查询用户表找到用户 ID
  3. 查询订单表找到相关订单
  4. 把结果整理给你

整个过程你不需要说”去查数据库”、“执行 SQL”这些指令。AI 自己就知道该怎么做。

核心架构

从技术角度看,MCP 的架构很清晰:

  • MCP Host:就是你用的 AI 应用,比如 Cursor、Claude Desktop
  • MCP Client:负责管理 Host 和 Server 之间的连接
  • MCP Server:包装外部服务(数据库、API、文件系统等)
  • 通信协议:使用标准的 JSON-RPC 接口

就像搭积木一样,每个部分各司其职。你只需要配置好要用哪些 MCP Server,剩下的事情 AI 会自己处理。

MCP 能做什么?

聊完概念,我们看看 MCP 具体能做什么。下面这些都是我自己试过的实际场景。

数据库访问

这个功能真的省了我很多时间。

比如说你在做一个电商项目,数据库里有用户表、商品表、订单表。以前你想让 AI 帮你写一个查询”某用户最近一个月的订单”的代码,你得先:

  1. 复制表结构给 AI
  2. 说明表之间的关系
  3. 指定要查询的字段

现在配置了 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 有了基本了解。下面我详细讲讲怎么配置。

配置前的准备

开始之前,确认两件事:

  1. Cursor 版本:确保你用的是最新版 Cursor。MCP 支持是近期才加的。
  2. 传输方式:了解两种传输方式的区别
    • stdio:标准输入输出,服务跑在本地,Cursor 自动管理,单用户使用
    • SSE/HTTP:通过网络通信,可以部署在远程服务器,支持多用户共享

大部分情况下,我建议用 stdio 方式。配置简单,不需要额外的服务器。

配置方式一:通过 Cursor 设置界面(推荐)

如果你是第一次配置 MCP,走这个方式最简单。

步骤如下

  1. 打开 Cursor
  2. 按快捷键打开设置
    • Windows/Linux:Ctrl+Shift+J
    • macOS:Cmd+Shift+J
  3. 在左侧菜单找到 “Tools & Integrations”
  4. 点击底部的 “New MCP Servers”
  5. Cursor 会自动创建或打开 mcp.json 配置文件

这个方式的好处是有可视化界面,而且支持实时验证。如果你配置有问题,会直接提示错误。

配置方式二:直接编辑配置文件

如果你喜欢直接改配置文件,可以手动创建。

MCP 配置文件有两个位置:

  • 项目级配置.cursor/mcp.json(只对当前项目生效)
  • 全局配置~/.cursor/mcp.json(对所有项目生效)

我一般把常用的 MCP Server(比如 GitHub、Fetch)放在全局配置,项目特有的(比如数据库连接)放在项目配置。

配置文件结构

MCP 配置文件的基本结构是这样的:

{
  "mcpServers": {
    "服务器名称": {
      "command": "执行命令",
      "args": ["参数列表"],
      "env": {
        "环境变量": "值"
      }
    }
  }
}
  • command:要执行的命令,比如 npxnodepython
  • args:命令的参数,通常是 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

  1. 打开 GitHub,进入 Settings
  2. 左侧菜单找到 Developer settings
  3. 点击 Personal access tokens → Tokens (classic)
  4. 点击 Generate new token
  5. 选择需要的权限(至少要 repo 权限)
  6. 生成后复制 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"
      }
    }
  }
}

验证配置是否成功

配置完成后,需要验证一下是否生效。

步骤

  1. 重启 Cursor:配置修改后需要重启才能生效
  2. 测试 MCP 功能:在 Cursor 的对话框里试试看
    • 测试 GitHub:“帮我看看我的 GitHub 仓库列表”
    • 测试 Fetch:“帮我抓取 https://example.com 的主要内容”
  3. 观察 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

    步骤1: 打开 Cursor 设置

    快捷键打开设置:
    • Windows/Linux:Ctrl+Shift+J
    • macOS:Cmd+Shift+J

    在左侧菜单找到 "Tools & Integrations",点击底部的 "New MCP Servers"。
  2. 2

    步骤2: 编辑 mcp.json 配置文件

    配置文件基本结构:
    {
    "mcpServers": {
    "服务器名称": {
    "command": "执行命令",
    "args": ["参数列表"],
    "env": { "环境变量": "值" }
    }
    }
    }

    配置位置:
    • 项目级:.cursor/mcp.json
    • 全局:~/.cursor/mcp.json
  3. 3

    步骤3: 添加 MCP Server 配置

    以 Fetch Server 为例(最简单,无需 Token):
    {
    "mcpServers": {
    "fetch": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-fetch"]
    }
    }
    }

    如需 GitHub 集成,添加 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量。
  4. 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日

评论

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

相关文章