面向 AI 助手的 MCP 服务器
通过 Model Context Protocol 把 Claude Code、Claude Desktop 或 Cursor 接入你的工作区:现成的配置、工具目录、权限与套餐门槛。
更新于 2026年8月14日
MCP 服务器让 AI 助手直接操作你的链接和数据分析:「把这个落地页缩短到我们的品牌域名上」、「上周点击量最高的五条链接是哪些」、「把营销活动域名的预警规则静音到周一」。助手走的是你自己也会调用的那套公开 API,拿到的权限与你接入时所用密钥的权限完全一致。
https://api.linkprofit.com/v1/mcp
传输方式是基于 HTTP 的 JSON-RPC 2.0,遵循 Model Context Protocol 的 2025-06-18 修订版(2025-03-26 修订版同样接受)。这里没有由服务端发起的事件流,也没有会话状态:GET 和 DELETE 一律返回 405,不会签发 Mcp-Session-Id,每个请求所需的全部上下文都由密钥本身携带。任何会说 HTTP 的 MCP 客户端都能用——下面这三个,只是我们额外提供了可直接复制的配置而已。
1. 为助手创建一个密钥
在控制台中打开 设置 → API 密钥,创建一个工作区密钥(lp_live_…)。只授予助手真正该有的权限——下面的工具目录列出了每个工具各自需要什么。一个带 links:read + analytics:read 的密钥,给你的是一个只读助手:它能回答问题,但改不了任何东西。
密钥的完整值只显示一次。请把它当作密码对待:它接下来要写进你机器上的一个配置文件。
2. 把服务器添加到你的客户端
Claude Code
一条命令,不用编辑任何配置文件:
claude mcp add --transport http linkprofit https://api.linkprofit.com/v1/mcp \
--header "Authorization: Bearer lp_live_…your key…"
加上 --scope user,可以让这个服务器在你机器上的每个项目里都可用,而不只是当前这一个。用 claude mcp list 查看结果,之后想移除就用 claude mcp remove linkprofit。
Claude Desktop
编辑配置文件——macOS 上是 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上是 %APPDATA%\Claude\claude_desktop_config.json——把服务器加进去:
{
"mcpServers": {
"linkprofit": {
"type": "http",
"url": "https://api.linkprofit.com/v1/mcp",
"headers": {
"Authorization": "Bearer lp_live_…your key…"
}
}
}
}
重启 Claude Desktop。这些工具会出现在新会话的工具选择器里。
Cursor
在项目中创建 .cursor/mcp.json(想让它处处可用,就创建 ~/.cursor/mcp.json):
{
"mcpServers": {
"linkprofit": {
"url": "https://api.linkprofit.com/v1/mcp",
"headers": {
"Authorization": "Bearer lp_live_…your key…"
}
}
}
}
保存之后 Cursor 会自动读取该文件,并在 Settings → MCP 中显示这个服务器。
手动检查连接
任何客户端出了问题,在协议层面都更容易看清。下面就是各客户端所做的同一次握手:
curl -s -X POST https://api.linkprofit.com/v1/mcp \
-H "Authorization: Bearer $LINKPROFIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": { "name": "curl", "version": "1.0" }
}
}'
正常的响应会给出协议版本、服务器信息以及它的工具能力。把 method 换成 tools/list 就能看到工具目录,换成 ping 则只用来确认能否连通。
工具
共十个工具,全部限定在密钥所属的工作区内。权限那一列是密钥必须具备的项;密钥没有相应权限的工具,在被调用时会直接失败,而不会从目录里隐藏起来。
| 工具 | 作用 | 所需权限 |
| --- | --- | --- |
| list_links | 列出工作区的短链接,可按搜索词筛选 | links:read |
| get_link | 按 id 读取一条链接 | links:read |
| create_link | 创建一条短链接;不传 domain_id 时使用工作区的默认域名 | links:write |
| update_link | 修改已有链接的目标地址或标题 | links:write |
| analytics_summary | 某个时间段的点击量、访客数和二维码扫描数,也可只看单条链接 | analytics:read |
| analytics_breakdown | 按国家/地区、城市、设备、浏览器、操作系统、来源或 UTM 拆分的点击量与访客数 | analytics:read |
| analytics_top_links | 该时间段点击量最高的链接,附点击量与访客数 | analytics:read |
| analytics_timeseries | 按小时、天或周统计的点击量与访客数走势 | analytics:read |
| list_alert_rules | 列出预警规则及其发送渠道和抑制窗口 | alerts:read |
| update_alert_rule | 启用、停用预警规则,或重新调整它的抑制窗口 | alerts:write |
参数 schema 来自校验这次调用时所用的同一份定义,因此助手被告知的工具形态,与服务端实际接受的内容不可能产生偏差。只读工具会被标注出来,正是这一点让客户端可以在那三个会改动数据的工具之前先请求确认:create_link、update_link 和 update_alert_rule——以及将来版本再加进这份名单的任何工具。
每一次改动数据的工具调用都会写入工作区的审计日志,记下发起它的密钥,并注明这次调用来自 MCP——助手做的改动,和人做的改动一样可追溯。
权限与安全
密钥就是权限边界。 这里没有什么享有特权的「助手模式」:一次工具调用使用的是该密钥的权限,运行在该密钥所属的工作区内,受同样的速率限制和同样的租户隔离约束,与 REST 调用别无二致。来自其他工作区的 id 得到的是 not_found,和走 REST 时完全一样。
有三个习惯值得养成:
- 给助手配一个专属密钥,绝不要用生产集成在用的那一个。这样一来,吊销它不会有任何代价。
- 先从只读开始。
links:read+analytics:read已经覆盖了人们真正会拿去问助手的那些报表问题。等到你确实想在对话里创建链接时,再加上links:write。 - 一旦外泄就轮换。 写在配置文件里的密钥,会跟着备份、屏幕共享和技术支持工单一起扩散。发现泄露就立刻在控制台里吊销它;下一个请求就会得到
401。
速率限制与 REST API 共用——按密钥统计,1 分钟滑动窗口——所以一个话痨助手和一个后台任务如果共用密钥,就会争抢同一份配额。这也是给助手单配一个密钥的又一个理由。响应头和重试规则见速率限制。
套餐要求
有两项套餐功能把守着这个端点:
api_access—— 使用 API 本身的权利;assistant_tools—— 使用工具目录、进而使用 MCP 的权利。
两项都设置在你的工作区所用的套餐上。套餐缺少其中任意一项的工作区,会收到 403 和错误码 plan_restricted,消息里会指明缺少的那项能力。如果你以自己的品牌转售 LinkProfit,这就是一项由你决定放进套餐、还是作为升级项单独售卖的功能。
疑难排查
403 plan_restricted —— 套餐不包含 assistant_tools(或 api_access)。请升级套餐;这一条无论怎么改密钥或客户端配置都解决不了。
401 unauthorized —— 请求头缺失、格式有误,或者密钥未知、已吊销、已过期。这三种情况是刻意做成无法区分的。请确认传的是完整的密钥值、前面带着 Bearer ,并且客户端确实发出了这个请求头——上面那次 curl 握手,一个请求就能给出答案。
403 forbidden —— 用的是合作伙伴密钥(lpp_live_…)。MCP 属于工作区侧的能力,请创建工作区密钥。
429 rate_limited —— 该密钥这一窗口的配额用尽了。响应中带有 Retry-After;立刻重试的客户端,只会让密钥一直处于封锁状态。
GET 请求返回 405 —— 这是预期行为,不是故障。服务端不提供事件流,也不保存会话;只会说旧修订版那套基于 SSE 的传输方式的客户端,无法连接。
工具返回的是错误而不是数据 —— 在对话记录里,两件不同的事看上去很像。参数校验不通过时,返回的是被标记为错误的工具结果,其中列出了有问题的字段,助手可以自行纠正后重试。而缺少权限返回的是协议层错误,错误码为 insufficient_scope 并指明所缺的那一项:这一种需要的是一个新密钥,而不是再试一次。