mcpField
Z
Zenodo MCP

Zenodo MCP

ローカル
github.com/MSKazemi検索62 週間前に更新

Zenodo MCP について

Zenodo MCPは、Zenodoのオープンな研究リポジトリを検索・取得するツールを、開発者や研究者に提供します。直接接続用のMCPサーバーと、フレームワークやAPI互換クライアント向けのFastAPIサービスがあります。

主な機能

  1. 01Zenodoレコードの検索
  2. 02詳細なメタデータの取得
  3. 03BibTeXまたはAPA形式の引用取得
  4. 04レコード比較とデータ種別の分類
  5. 05添付ファイルの一覧表示とダウンロード

活用シーン

  1. 01論文、ソフトウェア、データセットの発見
  2. 02論文やノート用の引用情報取得
  3. 03オープンな研究データに基づく研究エージェント
  4. 04再現性資料の検索とダウンロード

MCP 対応

Zenodoの検索・取得ツールを提供する標準MCPサーバーです。別のFastAPI実装は、LangChain、LangGraph、OpenAI互換クライアント向けにMCP互換ツールを公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

mcp-zenodo — Zenodo MCP サーバー

mcp-zenodo は Zenodo MCP サーバーです。Model Context Protocol(MCP) を通じて、CERN がホストするオープンアクセス研究リポジトリの Zenodo と LLM を接続します。 LLM から呼び出せるツールとして、Zenodo のレコードの検索、メタデータの読み取り、引用情報の取得、ファイルの一覧表示やダウンロードができます。オープンな研究データセット、ソフトウェア、出版物を AI アシスタントで扱いたい開発者や研究者向けに構築されています。Claude Desktop、Cursor IDE、LangChain/LangGraph のエージェントなどのツールを使って、DOI 付きの実際の Zenodo レコードを根拠に回答させたい場合にご利用ください。Zenodo への 投稿 または 公開 が必要な場合には使用しないでください。このプロジェクトは読み取りと取得を目的としており、アップロードのワークフローを実装していません。Zenodo REST API を直接呼び出す方法と比べて、mcp-zenodo はそのアクセスを MCP ツールとして提供するため、MCP 対応クライアントならカスタム統合コードを書かずに Zenodo を利用できます。

一言で表すと:オープンアクセスの研究データを LLM から呼び出せるツールに変える Zenodo 用 MCP サーバーです。

Python で記述されています。ライセンスは Apache-2.0 です。


できること

mcp-zenodo は、MCP ツールを通じて Zenodo の研究成果リポジトリを LLM に提供します。

  • レコードの検索と取得 — クエリで Zenodo のレコードを検索します。
  • 引用情報の取得 — BibTeX や APA などの形式で引用情報を取得します。
  • データ型の検出 — レコードをデータセット、ソフトウェア、論文に分類します。
  • メタデータへのアクセス — レコードの詳細なメタデータを取得します。
  • ファイルの一覧表示とダウンロード — レコードに添付されたファイルを参照し、ダウンロードします。
利用可能なツール
ツール説明
search_recordsZenodo のレコードを検索します
get_metadataZenodo レコードの詳細なメタデータを取得します
get_citationZenodo レコードの BibTeX または APA 形式の引用情報を返します
detect_data_typeレコードがデータセット、ソフトウェア、論文のいずれかを判定します
compare_records複数の Zenodo レコードのメタデータを比較します
list_filesZenodo レコードで利用可能なファイルを一覧表示します
download_fileレコードから特定のファイルをダウンロードします
generate_embed_linkレコード(PDF、データセット)用の直接埋め込み可能なリンクを作成します
extract_keywordsレコードの要約またはテキストから主要なキーワードを抽出します
get_related_records指定された Zenodo レコードに関連するレコードを検索します
summarize_recordレコードのメタデータから要約を生成します

リポジトリ構成

このリポジトリには、異なる用途に対応する 2 つの実装が含まれています。

  1. MCP SDK Core(/mcp_sdk_core)— Cursor IDE や Claude Desktop などの MCP 対応環境と統合するための Python MCP サーバーです。
  2. MCP API(/mcp_api)— LangChain や LangGraph などの LLM フレームワーク、および OpenAI 互換クライアント向けに、MCP 互換ツールを提供する FastAPI サービスです。
MCP SDK Core

