Skip to main content
Glama
ebiyu

crossref-mcp

by ebiyu

crossref-mcp

Crossref REST API を使って学術文献のメタデータを取得する MCP サーバーです。

機能 (Tools)

Tool

説明

get_work_by_doi

DOI から1件の文献メタデータを取得します。

search_works

フリーテキスト / タイトル / 著者から文献を検索します。

取得・検索結果には、タイトル・著者・掲載誌・出版年・DOI・被引用数・(提供されていれば)アブストラクトなどが含まれます。

実行 (uvx)

公開リポジトリから直接実行できます:

uvx --from git+https://github.com/ebiyu/crossref-mcp crossref-mcp

ローカルのクローンから実行する場合:

uvx --from . crossref-mcp

MCP クライアントへの登録

Claude Desktop / Claude Code などの mcpServers 設定例:

{
  "mcpServers": {
    "crossref": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/ebiyu/crossref-mcp", "crossref-mcp"],
      "env": {
        "CROSSREF_MAILTO": "you@example.com"
      }
    }
  }
}

ローカルにクローンしたものを使う場合は、--from に絶対パスを指定します(Windows の例):

{
  "mcpServers": {
    "crossref": {
      "command": "uvx",
      "args": [
        "--from",
        "PATH_TO_THIS_FOLDER",
        "crossref-mcp"
      ],
      "env": {
        "CROSSREF_MAILTO": "you@example.com"
      }
    }
  }
}

macOS / Linux の場合は "/path/to/crossref-mcp" のように指定してください。

Claude Code の CLI から登録する場合:

claude mcp add crossref -e CROSSREF_MAILTO=you@example.com -- uvx --from git+https://github.com/ebiyu/crossref-mcp crossref-mcp

レート制限の尊重

Crossref の アクセスポリシー に従い、自動でリクエスト間隔を調整します。

  • レスポンスの X-Rate-Limit-Limit / X-Rate-Limit-Interval ヘッダから許容レートを学習し、間隔 ÷ 上限 秒ずつリクエストを空けます。リクエストは直列化され、同時実行数の上限も超えません。

  • 429 Too Many Requests を受けた場合は Retry-After を尊重し、なければ指数バックオフ(最大30秒、最大5回)で再試行します。

CROSSREF_MAILTO(推奨)

環境変数 CROSSREF_MAILTO にメールアドレスを設定すると、Crossref の "polite pool" が使われ、より安定したレスポンスが得られます。設定は任意です。

開発

uv sync
uv run crossref-mcp        # stdio でサーバー起動

ライセンス

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ebiyu/crossref-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server