mcpField
O
Ookcite Mcp

Ookcite Mcp

ローカル
ookcite.turtletech.us科学・教育22 週間前に更新

Ookcite Mcp について

Ookcite Mcp は学術ワークフロー向けの MCP サーバーで、DOI の検証、引用情報の解決と整形、文献コレクションの管理を行います。PDF や全文ではなく、引用メタデータを返します。

主な機能

  1. 01DOI と ISBN の検証
  2. 02不完全な引用テキストの解決
  3. 03参考文献の一括検証と整形
  4. 04CSL 引用スタイルへの対応
  5. 05文献コレクションのインポート・出力・管理

活用シーン

  1. 01論文投稿前の参考文献確認
  2. 02貼り付けた引用一覧の BibTeX 変換
  3. 03指定した CSL スタイルでの文献一覧作成

MCP 対応

MCP クライアントに、引用の検索・検証・整形とコレクション管理のツールを提供します。標準入出力またはリモートの Streamable HTTP で接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"ookcite": {
"command": "npx",
"args": [
"-y",
"@turtletech/ookcite-mcp"
],
"env": {
"OOKCITE_API_KEY": "<OOKCITE_API_KEY>"
}
}
}
}
起動コマンドnpx -y @turtletech/ookcite-mcp
設定が必要な環境変数
OOKCITE_API_KEYシークレットOptional. Raises the anonymous rate limit and enables the collection tools. Sign up at https://my.turtletech.us/signup?service=ookcite&source=ookcite_mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@turtletech/ookcite-mcp0.6.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OokCite MCP サーバー

MIT License Crates.io npm

MCP 対応ツールで、DOI の検証、引用の書式設定、文献コレクションの管理、捏造された参考文献の検出ができるようになります。返されるのは引用メタデータのみで、PDF や論文の全文ではありません。デスクトップクライアントは標準入力と標準出力経由で実行できます。リモートクライアントは https://ookcite-api.turtletech.us/mcpを使用します。

クイックスタート

インストールと設定を1つのコマンドで行えます。

npx @turtletech/ookcite-mcp setup

このコマンドは、対応するMCPクライアントを自動検出し、設定を書き込みます。シェル引数やMCP設定にAPIキーを含めずに、OokCiteアカウントを接続して、より高いレート制限とコレクションツールを利用できます。

npx @turtletech/ookcite-mcp setup --connect

このコマンドはTurtleTechダッシュボードを開き、Freeプランを作成または有効化して、発行されたキーをプラットフォームの認証情報ストアに保存し、検出されたクライアントには認証情報の参照のみを書き込みます。ヘッドレスマシンではsetup --connect --deviceを使用してください。

既存のAPIキーも引き続き使用できます。

npx @turtletech/ookcite-mcp setup --key YOUR_API_KEY

基本的な使用(1日20回の検索)にはAPIキーは不要です。format_citationと、小規模なプレーンテキストのimport_bibliography(collectionを省略し、最大8件まで)を利用できます。詳細はサインアップしてください。

リストを貼り付けてBibTeXに変換

import_bibliographyは、.bib / .risだけでなく、番号付きまたは空行区切りの引用リストも受け付けます。少量のリストを貼り付ける場合はcollectionを省略してください。このツールが項目を解決し、.bibテキストを返します。キーがある場合は、collectionを指定して解決済みのエントリを保存できます。その後、export_collectionで.bib(format=bib)またはCSL形式の参考文献テキスト(format=csl、またはieeeなどのスタイルID)を出力できます。 npx @turtletech/ookcite-mcp setupは引き続きインストーラーとして使用できます。このサーバーがPDFを取得することはありません。

MCP設定を変更した後は、クライアントを再起動するか、MCPサーバーを再読み込みしてください。多くのクライアントでは、実行中のstdioサーバーの環境変数の変更はホットリロードされません。

インストール(その他の方法)

npm(推奨):

npm install -g @turtletech/ookcite-mcp

cargo-binstall(最速、Node.js不要):