MCP SDK Core の実装は、MCP 対応環境との直接統合向けに設計されています。以下の機能を提供します。

  • MCP との直接統合 — Model Context Protocol 標準に準拠しています。
  • Cursor IDE/Claude Desktop との互換性 — 標準の MCP クライアント設定を通じて接続します。
  • シンプルな設定 — JSON 設定ファイルで管理します。
  • 統一された API — Zenodo リソースへの標準化されたアクセスを提供します。

追加のミドルウェアを使わずに、開発環境から Zenodo に直接アクセスしたい開発者に最適です。

MCP SDK Core の実装について詳しくはこちら →

MCP API

MCP API の実装は、LLM フレームワーク向けに MCP 互換ツールを提供する FastAPI サービスです。次の機能を備えています。

  • LangChain との統合 — LangChain エージェントでツールを使用できます。
  • LangGraph との互換性 — LangGraph のワークフローでツールを使用できます。
  • OpenAI 互換 API — OpenAI 互換クライアントで使用できます。
  • LibreChat のサポート — LibreChat および類似プラットフォームと互換性があります。
  • カスタムツールの作成 — ツールを追加できる拡張可能なアーキテクチャです。

これは、より大きなワークフローの一部として Zenodo と連携する LLM アプリケーションを構築する開発者に最適です。

MCP API の実装について詳しく見る →


30 秒で始める

オプション A — Cursor IDE / Claude Desktop 用 MCP サーバー
# Clone the repository
git clone https://github.com/MSKazemi/mcp-zenodo.git
cd mcp-zenodo/mcp_sdk_core

# Install dependencies
pip install -r requirements.txt

続いて、お使いの MCP クライアントにサーバーを登録します。Cursor IDE の場合は mcp.json(プロジェクトのルートまたは ~/.cursor/ 内)を作成します。Claude Desktop の場合は、同じブロックを claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "Zenodo": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-zenodo/mcp_sdk_core/server",
        "run",
        "server.py"
      ]
    }
  }
}

--directory のパスをローカルのチェックアウト先に合わせて変更してください。クライアントを再起動すると、Zenodo MCP サーバーが検出され、起動します。その後、アシスタントに Zenodo の検索、メタデータの取得、引用情報の取得を依頼できます。

オプション B — LangChain / LangGraph / OpenAI 互換クライアント用 FastAPI サービス
# Clone the repository
git clone https://github.com/MSKazemi/mcp-zenodo.git
cd mcp-zenodo/mcp_api

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your Zenodo API token

# Run the API server
uvicorn server.main:app --host 0.0.0.0 --port 8000

使用例

MCP 対応アシスタント(Claude Desktop、Cursor)に、search_records ツールを呼び出す質問をします。

「Zenodo で気候モデルの出力に関するレコードを検索し、DOI 付きで最上位の結果を表示してください。」

アシスタントは search_records ツールを呼び出し、次に get_metadata を呼び出して、レコードのタイトル、著者、DOI、説明を返します。代表的な(省略版の)ツール結果は次のようになります。

{
  "hits": [
    {
      "title": "Example Climate Model Output Dataset",
      "doi": "10.5281/zenodo.1234567",
      "type": "dataset",
      "url": "https://zenodo.org/record/1234567"
    }
  ]
}

続けて get_citation を使うと BibTeX または APA 形式の引用情報を取得できます。また、list_files / download_file を使うとレコードのファイルにアクセスできます。(実際のフィールドと値は、Zenodo から返されるレコードによって異なります。)


使用例

  • 文献とデータセットの発見 — AI アシスタントに Zenodo を検索させ、関連するデータセット、ソフトウェア、DOI 付き論文を提示できます。
  • 引用情報の取得 — レコードの BibTeX または APA 形式の引用情報を、原稿やノートブックに直接取り込めます。
  • 研究エージェント — LangChain / LangGraph エージェントに Zenodo ツールを提供し、オープンな研究データに基づいて回答できるようにします。
  • エディター内での調査 — コードやドキュメントの作成中に、Cursor IDE または Claude Desktop から Zenodo に問い合わせられます。
  • 再現性のあるワークフロー — 研究成果物をプログラムから特定し、メタデータを確認してダウンロードできます。

