MCP Server
Markdown(AI 阅读)给 Claude Desktop、Cursor 或任何 MCP 客户端添加学术引用校验能力。
能做什么
5 个工具包装 CiteTrue REST API,积分和准确率完全一致——只是走 MCP 而不是 HTTP。
| 工具 | 用途 | 每次积分 |
|---|---|---|
| verify | Split a text blob into references and verify each. depth selects accuracy vs. cost. | 1 or 5 per ref by depth |
| get_credits | 返回账号积分余额。 | 0 |
快速开始
- 访问 仪表盘 → API Keys,点 新建 API Key,复制
sk_开头的 key。 - 打开 MCP 客户端的配置(见「客户端配置」),加入 citetrue 块。
- 重启 MCP 客户端——不是刷聊天窗口,是整个应用。
- 试着问 Assistant "帮我验证这些引用:[粘贴]",它会调 verify_fast 并总结结果。
客户端配置
任何 stdio 类 MCP 客户端都行。下面列出 3 种常见的,其它客户端配置结构一样。
Claude Desktop
把 CiteTrue 作为 Claude Desktop 扩展安装——免编辑 JSON、免装 Node。打包好的 server 直接跑在 Claude Desktop 自带的 Node 上。
下载 Claude Desktop 版双击下载的文件(或拖进 设置 → Extensions),按提示粘贴 API key——它会安全存进系统钥匙串。
重要:安装后,在 设置 → Extensions 里确认扩展已启用(开关打开),然后重启 Claude Desktop——这一步才会激活它的工具。
或手动配置
macOS 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"citetrue": {
"command": "npx",
"args": ["-y", "@citetrue/mcp-server"],
"env": {
"CITETRUE_API_KEY": "sk_..."
}
}
}
}Cursor
在 Settings → MCP → Add new MCP server,填和下面 Claude Desktop JSON 一样结构的 command / args / env。
Windsurf、Zed、其它
任何 stdio MCP 客户端都行——无论配置在哪,填同样 3 个字段(command、args、env)。
配置项
| 环境变量 | 默认 | 说明 |
|---|---|---|
| CITETRUE_API_KEY | — (必填) | Dashboard 里生成的 Bearer token。 |
| CITETRUE_API_URL | https://api.citetrue.com | 自建部署时覆盖。 |
工具
verify
Split a free-form text blob into individual references and verify each. depth selects accuracy vs. cost.
参数
Supply exactly one of text, refHash, or taskHash:
textstring — raw text containing one or more references. Accepts numbered lists, bullets, blank-line-separated, BibTeX, or in-text prose with author-year citations (whendepth ≥ 5). Max 10MB.refHashstring — upgrade a single prior reference to a deeper run. Requiresdepth ≥ 5andparentTaskHash.parentTaskHashstring — required when usingrefHash; the original task that produced the ref.taskHashstring — resume a previously-started task; replays cached state. No re-billing.depth1 | 5, optional, default 1 —1fast (1 credit/ref);5deep (5 credits/ref).20exists as a closed-beta tier and is not enabled for public use.forcebool, optional — bypass cached results (forces a fresh run, charges full cost).
输出
{
"taskHash": "...",
"refs": [
{
"hash": "a1b2c3...",
"text": "[1] Vaswani, A., Shazeer, N., Parmar (2017)...",
"assessment": "authentic",
"value": {
"type": "citation",
"title": "Attention is all you need",
"authors": ["A Vaswani", "N Shazeer", "N Parmar"],
"year": 2017,
"url": "https://..."
},
"note": "",
"notices": [],
"data": { "depth": 1, "cost": 1 }
}
],
"cost": 2,
"balance": 248
}data.depth is the highest depth that has run on the ref (1 or 5). Clients derive a "deep-verified" flag locally as depth ≥ 5. note is a free-form one-line natural-language explanation in English (intended for end-user display); for programmatic checks, match on notices[] instead.
Assessment values
authentic— paper exists and is the one cited;valuecontains the matched paper.unsure— found something but can't confirm;noticesandconfidencedescribe why.inauthentic— definitively not found / fabricated / unrelated.invalid— input wasn't a citation; pipeline refused to search.error— verification failed on this ref;data.errors[]lists tokens.exceeded— credits ran out before this ref ran.
计费
1 credit per ref for depth=1, 5 credits per ref for depth=5.
故障排查
If the server fails to start, ensure npx is on PATH and CITETRUE_API_KEY is set.