cargo binstall ookcite-mcp

cargo install(ソースから):

cargo install ookcite-mcp

ビルド済みバイナリ:Linux(x86_64、aarch64)、macOS(x86_64、aarch64)、Windows向けのバイナリを GitHub Releasesからダウンロードできます。

設定

setupを使用した場合は、これで完了です。それ以外の場合は、MCPクライアントの設定に追加してください。

{
  "mcpServers": {
    "ookcite": {
      "command": "npx",
      "args": ["-y", "@turtletech/ookcite-mcp"]
    }
  }
}

APIキーを使用する場合:

{
  "mcpServers": {
    "ookcite": {
      "command": "npx",
      "args": ["-y", "@turtletech/ookcite-mcp"],
      "env": {
        "OOKCITE_API_KEY": "your_key_here"
      }
    }
  }
}

グローバルにインストールした場合(npm install -gまたはcargo install)、npxの代わりに"command": "ookcite-mcp"を直接使用できます。

設定ファイルにキーを保存しない

setup --connect はデフォルトでプラットフォームの認証情報ストアを使用します。--replace-credential または --replace-config を明示的に指定しない限り、既存のプラットフォーム認証情報や名前付きの OokCite MCP 設定を置き換えません。

汎用の認証情報マネージャーも使用できます。保存コマンドは標準入力から新しいキーを受け取ります。コマンドライン引数でキーを受け取ることは想定していません。取得コマンドは、MCP サーバーの起動時に標準出力へキーを出力します。

npx @turtletech/ookcite-mcp setup --connect \
  --store-command "credential-cli store ookcite" \
  --retrieve-command "credential-cli read ookcite"

認証情報マネージャーの代わりに、所有者のみがアクセスできるファイルを明示的に指定する場合:

npx @turtletech/ookcite-mcp setup --connect \
  --credential-file "$HOME/.config/ookcite/api-key"

ファイルは所有者のみがアクセスできる権限で作成され、上書きされることはありません。プラットフォーム、ヘルパーコマンド、ファイルの各形式では、クライアント設定に次のような参照を記述します。

{
  "mcpServers": {
    "ookcite": {
      "command": "npx",
      "args": ["-y", "@turtletech/ookcite-mcp"],
      "env": {
        "OOKCITE_API_KEY_COMMAND": "credential-cli read ookcite"
      }
    }
  }
}

起動時の参照元の優先順位は、引き続き OOKCITE_API_KEY、OOKCITE_API_KEY_COMMAND、OOKCITE_API_KEY_FILE、プラットフォーム認証情報の順です。いずれも指定されていない場合、サーバーは匿名で起動します。setup --key は、クライアント設定にキーを意図的に保存する既存のデプロイメント向けに引き続き使用できます。

認証情報の取得には、次の2つの制約があります。

  • 取得処理では標準入力が閉じられるため、MCP JSON-RPC を消費できません。
  • 取得処理には OOKCITE_API_KEY_TIMEOUT で制限時間が設けられています。デフォルトは10秒で、出力が診断情報にコピーされることはありません。

設定ファイルの場所については、お使いのクライアントの MCP ドキュメントを参照してください。自動セットアップが利用できない場合は、上記の mcpServers.ookcite JSON を使用し、その後クライアントを再起動するか、MCP サーバーを再読み込みしてください。

オプションの環境変数(stdio MCP、全クライアント向け):

