Cursor 配置 DeepSeek 调用 MCP 服务:settings.json 骨架与任务自动化验证
发布时间:2026/9/25 15:40:00 作者:尧图编辑部 阅读量:1,286

1. 从一次真实卡壳说起Cursor 里 DeepSeek 调不动 MCP如果你正在用 Cursor 写 Node.js 后端同时手上有一个 MySQL 库要频繁查表、改数据、跑脚本那你大概率想过一件事能不能让 AI 直接帮我操作数据库和文件而不是我复制粘贴来回倒腾。这个需求听起来简单但真正落地时会卡在三个地方模型选谁、MCP 服务怎么配、settings.json 骨架长什么样。我自己在 Node.js MySQL 的项目里试过这套链路Cursor 作为客户端DeepSeek 作为对话模型MCP 作为工具层。跑通之后的效果是你在聊天框里描述一个任务比如“把 subway_trips 表的数据导出成 txt再生成一个 HTML 页面”Agent 会自己调 MySQL MCP 查数据、调 FileSystem MCP 写文件全程不需要你手动执行命令。但问题在于Cursor 的 MCP 配置入口和配置文件格式在不同版本里有差异网上很多教程只贴了片段缺少完整的 settings.json 骨架和验证步骤。这篇就聚焦一件事给你一份可以直接复制、改完就能跑的配置骨架外加一次端到端任务自动化的验证动作。适合已经装好 Cursor、有 Node.js 环境、本地或远程有一个 MySQL 实例的开发者。读完你能拿到三样东西可复制的 settings.json、MCP 服务启动命令、一次完整的任务自动化验证流程。2. 前置准备TaoToken 接入 DeepSeek 与 MCP 的关系在讲配置之前先把一个容易混淆的点说清楚DeepSeek 模型和 MCP 服务是两层东西。DeepSeek 负责“理解你的任务、决定调哪个工具”MCP 服务负责“实际执行查库、写文件”。Cursor 是中间人它把 DeepSeek 的决策翻译成对 MCP Server 的调用。所以你需要两套凭证一套是模型侧的 API Key一套是各个 MCP Server 自己的凭证比如 MySQL 的连接信息、高德地图的 Key。模型侧如果你直接用 DeepSeek 官方需要单独申请如果你希望统一管理模型调用、减少多平台切换可以用 TaoToken 这类聚合入口来接入 DeepSeek。TaoToken 在这里的角色是模型调用层它不替代 Cursor也不替代 MCP Server只是让你在 Cursor 里配置模型时有一个稳定的 API 地址和 Key 管理入口。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。你可以在控制台里创建 API Key然后填到 Cursor 的模型配置里。具体操作路径进入控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 创建一个 API Key然后在 Cursor 的 Settings 里找到 Models 配置把 API Base 填成 https://taotoken.net/api Key 填你刚创建的。模型名称填 deepseek-chat 或 deepseek-reasoner取决于你要用 V3 还是 R1。这一步做完Cursor 里的 DeepSeek 就能正常对话了。但对话能跑不代表 MCP 能跑MCP 的配置是独立的一套放在 settings.json 或 mcp.json 里。下面进入正题。3. 可复制配置settings.json 骨架与 MCP 服务启动命令3.1 配置文件放哪里Cursor 支持两种 MCP 配置方式全局配置和项目级配置。全局配置在 Cursor Settings - MCP 里手动添加对所有项目生效项目级配置是在项目根目录建.cursor/mcp.json文件只对当前项目生效。我建议用项目级配置原因是全局配置容易在不同项目之间互相干扰尤其是 MySQL 连接信息不同项目连的库不一样全局配置会导致 Agent 调错库。项目级配置的路径是你的项目根目录/ ├── .cursor/ │ └── mcp.json ├── src/ ├── package.json └── ...如果你用的是 Cursor 较新版本它也会读取settings.json里的 MCP 相关字段但更推荐用独立的mcp.json结构更清晰。3.2 完整 mcp.json 骨架下面这份骨架覆盖三个 MCP ServerMySQL、FileSystem、高德地图。你可以按需删减但建议先全部保留跑通后再精简。{ mcpServers: { mysql: { type: stdio, command: uvx, args: [ --from, mysql-mcp-server, mysql_mcp_server ], env: { MYSQL_HOST: 127.0.0.1, MYSQL_PORT: 3306, MYSQL_USER: root, MYSQL_PASSWORD: 你的密码, MYSQL_DATABASE: mcp_test } }, filesystem: { command: cmd, args: [ /c, npx, -y, modelcontextprotocol/server-filesystem, E:/mcp, E:/test ] }, amap-maps: { command: npx, args: [ -y, amap/amap-maps-mcp-server ], env: { AMAP_MAPS_API_KEY: 你的高德Key } } } }几个关键点解释一下。MySQL 这个 Server 用的是uvx命令它来自 Python 的 uv 工具链所以你需要先装 uv。如果你不想装 uv也可以换成 Node.js 版本的 MySQL MCP Server但社区里 uvx 这个版本更稳定。FileSystem 的 args 里最后两个路径是你允许 Agent 读写的目录我写了E:/mcp和E:/test你可以改成自己的实际路径。高德地图的 Key 需要去高德开放平台申请个人开发者免费额度够用。3.3 MCP 服务启动命令配置写好后MCP Server 不需要你手动启动Cursor 会在需要时自动拉起。但如果你想单独验证某个 Server 能不能跑可以在终端里手动执行# 验证 MySQL MCP Server uvx --from mysql-mcp-server mysql_mcp_server # 验证 FileSystem MCP Server npx -y modelcontextprotocol/server-filesystem E:/mcp E:/test # 验证高德地图 MCP Server npx -y amap/amap-maps-mcp-server手动执行时如果终端没有报错并且进程保持运行说明 Server 本身没问题。按 CtrlC 退出即可。这一步能帮你快速定位是配置问题还是 Server 本身的问题。3.4 在 Cursor 里确认 MCP 已启用配置写完后打开 Cursor 的 Settings - MCP你应该能看到三个 Server 的列表。每个 Server 前面有一个状态点绿色表示已启用红色或灰色表示未连接。如果某个 Server 显示红色把鼠标悬停在上面会看到错误信息通常是命令路径不对或环境变量缺失。还有一个细节Cursor 的 MCP 配置修改后需要重启 Cursor 或者手动点一下刷新按钮否则不会重新加载。我踩过的坑是改完 mcp.json 直接去聊天框发任务结果 Agent 说找不到工具重启后才正常。4. 验证请求一次端到端任务自动化4.1 准备测试库和表在 MySQL 里建一个测试库名字叫mcp_test然后建两张表CREATE DATABASE IF NOT EXISTS mcp_test; USE mcp_test; CREATE TABLE IF NOT EXISTS subway_trips ( id INT AUTO_INCREMENT PRIMARY KEY, from_station VARCHAR(100), to_station VARCHAR(100), line_name VARCHAR(100), duration_min INT ); CREATE TABLE IF NOT EXISTS location_foods ( id INT AUTO_INCREMENT PRIMARY KEY, location_name VARCHAR(100), food_name VARCHAR(100), address VARCHAR(255), rating DECIMAL(3,1) );表结构不用太复杂重点是让 Agent 有东西可查、可写。4.2 在 Cursor 里发任务把 Cursor 的对话模式切到 Agent模型选 DeepSeek。然后在聊天框里输入下面这段任务描述请完成以下任务 1. 从 MySQL 的 mcp_test 库中查询 subway_trips 表的所有记录导出到 E:/mcp/北京旅行/subway_trips.txt 2. 查询 location_foods 表的所有记录导出到 E:/mcp/北京旅行/location_foods.txt 3. 根据这两个 txt 文件的内容生成一个 HTML 页面保存到 E:/mcp/北京旅行/index.html 4. HTML 页面要求表格展示地铁线路和美食信息样式简洁支持手机端查看发送后Agent 会开始执行。你会看到它先调用 MySQL MCP 的查询工具拿到数据后调用 FileSystem MCP 写文件最后再写 HTML。整个过程在聊天框里会显示每一步的工具调用和返回结果。4.3 预期结果执行完成后去E:/mcp/北京旅行/目录下检查应该有三个文件subway_trips.txt、location_foods.txt、index.html。用浏览器打开index.html能看到表格形式的数据展示。如果 Agent 中途停下来说“上下文长度超限”或者“请确认是否继续”你直接回复“继续执行”即可。这是 DeepSeek 模型在长任务里的常见行为不是配置问题。5. 本篇常见错排查5.1 MCP Server 显示红色或未启用最常见的原因是命令路径不对。uvx和npx需要确保在系统 PATH 里。你可以在终端里执行where uvx和where npx确认。如果找不到说明对应的工具没装或者没加到 PATH。另一个原因是 JSON 格式错误。mcp.json里多一个逗号、少一个引号都会导致整个文件解析失败。建议用 VS Code 打开这个文件它会自动提示 JSON 语法错误。5.2 Agent 说找不到 MySQL 工具先确认 MySQL MCP Server 在 Cursor Settings - MCP 里是绿色状态。如果是绿色但 Agent 还是找不到可能是模型没有正确理解工具描述。你可以在任务描述里明确写“使用 mysql 工具查询”帮模型定位。还有一种情况是 MySQL 连接信息填错了。MYSQL_HOST如果是远程库要确认网络可达MYSQL_USER要有对应库的权限。我遇到过用 root 连远程库被拒绝的情况换成专用账号就好了。5.3 FileSystem 写入失败FileSystem MCP Server 的 args 里配置的路径是白名单Agent 只能在这些路径下读写。如果你让它写到E:/mcp/北京旅行/但白名单里只有E:/mcp它是可以写的因为子目录在白名单范围内。但如果写到D:/output就会被拒绝。另外Windows 下路径分隔符用/或\\都可以但 JSON 里反斜杠需要转义所以建议统一用/。5.4 DeepSeek 模型调用报错如果你在 Cursor 里配置的是 TaoToken 的 API 地址报错通常是 Key 无效或余额不足。去控制台检查一下 Key 的状态和余额。如果用的是 DeepSeek 官方 Key确认 Key 没有过期。模型名称也要注意deepseek-chat和deepseek-reasoner是两个不同的模型填错了会报 model not found。5.5 任务执行到一半中断这是长上下文任务的常见现象不是 bug。DeepSeek 在处理多步工具调用时如果历史消息太长会触发截断。解决办法有两个一是把任务拆成多个小任务分步执行二是在中断后回复“继续执行”让模型接着往下走。如果你经常跑长任务可以考虑用 Coding Plan 来获得更稳定的长上下文支持入口在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。6. 接入路径与工具入口整条链路的配置核心就是那份mcp.json骨架改完 MySQL 连接信息和高德 Key 就能跑。如果你还没有 API Key先去控制台创建一个https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。创建完在 Cursor 的模型配置里填上 API 地址 https://taotoken.net/api 和 Key。想先验证模型对话是否正常可以用模型对话入口快速测一下https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 。如果你要长期在 Cursor 里跑编码和 Agent 任务Coding Plan 更适合https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。MCP 的接入文档和 API Keys 管理分别在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 和 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。如果你用的是 Claude Code 或 Anthropic 系的工具对应入口在 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentClaudeCodeAnthropicutm_campaignrewrite 。最后提醒一句MCP 的配置文件改完后一定要重启 Cursor否则不生效。这个坑我踩过不止一次。