MCP实战教程:让Cursor直接查询数据库和调用API的完整配置指南
上周三下午,我正在写一个数据分析功能,需要查一下数据库里12月份新增了多少用户。按照以前的习惯,我得切到DataGrip,写条SQL,跑一下,复制结果,再粘回代码里。就这一个简单查询,来回切了三次窗口,浪费了两分钟。
然后我突然想:我每天都在用Cursor写代码,AI已经能帮我写函数、改bug了,为什么不能直接帮我查数据库?
配完MCP之后,现在我直接在Cursor里问:“帮我查一下12月新增用户数”,AI秒回结果。不用切窗口,不用写SQL,效率直接翻倍。
说实话,刚开始听说MCP的时候,我也懵了半天。什么Server、Client、Protocol,听着挺高大上,但网上的教程要么太理论(讲半天架构图),要么太简陋(Hello World就完事了)。我花了两天时间踩坑,才搞明白怎么配置。
所以这篇文章,我想用最直白的方式,手把手教你配置MCP,让AI能直接查数据库、调API。15分钟配完,立刻就能用上。
MCP是什么,为什么需要它
用人话解释MCP
MCP全称是Model Context Protocol(模型上下文协议)。听着很学术对吧?其实说白了,就是给AI配了个”工具腰带”。
以前的AI就像一个特别聪明的顾问:你问它问题,它能给你建议、写代码,但它自己啥也干不了。你得把它的建议复制出来,自己去执行。
有了MCP之后,AI变成了真正的助手:它不光能给建议,还能直接帮你干活。查数据库、调API、读文件,这些事它都能自己搞定。
传统方式 vs MCP方式
举个实际例子,你想知道上个月销售额最高的产品:
传统方式(没有MCP):
- 你:让AI写一条查询SQL
- AI:给你一段SQL代码
- 你:复制SQL,切到数据库客户端
- 你:粘贴SQL,执行
- 你:复制查询结果
- 你:切回Cursor,把结果贴给AI
- AI:基于结果继续分析
整个流程要在三个窗口之间反复切换。麻烦。
MCP方式:
- 你:直接问AI”上个月哪个产品销售额最高?”
- AI:自动查询数据库,直接告诉你答案
一步到位。效率差了至少5倍。
核心概念(3分钟搞懂)
MCP的架构其实很简单,就三个角色:
MCP Client(使用工具的AI大脑)
就是你用的AI工具,比如Cursor、Claude Desktop。它负责理解你的需求,决定要不要用工具。
MCP Server(提供工具的服务员)
这是你配置的服务,专门给AI提供某个能力。比如数据库MCP Server让AI能查数据库,API MCP Server让AI能调接口。
Tools(具体的能力)
每个MCP Server暴露的具体功能。比如数据库Server可能有”查询表结构”、“执行SELECT查询”、“统计行数”这些工具。
类比一下:AI是个工人(Client),MCP Server是工具箱,里面有扳手、锤子(Tools)。你说要钉钉子,AI就知道从工具箱里拿锤子出来用。
懂了这三个概念,后面的配置你就能理解在干什么了。
实战案例1 - SQLite数据库集成
为什么从SQLite开始
SQLite最大的好处是简单:不用装数据库服务,不用配端口,一个文件就是一个数据库。最适合拿来练手。
等你熟悉了流程,换成PostgreSQL、MySQL也是一样的套路。
准备工作:创建测试数据库
先造点数据,这样才能测试查询效果。创建一个test.db文件:
-- 创建用户表
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE,
created_at TEXT DEFAULT CURRENT_TIMESTAMP
);
-- 创建订单表
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
product_name TEXT,
amount REAL,
order_date TEXT DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- 插入测试用户
INSERT INTO users (name, email) VALUES
('张三', '[email protected]'),
('李四', '[email protected]'),
('王五', '[email protected]');
-- 插入测试订单
INSERT INTO orders (user_id, product_name, amount) VALUES
(1, 'MacBook Pro', 12999.00),
(1, 'AirPods', 1299.00),
(2, 'iPhone 15', 5999.00),
(3, 'iPad Air', 4799.00),
(3, 'Apple Watch', 2999.00);
你可以用任何SQLite工具(DB Browser、命令行等)执行这些SQL,或者直接用Python:
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 执行上面的SQL语句
# ...
conn.commit()
conn.close()
配置MCP Server(重点来了)
这是整个教程最核心的部分。MCP的配置文件在两个位置,取决于你的需求:
全局配置(所有项目都能用):
- Windows:
C:\Users\你的用户名\.cursor\mcp.json - Mac/Linux:
~/.cursor/mcp.json
项目级配置(只在当前项目生效):
- 项目根目录下的
.cursor/mcp.json
我建议先用项目级配置练手,确认能跑通了再搬到全局。
创建 .cursor/mcp.json 文件,写入以下内容:
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sqlite",
"--db-path",
"D:/path/to/your/test.db"
]
}
}
}
关键点解释(很多人卡在这):
mcpServers: 这是固定的字段名,别改"sqlite": 这是你给这个Server起的名字,随便取,AI会看到这个名字command: "npx": 用npx直接运行MCP Server,不用手动安装args: 传给命令的参数-y: 自动确认安装@modelcontextprotocol/server-sqlite: 这是官方的SQLite MCP Server包--db-path: 数据库文件路径(必须是绝对路径!)
Windows用户注意:路径要用正斜杠/或双反斜杠\\,不能用单反斜杠:
- ✅
D:/projects/test.db - ✅
D:\\\\projects\\\\test.db - ❌
D:\projects\test.db(这会报错)
重启Cursor,验证配置
配置文件保存后,必须完全重启Cursor,不是关闭窗口,是退出应用。
重启后,可以在Cursor的设置里检查MCP是否生效:
- 打开设置(Ctrl+,)
- 搜索 “MCP”
- 应该能看到你配置的SQLite Server
或者更直接的方法:直接问AI一个数据库相关的问题,看它会不会调用MCP。
实战演示
配置成功后,你就可以这样玩了:
查询1:查看有哪些表
你:数据库里有哪些表?
AI:[调用MCP查询] 有两个表:users和orders
查询2:统计用户数
你:帮我查一下总共有多少用户
AI:[执行 SELECT COUNT(*) FROM users] 一共有3个用户
查询3:查某个用户的订单
你:张三买了什么?
AI:[执行联表查询] 张三购买了:
- MacBook Pro(12999元)
- AirPods(1299元)
总计:14298元
查询4:聚合分析
你:哪个用户消费最多?
AI:[执行 GROUP BY 查询] 张三消费最多,总计14298元
看到没?你完全不用写SQL,AI自动帮你搞定。这就是MCP的威力。
常见问题排查
问题1:MCP Server没启动
症状:AI回答问题,但不调用数据库
解决:
- 检查配置文件语法(JSON格式要正确,不能有多余逗号)
- 确认完全重启了Cursor
- 看Cursor的输出日志,搜索”MCP”相关错误
问题2:找不到数据库文件
症状:报错 “cannot open database file”
解决:
- 确认路径是绝对路径,不是相对路径
- Windows用户检查斜杠方向
- 确认文件确实存在(
ls或dir命令检查)
问题3:权限错误
症状:Permission denied
解决:
- 检查数据库文件的读写权限
- Windows用户:右键文件 → 属性 → 安全,确认当前用户有读权限
调试技巧:在VS Code(Cursor)里打开”输出”面板(View → Output),选择”MCP”频道,能看到详细的错误日志。
实战案例2 - PostgreSQL数据库集成
进阶场景:生产环境数据库
SQLite适合学习和小项目,但真实工作中,你可能用的是PostgreSQL、MySQL这类生产级数据库。好消息是,配置套路是一样的,只是参数不同。
我这里以PostgreSQL为例,MySQL也是类似的。
配置差异:连接信息和环境变量
PostgreSQL是C/S架构,需要提供连接信息。但是千万别把密码直接写在配置文件里,这是最常见的安全错误。
正确做法是用环境变量。
先在项目根目录创建 .env 文件(记得加到.gitignore):
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DATABASE=myapp
POSTGRES_USER=readonly_user
POSTGRES_PASSWORD=your_secure_password
然后配置 .cursor/mcp.json:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"--stdio"
],
"env": {
"POSTGRES_HOST": "${POSTGRES_HOST}",
"POSTGRES_PORT": "${POSTGRES_PORT}",
"POSTGRES_DATABASE": "${POSTGRES_DATABASE}",
"POSTGRES_USER": "${POSTGRES_USER}",
"POSTGRES_PASSWORD": "${POSTGRES_PASSWORD}"
}
}
}
}
关键点:
--stdio: 表示通过标准输入输出通信(本地方式)env: 环境变量配置,Cursor会自动读取项目的.env文件
安全最佳实践(非常重要)
给AI数据库权限,安全是第一位的。我踩过的坑,你别再踩:
1. 使用只读账号
别给AI写权限!万一AI理解错了你的意思,执行了DELETE或UPDATE,你就哭吧。
创建只读用户:
-- 创建只读用户
CREATE USER readonly_user WITH PASSWORD 'secure_password';
-- 只给SELECT权限
GRANT CONNECT ON DATABASE myapp TO readonly_user;
GRANT USAGE ON SCHEMA public TO readonly_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
-- 确保将来新建的表也只有SELECT权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT ON TABLES TO readonly_user;
2. 限制访问范围
如果数据库里有敏感表(比如用户密码、支付信息),别让AI碰到:
-- 撤销敏感表的访问权限
REVOKE SELECT ON TABLE user_passwords FROM readonly_user;
REVOKE SELECT ON TABLE payment_info FROM readonly_user;
3. 生产环境用读副本
如果你真要在生产环境用MCP(我建议先别这么干),至少要连到读副本(Read Replica),不要连主库。万一AI的查询太复杂,把数据库拖垮了,至少不影响线上服务。
实战演示
配置好后,你可以做一些SQLite做不了的事:
复杂查询:多表JOIN
你:统计每个部门的平均工资
AI:[执行复杂查询]
SELECT d.name, AVG(e.salary) as avg_salary
FROM departments d
JOIN employees e ON d.id = e.department_id
GROUP BY d.name
ORDER BY avg_salary DESC;
结果:
- 技术部:平均15000元
- 产品部:平均12000元
- 运营部:平均10000元
性能分析:查看执行计划
你:帮我看看这个查询为什么这么慢
AI:[执行EXPLAIN] 发现没有用到索引,建议在user_id字段加索引
数据分析:生成报表
你:过去7天每天的新增用户数
AI:[执行时间窗口查询]
2024-01-10: 45人
2024-01-11: 52人
...
常见问题
问题1:连接超时
症状:timeout connecting to database
解决:
- 检查数据库是否启动(
pg_isready命令) - 检查防火墙是否允许连接
- 确认host和port配置正确
问题2:认证失败
症状:authentication failed
解决:
- 检查用户名密码是否正确
- 确认PostgreSQL的
pg_hba.conf允许该用户连接 - 试试用
psql命令行工具手动连接,确认凭据没问题
问题3:权限不足
症状:permission denied for table xxx
解决:
- 这可能是好事,说明只读权限生效了
- 如果确实需要查这个表,用管理员账号执行上面的GRANT命令
实战案例3 - API调用集成
应用场景:让AI调用外部服务
数据库解决的是内部数据查询,但有时候你需要的数据在外部API。比如:
- 查GitHub仓库的star数、issue列表
- 调用公司内部的微服务API
- 获取天气、汇率等实时数据
有了MCP,AI也能帮你调这些接口。
配置HTTP类型的MCP Server
API调用和数据库不太一样,不需要安装MCP Server包,直接配置HTTP类型就行。
以GitHub API为例,配置 .cursor/mcp.json:
{
"mcpServers": {
"github-api": {
"url": "https://api.github.com",
"headers": {
"Accept": "application/vnd.github.v3+json",
"User-Agent": "Cursor-MCP-Client"
}
}
}
}
如果API需要认证(比如GitHub的私有仓库),加上token:
{
"mcpServers": {
"github-api": {
"url": "https://api.github.com",
"headers": {
"Accept": "application/vnd.github.v3+json",
"Authorization": "Bearer ${GITHUB_TOKEN}",
"User-Agent": "Cursor-MCP-Client"
}
}
}
}
同样的,把token放在.env文件里:
GITHUB_TOKEN=ghp_your_personal_access_token_here
获取GitHub Token的方法:
- 打开GitHub → Settings → Developer settings
- Personal access tokens → Tokens (classic)
- Generate new token → 勾选需要的权限(repo、user等)
- 复制token(只显示一次,记得保存)
实战演示
配置好后,你可以直接让AI帮你调API:
查询仓库信息
你:帮我查一下 facebook/react 这个仓库的star数
AI:[调用 GET /repos/facebook/react]
React仓库目前有 218,345 个star,79,234 个fork
获取最新Issue
你:看看 facebook/react 最近有什么issue
AI:[调用 GET /repos/facebook/react/issues?state=open&per_page=5]
最近5个issue:
1. [Bug] useEffect在严格模式下执行两次
2. [Feature] 支持Suspense的新API
3. [Question] 如何优化大列表渲染
...
分析提交频率
你:过去一周 facebook/react 有多少次提交?
AI:[调用 GET /repos/facebook/react/commits?since=...]
过去7天有 43 次提交,主要贡献者是...
配置自定义API
公司内部API也可以这么配。假设你有个内部用户服务:
{
"mcpServers": {
"user-service": {
"url": "https://api.yourcompany.com/user-service",
"headers": {
"Authorization": "Bearer ${INTERNAL_API_KEY}",
"Content-Type": "application/json"
}
}
}
}
然后你就能问AI:
你:查一下用户ID 12345 的订单历史
AI:[调用内部API] 用户12345在过去30天内下了8单,总消费3200元
注意事项
API限流
很多API有调用频率限制。GitHub免费版每小时只能调60次。如果AI疯狂调用,很容易触发限流。
解决办法:
- 用认证token(GitHub认证后限额提升到5000次/小时)
- 告诉AI”尽量少调用API,能复用结果就复用”
安全风险
给AI调API的权限,等于给了它操作外部服务的能力。务必:
- 用只读token(不要给写权限)
- 定期轮换token
- 监控API调用日志
进阶技巧与最佳实践
多MCP Server并用
一个项目里,你可以同时配置多个MCP Server。AI会自动选择合适的工具。
比如我的配置:
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "D:/projects/myapp/data.db"]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": {
"POSTGRES_HOST": "${POSTGRES_HOST}",
"POSTGRES_PORT": "${POSTGRES_PORT}",
"POSTGRES_DATABASE": "${POSTGRES_DATABASE}",
"POSTGRES_USER": "${POSTGRES_USER}",
"POSTGRES_PASSWORD": "${POSTGRES_PASSWORD}"
}
},
"github-api": {
"url": "https://api.github.com",
"headers": {
"Authorization": "Bearer ${GITHUB_TOKEN}",
"Accept": "application/vnd.github.v3+json"
}
}
}
}
这样配置后,我可以问AI:
你:查一下本地SQLite数据库有多少用户,再去GitHub看看我们的仓库有多少star
AI:[自动选择sqlite MCP] 本地有245个用户
[自动选择github-api MCP] 仓库有1.2k star
AI会根据问题内容,自己判断该用哪个工具。挺智能的。
项目级 vs 全局配置
两种配置方式,适用场景不同:
项目级配置(.cursor/mcp.json):
- 适合项目特定的数据库、API
- 好处:不同项目互不干扰,配置可以提交到Git(记得排除敏感信息)
- 坏处:每个项目都要配一遍
全局配置(~/.cursor/mcp.json):
- 适合通用工具(文件系统、通用API等)
- 好处:配一次,所有项目都能用
- 坏处:容易混乱,而且配置文件不在项目里,团队协作不方便
我的建议:
- 数据库、项目专属API → 项目级配置
- GitHub、天气这种通用API → 全局配置
- 开发完成后,把项目级配置整理成文档,方便团队其他人复制
性能优化
MCP每次调用都要真实执行查询或API请求,如果频繁调用,会比较慢。几个优化技巧:
1. 引导AI缓存结果
你:帮我查一下用户列表(记住这个结果,后面会用到)
AI:[查询并记住] 有245个用户...
你:刚才那245个用户里,有多少是VIP?
AI:[不用重新查询,直接基于之前的结果分析]
2. 限制查询复杂度
别让AI写太复杂的查询。如果AI生成了一个10层嵌套的SQL,赶紧叫停,手动优化一下。
3. 使用数据库索引
AI查询再智能,也受数据库性能限制。该加索引的地方还是要加。
调试技巧
遇到问题,这几个方法能帮你快速定位:
1. 查看MCP日志
Cursor的”输出”面板(View → Output),选择”MCP”频道,能看到:
- MCP Server启动日志
- 每次工具调用的参数和返回值
- 错误堆栈
2. 测试MCP配置
写完配置后,先用简单问题测试:
你:测试一下数据库连接,告诉我有哪些表
如果这个都不行,说明配置有问题。
3. 手动执行验证
AI说查询失败,你可以手动执行一遍,看看是AI生成的SQL有问题,还是权限、连接问题。
常见错误代码含义
ENOENT: 文件或路径不存在(检查路径)ECONNREFUSED: 连接被拒绝(数据库没启动或端口不对)EACCES: 权限不足(文件权限或数据库权限)ERR_MODULE_NOT_FOUND: MCP Server包没安装(检查npx命令)ETIMEDOUT: 超时(网络问题或查询太慢)
结论
说实话,配完MCP之后,我写代码的方式真的变了。
以前查个数据,要在三个窗口之间跳来跳去,思路经常被打断。现在直接在Cursor里问一句,AI秒回结果,思维能一直保持在代码逻辑上。
这篇文章写了3000多字,但核心就三件事:
- 理解概念:MCP就是给AI配工具,让它能干活而不只是出主意
- 跟着配置:SQLite练手,PostgreSQL用于生产,API扩展能力
- 注意安全:只读权限、环境变量、别碰生产主库
今天就花15分钟,配一个SQLite MCP试试。你会发现,效率提升不是10%、20%,而是完全不一样的工作方式。
最后说一句:MCP现在还挺新的,官方在不断迭代,社区也在快速贡献新的Server。我GitHub上收藏了一个MCP Server清单,有空可以去看看,说不定能找到适合你的工具。
有什么问题,评论区见。我会回复的。
MCP数据库配置完整流程
从零开始配置MCP Server,让Cursor能直接查询数据库的完整步骤
⏱️ 预计耗时: 15 分钟
- 1
步骤1: 创建配置文件:选择项目级或全局配置
配置文件位置选择:
**项目级配置**(推荐新手):
• 在项目根目录创建 .cursor/mcp.json
• 优点:不同项目互不干扰,配置可版本控制
• 适用:项目特定的数据库和API
**全局配置**:
• Windows: C:\Users\用户名\.cursor\mcp.json
• Mac/Linux: ~/.cursor/mcp.json
• 优点:所有项目通用,配一次到处用
• 适用:GitHub、天气等通用API
创建命令:
• mkdir .cursor && touch .cursor/mcp.json(Mac/Linux)
• md .cursor && type nul > .cursor\mcp.json(Windows) - 2
步骤2: SQLite配置:最简单的入门方式
SQLite配置步骤:
1. 准备数据库文件(test.db)
2. 编辑 .cursor/mcp.json:
```json
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sqlite",
"--db-path",
"/absolute/path/to/test.db"
]
}
}
}
```
**关键注意事项**:
• 路径必须是绝对路径,不能用相对路径
• Windows用户:用正斜杠 / 或双反斜杠 \\
• npx会自动下载MCP Server,首次运行稍慢
• 重启Cursor后配置才生效(完全退出应用) - 3
步骤3: PostgreSQL配置:生产环境安全实践
PostgreSQL配置步骤(安全版):
1. 创建 .env 文件(记得加到 .gitignore):
```env
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DATABASE=myapp
POSTGRES_USER=readonly_user
POSTGRES_PASSWORD=your_password
```
2. 创建只读用户(重要!):
```sql
CREATE USER readonly_user WITH PASSWORD 'password';
GRANT CONNECT ON DATABASE myapp TO readonly_user;
GRANT USAGE ON SCHEMA public TO readonly_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
```
3. 配置 .cursor/mcp.json:
```json
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": {
"POSTGRES_HOST": "${POSTGRES_HOST}",
"POSTGRES_PORT": "${POSTGRES_PORT}",
"POSTGRES_DATABASE": "${POSTGRES_DATABASE}",
"POSTGRES_USER": "${POSTGRES_USER}",
"POSTGRES_PASSWORD": "${POSTGRES_PASSWORD}"
}
}
}
}
```
**安全要点**:
• 永远不要给AI写权限(DELETE/UPDATE)
• 生产环境连读副本,不要连主库
• 撤销敏感表权限(用户密码、支付信息等) - 4
步骤4: 验证配置:测试MCP是否工作
配置验证步骤:
1. 完全重启Cursor(不是关窗口,是退出应用)
2. 打开Cursor设置(Ctrl+, 或 Cmd+,)
3. 搜索"MCP",检查是否显示你的配置
**实际测试**:
直接问AI简单问题:
• "数据库里有哪些表?"
• "帮我查一下总共有多少用户"
**调试方法**:
• 打开输出面板:View → Output
• 选择"MCP"频道查看日志
• 检查启动错误、连接失败等信息
**常见错误**:
• ENOENT:路径不存在,检查绝对路径是否正确
• ECONNREFUSED:数据库未启动或端口错误
• Permission denied:文件权限或数据库权限不足
• JSON parse error:配置文件格式错误,检查逗号和引号
常见问题
为什么配置后AI还是不调用数据库?
1. **没有完全重启Cursor**:必须退出应用重新打开,不是关闭窗口
2. **配置文件语法错误**:检查JSON格式,特别是逗号和引号,用工具验证JSON是否正确
3. **路径问题**:必须使用绝对路径,相对路径不行
调试方法:打开输出面板(View → Output),选择"MCP"频道,查看启动日志和错误信息。如果看到"MCP Server started"说明启动成功,否则检查错误提示。
生产环境使用MCP安全吗?
**必须做的**:
• 使用只读账号,禁止DELETE/UPDATE/DROP权限
• 连接读副本(Read Replica),不要连主库
• 用环境变量管理密码,不要硬编码
• 撤销敏感表的访问权限(用户密码、支付信息等)
**建议做的**:
• 定期审查MCP调用日志,监控异常查询
• 限制查询复杂度,避免拖垮数据库
• 先在开发环境验证,确认没问题再上生产
总之:只读权限 + 读副本 + 环境变量,是生产环境使用MCP的最低安全标准。
可以同时配置多个数据库吗?
```json
{
"mcpServers": {
"sqlite-local": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/local.db"]
},
"postgres-prod": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "--stdio"],
"env": { "POSTGRES_HOST": "prod-server", ... }
}
}
}
```
使用时,明确告诉AI用哪个数据库:
• "在本地SQLite查一下用户数"
• "在生产PostgreSQL查最新订单"
AI会根据你的描述,自动选择对应的MCP Server。
Windows路径配置为什么总是报错?
**✅ 正确**:
• "D:/projects/test.db"(推荐,正斜杠)
• "D:\\\\projects\\\\test.db"(双反斜杠)
**❌ 错误**:
• "D:\projects\test.db"(单反斜杠,JSON解析错误)
• "./test.db"(相对路径,MCP找不到)
• "C:\Users\用户名\test.db"(中文路径可能有问题)
**调试技巧**:
1. 在CMD或PowerShell中确认文件存在:dir "D:\projects\test.db"
2. 复制绝对路径后,手动替换反斜杠为正斜杠
3. 用在线JSON验证工具检查配置文件格式
MCP会影响Cursor的性能吗?
**正常情况**:
• MCP Server只在需要时启动,不用时不占资源
• 查询延迟 = 数据库响应时间 + 网络延迟,通常 <1秒
**可能变慢的情况**:
• 首次调用:npx需要下载MCP Server包(只发生一次)
• 复杂查询:AI生成的SQL太复杂,拖慢数据库
• API限流:频繁调用外部API触发限流
**优化方法**:
• 引导AI缓存结果:"记住这个查询结果,后面会用"
• 限制查询范围:"只查最近100条记录"
• 给数据库加索引,减少查询时间
14 分钟阅读 · 发布于: 2026年1月17日 · 修改于: 2026年3月3日

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