给 Claude Desktop、Cursor 或任何 MCP 客户端添加学术引用校验能力。

@citetrue/mcp-servernpx -y @citetrue/mcp-server

能做什么

2 个工具包装 CiteTrue REST API,积分和准确率完全一致——只是走 MCP 而不是 HTTP。

工具用途每次积分
verifySplit a text blob into references and verify each against real sources.1 per ref; tricky ones up to 5
get_credits返回账号积分余额。0

快速开始

  1. 访问 仪表盘 → API Keys,点 新建 API Key,复制 sk_ 开头的 key。
  2. 打开 MCP 客户端的配置(见「客户端配置」),加入 citetrue 块。
  3. 重启 MCP 客户端——不是刷聊天窗口,是整个应用。
  4. 试着问 Assistant "帮我验证这些引用:[粘贴]",它会调 verify 并总结结果。

客户端配置

任何 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_URLhttps://api.citetrue.com自建部署时覆盖。

工具

verify

Split a free-form text blob into individual references and verify each against real sources. Every reference goes through the same flow, and each one in the result reports what it cost.

参数

Supply exactly one of text or taskHash:

  • text string — raw text containing one or more references: numbered / bulleted / blank-line-separated lists, BibTeX, or prose with in-text author-year citations. Max 10MB.
  • taskHash string — resume a task started by an earlier call (the taskHash it returned). Finished results are replayed without charging again; citations that still need checking are completed and billed as usual.
  • force bool, optional — ignore cached results and check the text again from scratch (billed like a new check). Only applies with text.

输出

{
  "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": [],
      "confidence": 0.97,
      "cost": 1
    }
  ],
  "cost": 2,
  "balance": 248
}

Each ref's cost is what the task has charged for that citation: 1 for most citations, up to 5 for tricky ones that needed more data sources and more analysis, 0 if it was already paid for in another task. Resuming a task with taskHash reports the same per-ref numbers again — they are not new charges. The top-level cost is what this call newly charged (0 when a finished task is simply replayed), and balance is what's left afterwards — it can be negative (see Billing). 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; value contains the matched paper.
  • unsure — found something but can't confirm; notices and confidence describe why.
  • inauthentic — definitively not found / fabricated / unrelated.
  • invalid — input wasn't a citation; pipeline refused to search.
  • error — verification failed on this ref; errors[] lists tokens.
  • exceeded — credits ran out before this ref ran.

计费

Same credits as the REST API. Most citations cost 1 credit. Tricky ones that need more data sources and more analysis can cost up to 5. If you run out of credits mid-check, citations already in progress still finish; the overage is deducted at your next credit reset, so balance can be negative. Citations that couldn't start for lack of credits come back as exceeded. get_credits is free.

故障排查

If the server fails to start, ensure npx is on PATH and CITETRUE_API_KEY is set.

由 CiteTrue 团队维护 · 最后更新: