Claude Desktop、Cursor など任意の MCP クライアントに学術引用の検証機能を追加します。

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

できること

CiteTrue REST API を包む 5 つのツール。クレジットも精度も同じで、HTTP の代わりに MCP 経由で呼び出すだけです。

ツール用途呼び出し毎のクレジット
verifySplit a text blob into references and verify each. depth selects accuracy vs. cost.1 or 5 per ref by depth
get_creditsアカウントのクレジット残高を返します。0

クイックスタート

  1. ダッシュボード → API キー にアクセスし 新しい API キー をクリック。sk_ で始まるキーをコピー。
  2. MCP クライアント設定を開き(「クライアント設定」参照)、citetrue ブロックを追加。
  3. MCP クライアントを再起動 — チャットのリロードではなくアプリ全体。
  4. アシスタントに「これらの引用を検証して:[ペースト]」のように依頼。verify_fast を呼び出し要約します。

クライアント設定

stdio 対応 MCP クライアントなら何でも。以下は代表的な 3 つ。他のクライアントも同じ構造で設定できます。

Claude Desktop

推奨

CiteTrue を Claude Desktop の拡張機能としてインストール — JSON の編集も Node のセットアップも不要。同梱のサーバーは Claude Desktop に付属する Node 上で動作します。

Claude Desktop 版をダウンロード

ダウンロードしたファイルをダブルクリック(または 設定 → Extensions にドラッグ)し、表示されたら API キーを貼り付けます。キーは OS のキーチェーンに安全に保存されます。

重要:インストール後、設定 → 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— (必須)ダッシュボード発行の Bearer トークン。
CITETRUE_API_URLhttps://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:

  • text string — raw text containing one or more references. Accepts numbered lists, bullets, blank-line-separated, BibTeX, or in-text prose with author-year citations (when depth ≥ 5). Max 10MB.
  • refHash string — upgrade a single prior reference to a deeper run. Requires depth ≥ 5 and parentTaskHash.
  • parentTaskHash string — required when using refHash; the original task that produced the ref.
  • taskHash string — resume a previously-started task; replays cached state. No re-billing.
  • depth 1 | 5, optional, default 1 1 fast (1 credit/ref); 5 deep (5 credits/ref). 20 exists as a closed-beta tier and is not enabled for public use.
  • force bool, 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; 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; 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.