変数用途
OOKCITE_API_KEYレート制限の緩和とコレクションツール(基本的な検索/書式設定には任意)
OOKCITE_APIAPI のベース URL を上書き(デフォルトは https://ookcite-api.turtletech.us)
OOKCITE_MCP_READ_ONLY1 でコレクションの変更を強制的に無効化(レビュー/CI 自動化向け)
OOKCITE_MCP_ALLOW_MUTATE0 で変更を拒否。未設定または 1 なら許可(サーバー側では引き続き API キーが必要)
OOKCITE_STARTUP_PROBES1 で MCP 接続を受け付ける前に、認証と npm の更新確認を標準エラー出力で実行(接続を高速化するため、デフォルトでは無効)
OOKCITE_API_KEY_COMMAND標準出力にキーを出力するコマンド。標準入力は閉じられます
OOKCITE_API_KEY_FILE最初の行にキーが記載された、所有者のみがアクセスできるファイル
OOKCITE_API_KEY_TIMEOUT認証情報の取得に許可する秒数(デフォルトは10)
OOKCITE_CREDENTIAL_STOREプラットフォームの認証情報参照を読み込むには platform を指定
OOKCITE_CREDENTIAL_SERVICEプラットフォーム認証情報のサービス名(デフォルトは ookcite-mcp)
OOKCITE_CREDENTIAL_ACCOUNTプラットフォーム認証情報のアカウント名(デフォルトは default)

Marketplace プラグイン

OokCite のインストール方法は 2 つあります。

このリポジトリから、marketplace TurtleTech-ehf/ookcite-mcp を追加し、 ookcite@ookcite をインストールしてください。これにより ookcite marketplace が登録され、plugins/ookcite のプラグインが有効になります。このプラグインは https://ookcite-api.turtletech.us/mcp に接続し、3 つのスキルを追加します。貼り付けた参考文献の書式を整える (/ookcite:format-bibliography)、提出前に参考文献を検証する (/ookcite:verify-references)、コレクションを作成してエクスポートする (/ookcite:build-collection)機能です。求められたらサインインしてください。 引用を 1 件書式設定する場合や、短い DOI リストを確認する場合は、サインイン前でも匿名利用の 1 日あたりの上限内で使用できます。コレクションの保存にはサインイン済みアカウントが必要です。

Web、デスクトップ、cowork アプリでは、同じアドレスをディレクトリコネクターとして使用します。 サインインを選択してください。その URL でコネクターを送信し、 plugins/ookcite フォルダーをプラグインバンドルとして送信してください。marketplace からインストールしても、どちらのリスティングも送信されません。

リモートコネクターは、動的クライアント登録をサポートする必要はありません。 プラグインは事前登録済みのパブリッククライアント ID ookcite-remote を送信するため、 コードクライアントは登録エンドポイントを呼び出しません。このクライアントのディスカバリーでは、S256 PKCE が公開され、 registration_endpoint はありません。保護対象リソースでは、このクライアントの issuer が先頭に記載され、 その resource フィールドは https://ookcite-api.turtletech.us/mcp です。クライアントはディレクトリの コールバックをそのまま受け入れ、ポート番号を問わず localhost および 127.0.0.1 への ループバックリダイレクトを受け入れます。アクセストークンの exp - iat が 3600 以下でない場合、 リソースサーバーはトークンを拒否します。

リモート MCP

何もインストールせずに、チャット製品から OokCite を使用できます。このアドレスを追加し、サインインを選択して、求められたらログインを承認してください。

https://ookcite-api.turtletech.us/mcp

チャットはその後、有効期間の短いアクセストークンを送信します。

Authorization: Bearer <access token>

検索はサインイン済みアカウントに計上されます。貼り付けた API キーは拒否されます。トランスポートはステートレスな Streamable HTTP で、POST は 1 回、JSON の入力と出力を行います。Streamable HTTP とサインイン(OAuth)を選択してください。レガシー SSE トランスポート、API キー、「No authentication」は選択しないでください。

ookcite-api.turtletech.us がホワイトリストに登録された後の eduGenAI Chat:

フィールド値
名前OokCite
説明DOI と ISBN を検証し、形式の乱れた引用を解決して、CSL スタイルで参考文献項目の書式を整えます。引用メタデータのみを返し、PDF や全文は返しません。
URLhttps://ookcite-api.turtletech.us/mcp
トランスポートStreamable HTTP
認証OAuth

ookcite-mcp serve を実行すると、独自のコピーが起動します。サブプロセスを起動するデスクトップクライアントも、標準入力と標準出力を使用します。

変数用途
OOKCITE_APIOokCite API のベース URL(デフォルトは https://ookcite-api.turtletech.us)
OOKCITE_MCP_HTTP_AUTHサインインには oauth、自分で実行するコピーには bearer、または none
OOKCITE_MCP_OIDC_ISSUERサインインの issuer。認証が oauth の場合に必須
OOKCITE_MCP_OIDC_AUDIENCEトークンの audience。認証が oauth の場合に必須
OOKCITE_MCP_OIDC_SCOPE必須のスコープ(デフォルトは openid)
OOKCITE_MCP_PATHMCP パス(デフォルトは /mcp)
OOKCITE_MCP_ALLOWED_HOSTS追加の Host 名をカンマ区切りで指定します。ループバックは常に許可されます
OOKCITE_MCP_ALLOWED_ORIGINSエンドポイントへの呼び出しを許可するブラウザーの Origin 値。Origin がない場合も許可されます
MCP の使用に関するヒント
  • 多数の単一引用呼び出しより、バッチツール(verify_references、batch_format、batch_add_to_collection、 import_bibliography)を優先してください。
  • コレクションの変更には、サインイン済みアカウント、または自分で実行するコピー上の OOKCITE_API_KEY が必要です。破壊的なツール (delete_collection、remove_from_collection、unshare_collection)には、 MCP ツールヒントに対応するクライアント向けの注釈が付いています。
  • サーバーが診断情報を書き込むのは、MCP パス上の stderr のみです。stdout は JSON-RPC 専用です。

ツール

検索と検証
ツール目的
validate_doiDOI が存在するか確認します(ハルシネーション防止)
lookup_isbnISBN で書籍を検索します
reverse_lookup不完全な引用テキストから論文を検索します。元のクエリ、信頼度、タイトルを返します
batch_resolve1 回のリクエストで複数の引用文字列を解決します(最大 50 件)
enhanced_search著者、カテゴリ、引用のファセットを使ってコーパスを検索します
health_checkAPI の可用性と健全性を確認します
書式設定
ツール目的
format_citationDOI を 2900 種類以上の CSL スタイルで書式設定します(単一の引用なら API キーは不要です)
verify_referencesDOI と、それらに付随する書誌情報の主張を一括確認します
batch_format複数の引用を一度に書式設定します
search_styles名前から CSL スタイル ID を検索します
list_stylesCSL スタイルの全リストをページごとに表示します
group_cite本文中の引用マーカーをグループ化して生成します(例:[1-3])
アカウント
ツール目的
usage適用中のプランと、残りの 1 日あたり(および 1 か月あたり)の検索回数を表示します
ORCID
ツール目的
orcid_search名前、所属、または ORCID ID から ORCID プロフィールを検索します
orcid_profileID で 1 件の ORCID プロフィールを取得します
ingest_orcidORCID プロフィールの出版物をインデックス化し、検索できるようにします
コレクション(サインインが必要)

コレクションはサインインして利用する機能です。ホスト型サーバーでは、サインインに使用したアカウントが使われます。ご自身で実行するコピーでは OOKCITE_API_KEY を使用します。例外として、collection を指定しない少量のプレーンテキストの import_bibliography は、匿名利用の上限内で .bib を返します。

ツール目的
list_collections保存済みの引用コレクションを一覧表示する
add_to_collection引用を追加する(DOI またはフリーテキスト)
batch_add_to_collection複数の引用を一度に追加する
import_bibliographyBibTeX、RIS、または貼り付けたプレーンテキストのリストをインポートする
export_collectionコレクションを BibTeX または CSL テキストとしてエクスポートする
search_collectionコレクション内を検索する。一致ごとに entry_id を返す
check_duplicates重複を確認する。一致項目の entry_id を返す
delete_collectionコレクションを削除する
update_collection名前、説明、またはスタイルを更新する
remove_from_collectionentry_id、DOI 単体、または doi:10.x/y で項目を削除する
update_entry_metadata保存済み項目のタイトル、著者、年、DOI などを修正する
merge_entries1 つのコレクション内の 2 つの項目を 1 つに統合する
update_tagsコレクションのタグを設定する
reorder_collection項目の順序を変更する

一般的なワークフロー:

  1. 番号付きの引用リストを import_bibliography に貼り付けます(少量のリストでは collection を省略します)。返された .bib は保管してください
  2. または、references.bib / library.bib をバージョン管理下に置き、そのファイルをコレクションにインポートします
  3. 改訂中に search_collection、check_duplicates、export_collection(bib または csl)を使用します
  4. コレクションは監査・エクスポート用の補助として扱い、参考文献の唯一のコピーにしないでください

ローカルでの上書き: API は update_entry_metadata が送信するすべてのフィールドをまだ保存できないため、ご自身のマシンで実行するコピー(stdio、または auth=none を指定した serve)では、各編集を $XDG_DATA_HOME/ookcite/overrides/<collection>.json にも保存し、export_collection で適用します。サインイン済みの HTTP サーバーはローカルの上書きを保存しません。eid_as=pages を指定すると、elsarticle-num が出力する箇所に記事番号を配置します。docs/local-overrides.md を参照してください。

単一の項目を削除する: search_collection(または check_duplicates)を呼び出すと、各検索結果が entry_id: … として表示されます(保存済み ID が不透明な場合は、任意で aliases: doi:… も表示されます)。その entry_id を remove_from_collection に渡すか、論文の DOI 単体または doi:10.x/y を渡してください。API 呼び出しの前にサーバーがローカルでエイリアスを解決します。

共有とコレクション操作
ツール目的
share_collection共有可能なリンクを作成する
unshare_collection共有を取り消す
view_sharedトークンを使用して共有コレクションを表示する
merge_collections複数のコレクションを統合する
batch_move_entriesコレクション間で項目を移動する

共有機能は、コレクションを利用できるサインイン済みアカウントで使用できます。 無料アカウントでは、1 日の上限内でインポートと一括追加を行えます。 統合と一括移動には Academic または Business プランが必要です。

ユーティリティ
ツール目的
generate_citation_keysDOI のリストに対して、より適切な Better BibTeX 形式のキーを生成する
expand_journal雑誌の略称を正式名称に展開する
normalize_bibliographyBibTeX または RIS を標準形式の BibTeX として再レンダリングする

この 3 つの機能には Academic または Business プランが必要です。

プランと料金

プラン料金1 日あたりの照会数月間 API 呼び出し数コレクションコレクションあたりのエントリ数
匿名無料20--0--
無料無料60--4200
アカデミックEUR 4/mo20,00010,000101,000
ビジネスEUR 10/mo20,00040,000204,000

コレクションのメタデータがすでに API で利用可能な場合、再照会はクォータを消費せずに処理できます。論文を再解決する必要がある検索は、現在のプランのクォータに算入される場合があります。有料のアカデミックプランの購入は、認定機関に所属する学生、研究者、教育者を対象としています。認証済みの ORCID があれば、サインイン済みのアカウントでアカデミックプランの上限を利用することもできます。

ハルシネーションの防止

システムプロンプトに次の内容を追加してください。

論文を引用する前に、validate_doi を使用して文献が実在することを確認してください。 検証に失敗した場合は、その引用を含めないでください。

改訂ワークフローでは、次の内容を追加してください。

プロジェクトの参考文献一覧は、バージョン管理下のローカル .bib ファイルで管理してください。 検証、重複排除、エクスポートには OokCite のコレクションを使用してください。

仕組み

MCP サーバーは、公開されている OokCite API に接続し、引用を検索して書式設定します。ローカルデータベースや重い依存関係のない、OokCite REST API を薄くラップした MCP サーバーです。

無料アカウントに登録すると(1 日あたり 60 回の照会が可能)、アカデミック(EUR 4/mo)またはビジネス(EUR 10/mo)にアップグレードして、月間 API 上限の引き上げ、大容量のコレクション、有料ユーティリティ、統合、バッチ移動をご利用いただけます。

ソースの構成

このクレートは、公開されている OokCite REST API を利用する薄い MCP(stdio)ラッパーです。 ローカルに引用文献データベースはなく、docs/local-overrides.md で説明されているコレクションごとのメタデータ上書きを除き、すべての状態は API 上にあります。

パス役割
src/main.rsバイナリーのエントリーポイント:--version、setup、MCP サーバーの起動
src/cli.rs起動時のプローブ(/api/v1/me 経由で OOKCITE_API_KEY を検証、更新を確認)
src/setup.rsookcite-mcp setup / npx add-mcp クライアント設定インストーラー
src/server.rsServer と #[tool_router] MCP ツールハンドラー(末尾に単体テストも含む)
src/tool_args.rsツール引数の構造体(serde + schemars)
src/constants.rsAPI ベース URL、パッケージのバージョン、逆引きの信頼度しきい値
src/http_error.rsクライアント向け文字列の error_detail と HTTP ステータス分類
src/collection_entries.rsコレクションのエントリー ID、DOI のみの形式 / doi: エイリアスの解決、検索結果の行
src/plaintext.rs貼り付けられたリストの分割とローカル .bib の生成
src/bib_export.rsプロバイダーのレコード、保存済みフィールド、テキストのクリーンアップを使ったコレクションの BibTeX
src/overrides.rsエクスポート時に適用される、コレクションごとのローカルメタデータ上書き
src/resolve_helpers.rs逆引きとフリーテキスト解決のペイロードヘルパー
src/endpoints.rsエンドポイントレジストリ(lib クレートの公開 API);コントラクトテスト済み
src/lib.rsライブラリーのルート(endpoints のみをエクスポート)
tests/api_contract.rscontract/openapi.json.age を復号し、すべてのエンドポイントが存在することを検証
contract/Age で暗号化された OpenAPI スナップショット + regen.sh
npm/@turtletech/ookcite-mcp インストーラー/ラッパー(リリースバイナリーをダウンロード)
demo/Asciinema 録画スクリプト
marketplace catalog./plugins/ookcite の ookcite を一覧表示
plugins/ookcite/プラグインマニフェスト、ホストされた MCP URL、3 つのスキル
scripts/set-version.shCocogitto のバージョン更新前フック:パッケージ、レジストリ、プラグインのバージョン

コレクション/エントリー ID: search_collection と check_duplicates は entry_id: … の行を出力します。remove_from_collection はその ID、DOI のみの形式、または doi:10.x/y を受け付けます(DELETE 呼び出しの前に collection_entries でローカルに解決します)。

リリース: v* タグで .github/workflows/release.yml が実行されます(複数アーキテクチャ対応の GitHub Release アセット、crates.io、npm)。バージョン更新には cocogitto (cog.toml + scripts/set-version.sh)を使用します。

server.rs が大きい理由: rmcp の #[tool_router] / #[tool] マクロでは、 ハンドラーを 1 つの impl Server にまとめる必要があります。マクロへの回避策なしにさらにファイルを分割しても、 ユーザーにとってのメリットはほとんどありません。マクロと格闘する前に、テストを切り出すか、小さなヘルパー(resolve_many、共有の Me 型)を追加してください。

コントリビューション/ローカルチェック

cargo test --bin ookcite-mcp          # unit tests (no contract key needed)
cargo build --release
./target/release/ookcite-mcp --version

# Contract tests (optional locally; required in CI with secret):
export OOKCITE_CONTRACT_KEY="value-from-your-credential-manager"
cargo test --test api_contract

ライブ MCP スモークテスト(任意。OOKCITE_API_KEY が必要):使い捨てのコレクションで DOI のみの形式を使って追加/検索/削除し、その後 delete_collection を実行します。

ドキュメント

ライセンス

MIT。詳しくは LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。