Cursor MCP 配置:mcp.json、一键安装链接与 OAuth

给 Cursor 添加 MCP 服务器:mcp.json 在哪里(全局与项目)、远程 url 和本地 command 两种写法、OAuth 登录,以及可以分享的一键安装 deeplink。
一句话概括:Cursor 从
mcp.json读取 MCP 服务器,全局的在~/.cursor/mcp.json,按项目的在.cursor/mcp.json。远程服务器是一个url条目;本地服务器是command加args。保存文件,打开 Cursor Settings → Tools & MCP,在服务器显示 Needs login 时登录,工具就可以供 Agent 使用了。服务器也可以做成一键安装链接分享;UnifAPI 的那个在下面。
Cursor 的 MCP 支持是基于文件的,这是个好消息:除了 OAuth 登录之外没有任何需要点来点去的地方,配置可以提交到仓库,而且同一种 JSON 写法对每个服务器都适用。本指南以 UnifAPI MCP 服务器(https://mcp.unifapi.com,来自 X、Instagram、TikTok、YouTube、Reddit、LinkedIn、Threads 和 SEO 技术栈的实时公开数据)为例。
mcp.json 在哪里
| 文件 | 作用域 | 用途 |
|---|---|---|
~/.cursor/mcp.json | 这台机器上的每个项目,仅当前用户 | 你想在任何地方都能用的服务器(数据服务器、浏览器、文档服务器) |
.cursor/mcp.json | 单个项目,随仓库一起提交 | 属于这个代码库的服务器;同事克隆后就能拿到 |
两个文件的写法相同,Cursor 会把它们合并。如果同一个名字在两处都出现,以项目条目为准。
远程服务器:url 写法
创建或编辑文件,在 mcpServers 下添加服务器:
{
"mcpServers": {
"unifapi": {
"url": "https://mcp.unifapi.com"
}
}
}
保存。打开 Cursor Settings → Tools & MCP(旧版本:MCP & Integrations)。服务器会带着一个状态圆点出现。对 UnifAPI 这样受 OAuth 保护的服务器,它显示 Needs login:点击它,在浏览器窗口里登录或注册一个 UnifAPI 账户,并批准只读权限范围。圆点变绿,服务器下方会展开工具列表:list_operations、get_operation 和 call_api。
Cursor 支持 OAuth 2.0 动态客户端注册,UnifAPI 用的正是这种方式,所以不需要 client ID。对于发放固定 client ID 或要求白名单 redirect URL 的提供方,Cursor 接受在 url 旁边加一个 auth 块,包含 CLIENT_ID、可选的 CLIENT_SECRET 和 scopes。UnifAPI 不需要它。
用静态令牌而不是 OAuth 的远程服务器使用 headers,值可以来自你的环境变量:
{
"mcpServers": {
"example": {
"url": "https://mcp.example.com",
"headers": {
"Authorization": "Bearer ${env:EXAMPLE_TOKEN}"
}
}
}
}
UnifAPI 也接受这样传入工作区 API 密钥,但推荐走 OAuth:文件里没有任何秘密,而且令牌是只读的。
本地服务器:command 写法
运行在你机器上的服务器,是一条由 Cursor 启动的命令:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"],
"env": {
"NODE_OPTIONS": "--max-old-space-size=512"
}
}
}
}
${workspaceFolder}、${userHome} 和 ${env:NAME} 会被插值替换,所以提交到仓库的 .cursor/mcp.json 可以不依赖具体机器。command 和 url 互斥;两者都有的条目会被忽略。
一键安装链接
Cursor 可以从一个 deeplink 安装服务器,厂商文档上的“Add to Cursor”按钮就是这么做的。链接里带着服务器名和你手写时会用的同一份 JSON,经过 base64 编码:
cursor://anysphere.cursor-deeplink/mcp/install?name=$NAME&config=$BASE64_CONFIG
对 UnifAPI,config 是 {"url":"https://mcp.unifapi.com"} 的 base64:
cursor://anysphere.cursor-deeplink/mcp/install?name=unifapi&config=eyJ1cmwiOiJodHRwczovL21jcC51bmlmYXBpLmNvbSJ9
在浏览器里打开它,服务器就会交给 Cursor,Cursor 会在写入你的全局 mcp.json 之前请你确认。用 echo -n '{"url":"https://…"}' | base64 生成你自己的,再替换那两个参数。链接便于上手;对团队来说,提交到仓库的 .cursor/mcp.json 仍然是正确选择。
使用工具
MCP 工具由 Agent(默认聊天模式)使用,内联编辑和 Tab 补全不会用到。问一个服务器能回答的问题,然后留意工具调用:
用 unifapi MCP 服务器列出 TikTok 可用的操作,并告诉我哪一个返回创作者的近期视频。
除非你在 MCP 设置里为该服务器开启了自动运行,Cursor 在运行工具前都会询问。对 UnifAPI 这样的只读服务器,开启自动运行是合理的:一次调用能花掉的只有工作区积分,而且 get_operation 会在 call_api 运行之前显示每条记录的价格。
Cursor 一次只给模型发送有限数量的工具(所有已启用服务器合计约四十个),其余的会被禁用,所以优先选择工具面小的服务器。UnifAPI 的目录有意只放在三个工具后面;一个按每个端点一个工具暴露的大目录,大部分工具都会被禁用。
在 UnifAPI 上的第一个任务
一个把整个循环都走一遍的有边界提示词:
用 unifapi MCP 工具:找出最近 7 天内提到“Cursor MCP”的 Reddit 主题串,按分值取前 20 条,归纳反复出现的配置问题,每个问题附一条示例主题串。在
call_api之前先调用list_operations和get_operation。
计费按公开数据记录计,以工作区积分结算(每积分 $0.001;大多数记录为 1 积分,最低消耗更高的操作会在目录里标明)。模型 token 仍算在你的 Cursor 套餐上。新的 UnifAPI 工作区在首次充值之前没有积分,首次充值附带一次性赠送,所以在第一次 call_api 之前先充值一次。
如果你想从一项任务而不是一个端点出发,平台 Agents(Reddit、X、LinkedIn、TikTok、YouTube、Instagram、Threads)和 SEO Agent 各自带着一段现成的提示词和它需要的操作。
故障排查
| 症状 | 怎么做 |
|---|---|
保存 mcp.json 后服务器没有列出 | 校验 JSON(没有尾随逗号);在 Tools & MCP 里把服务器关掉再打开,或重新加载窗口 |
| Needs login 一直不消失 | 弹窗被拦截,或者 OAuth 窗口登录了另一个账户;再点一次状态,或删掉服务器重新添加 |
| 工具已列出但呈灰色 | 你超过了 Cursor 的活跃工具上限;禁用一个你没在用的服务器 |
| Agent 不调用工具就作答 | 在提示词里点一次服务器的名字(“用 unifapi MCP 服务器”);成功调用一次之后它就会自己去用 |
call_api 返回 insufficient_credits | 工作区还没有积分;在 UnifAPI 控制台充值一次,然后重新运行 |
| 同事看不到项目服务器 | .cursor/mcp.json 没有提交,或者他们的 Cursor 还没有信任这个工作区文件夹 |
已核查的来源
本文写于 2026 年 10 月 14 日,依据 Cursor 的 MCP 文档(配置写法、OAuth、插值)和安装链接参考。设置项的标签在 Cursor 各版本之间会变;文件格式一直很稳定。
接下来可以读什么
MCP 配置 —— 每个客户端的托管连接器说明。
如何给 Claude 添加 MCP 服务器 —— 连接器、claude_desktop_config.json 和 claude mcp add。
Codex MCP 配置 —— codex mcp add 和 config.toml。
Agent 上下文:rules、Skills 与 MCP —— MCP 在 rules 文件和 Skills 旁边的位置。