比較と代替手段

  • Zenodo REST API を直接呼び出す場合との比較 — Zenodo REST API を使うと、入稿やアップロードを含めてすべてを制御できますが、統合を自分で作成し、保守する必要があります。mcp-zenodo は一般的な読み取り・取得操作を MCP ツールとして提供するため、カスタムコードなしであらゆる MCP クライアントから利用できます。
  • 汎用 HTTP / fetch MCP サーバーとの比較 — 汎用の fetch ツールで Zenodo の URL にアクセスすることはできますが、レコード、メタデータ、引用情報、ファイル一覧に関する知識はありません。mcp-zenodo は Zenodo 専用の型付きツールを提供します。
  • 他の研究リポジトリ向け MCP サーバーとの比較 — arXiv やその他のデータリポジトリなどを対象とする同様の MCP サーバーがあります。mcp-zenodo は Zenodo に特化しています。また、2 つの統合方法(stdio MCP サーバーと FastAPI サービス)を提供しているため、直接 MCP クライアントを使う方法と、LLM フレームワーク / OpenAI 互換の利用方法から選べます。

制限事項/使用を避けるべきケース

  • 登録や公開には使用できません — このプロジェクトは Zenodo からの検索と取得に特化しており、Zenodo への登録/アップロードのワークフローは実装していません。
  • Zenodo API に依存します — 可用性、レート制限、返されるフィールドは Zenodo によって決まります。一部の操作には Zenodo API トークンが必要な場合があります。
  • 取得品質は Zenodo のメタデータに依存します — データ型の検出、キーワードの抽出、要約はレコードのメタデータに基づいており、ベストエフォートで提供されます。
  • 実装は 2 つに分かれています — MCP SDK Core サーバーと FastAPI サービスでは設定方法が異なります。単一の統合されたデプロイを想定せず、使用するクライアントに合ったものを選んでください。

FAQ

mcp-zenodo とは何ですか? mcp-zenodo は Zenodo の MCP サーバーです。Model Context Protocol を実装し、オープンアクセスの研究リポジトリである CERN の Zenodo を、大規模言語モデルが呼び出せるツールとして提供します。レコードの検索、メタデータの読み取り、引用情報の取得、ファイルの一覧表示やダウンロードができます。

MCP 経由で Claude や ChatGPT から Zenodo を利用するにはどうすればよいですか? Claude Desktop または Cursor IDE では、mcp_sdk_core サーバーをインストールし、クイックスタートの説明に従って MCP クライアントの設定(claude_desktop_config.json または mcp.json)に追加してください。OpenAI 互換/ChatGPT スタイルのワークフローでは、mcp_api FastAPI サービスを実行し、フレームワーク(例:LangChain、LangGraph)または OpenAI 互換クライアントから MCP 互換ツールを呼び出してください。

どの MCP クライアントに対応していますか? MCP 互換クライアントであれば、標準の MCP トランスポートを介して mcp_sdk_core サーバーを利用できます。Cursor IDE でテスト済みで、Claude Desktop でも動作します。mcp_api サービスは、LangChain や LangGraph などの LLM フレームワーク、OpenAI 互換クライアント、および LibreChat などのプラットフォームを対象としています。

Zenodo API トークンは必要ですか? FastAPI サービスは .env から Zenodo API トークンを読み込みます(.env.example を参照)。トークンなしでも利用できる Zenodo の操作はありますが、安定したアクセスのためにトークンの使用を推奨します。

mcp-zenodo は PyPI で公開されていますか? 現時点では公開されていません。クイックスタートの説明に従って、リポジトリをクローンしてインストールしてください。


コントリビューション

2 つの実装へのコントリビューションを歓迎します。詳細については、各実装の README(mcp_sdk_core、mcp_api)をご覧ください。


ライセンス

このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。


引用

このプロジェクトを研究などで利用する場合は、引用してください。引用メタデータは CITATION.cff に記載されています。例:

Seyedkazemi Ardebili, M. mcp-zenodo:Zenodo の MCP サーバー。 https://github.com/MSKazemi/mcp-zenodo

法的通知と責任ある利用

このリポジトリ内の資料は、適用法で認められる範囲において、いかなる保証もなく提供されます。これらの資料を利用する、またはデプロイする前に、免責事項と責任ある利用に関する通知をお読みください。この通知は、既存のソフトウェアライセンスを変更したり、法的に放棄できない権利を制限したりするものではありません。

コメント

MCP は初めてですか?

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

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