mcpField
O
OpenAlex MCP Server

OpenAlex MCP Server

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

OpenAlex MCP Server について

研究者や AI エージェントが OpenAlex のオープンな学術カタログを検索できる MCP サーバーです。OpenAlex の検索フィルターやソートを使い、エンティティ検索、取得、オートコンプリート、テキスト分類を行えます。

主な機能

  1. 01論文、著者、研究エンティティの検索
  2. 02結果の絞り込み、ソート、ページ分割、集計
  3. 03OpenAlex ID によるエンティティ取得
  4. 04エンティティ種別を横断するオートコンプリート
  5. 05テキストから研究概念を分類

活用シーン

  1. 01トピック、日付、被引用数で論文を検索
  2. 02研究者や機関を特定
  3. 03年別の出版動向を調査
  4. 04タイトルと要旨から研究概念を推定

MCP 対応

OpenAlex API の検索・取得機能を、エンティティ検索、オートコンプリート、テキスト分類を含むツールとして MCP クライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

OpenAlex MCP サーバー

240 million 以上の学術成果を網羅する、グローバルな研究システムの完全オープンなカタログ、OpenAlex API にアクセスできる Model Context Protocol(MCP)サーバーです。

特長

この MCP サーバーでは、次の項目を検索および取得するツールを利用できます。

  • 成果 - 学術論文、プレプリント、データセット、書籍(2億4,000万件以上)
  • 著者 - ORCID 連携に対応した研究者および制作者
  • 情報源 - 学術誌、会議、リポジトリ(約25万件)
  • 機関 - ROR マッチングに対応した大学、病院、研究所
  • 概念 - 階層型の研究トピック(レベル0~5)
  • 出版社 - 出版組織
  • 資金提供機関 - 助成を行う機関
  • オートコンプリート - すべてのエンティティタイプを対象にした入力中の検索
  • テキスト分類 - 任意のテキストに対する概念の予測

インストール

npm から(推奨)
npm install -g openalex-mcp
ソースから
git clone https://github.com/reetp14/openalex-mcp.git
cd openalex-mcp
npm install
npm run build

使用方法

MCP サーバーとして

MCP クライアントの設定に追加します。

{
  "mcpServers": {
    "openalex": {
      "command": "npx",
      "args": ["openalex-mcp"]
    }
  }
}

json



ローカルにインストールした場合は、次のようにします。

{
  "mcpServers": {
    "openalex": {
      "command": "node",
      "args": ["./node_modules/openalex-mcp/build/index.js"]
    }
  }
}
利用可能なツール
エンティティ検索ツール

すべての検索ツールは、OpenAlex のクエリー文法全体に対応しています。

  • search_works - 学術成果を検索します
  • search_authors - 研究者および制作者を検索します
  • search_sources - 学術誌、会議、リポジトリを検索します
  • search_institutions - 大学、病院、研究所を検索します
  • search_concepts - 研究トピックを検索します
  • search_publishers - 出版組織を検索します
  • search_funders - 助成を行う機関を検索します

共通パラメーター:

  • search - 全文検索クエリー
  • filter - ブール値フィルター(例:concept.id:C12345,from_publication_date:2022-01-01)
  • sort - 並べ替えフィールド。必要に応じて :desc を指定します(例:cited_by_count:desc)
  • page/per_page - 標準ページネーション(合計最大10,000件)
  • cursor - 詳細ページネーション(最初の呼び出しには * を使用します)
  • group_by - フィールドによるファセット/集計
  • select - 返すフィールドをカンマ区切りで指定します
  • sample - ランダムサンプルのサイズ。必要に応じて seed を指定します
  • mailto - レート制限の引き上げに使用するメールアドレス
単一エンティティの取得
  • get_entity - OpenAlex ID で単一のエンティティを取得します
    • entity_type - 次のいずれか:works、authors、sources、institutions、concepts、publishers、funders
    • openalex_id - OpenAlex ID(例:W2741809807、A1969205038)
ユーティリティツール
  • autocomplete - エンティティタイプを横断した入力中の検索

    • search - 検索クエリー(必須)
    • type - 検索対象のエンティティタイプ(任意)
    • per_page - 候補の数(最大50件)
  • classify_text - テキストから研究概念を予測します

    • title - 分類するタイトルテキスト
    • abstract - 分類する要旨テキスト

使用例

2023年の AI 論文を検索する
{
  "tool": "search_works",
  "arguments": {
    "search": "artificial intelligence",
    "filter": "from_publication_date:2023-01-01,to_publication_date:2023-12-31",
    "sort": "cited_by_count:desc",
    "per_page": 10,
    "mailto": "[email protected]"
  }
}
機関から著者を検索する
{
  "tool": "search_authors",
  "arguments": {
    "filter": "last_known_institution.id:I27837315",
    "sort": "works_count:desc",
    "select": "id,display_name,works_count,cited_by_count"
  }
}
年ごとの出版動向を取得する
{
  "tool": "search_works",
  "arguments": {
    "filter": "concepts.id:C154945302",
    "group_by": "publication_year"
  }
}
学術誌名をオートコンプリートする
{
  "tool": "autocomplete",
  "arguments": {
    "search": "nature",
    "type": "sources",
    "per_page": 5
  }
}
研究テキストを分類する
{
  "tool": "classify_text",
  "arguments": {
    "title": "Deep Learning for Medical Image Analysis",
    "abstract": "We present a novel approach using convolutional neural networks..."
  }
}

クエリー文法のクイックリファレンス

フィルター
  • AND 条件は , で連結します:concept.id:C12345,publication_year:2023
  • OR 条件は | で連結します:type:journal|type:repository
  • ! で否定します:authors.id!A12345(著者を除外)
  • 日付範囲:from_publication_date:2020-01-01,to_publication_date:2023-12-31
並べ替え
  • 昇順:sort=publication_year
  • 降順:sort=cited_by_count:desc
  • 複数指定:sort=publication_year:desc,cited_by_count:desc
ページネーション
  • 標準:page=2&per_page=100(最大10,000件)
  • 詳細:cursor=*(最初の呼び出し)。以降は返された next_cursor を使用します
レート制限
  • 匿名:毎秒10リクエスト、1日あたり100,000リクエスト
  • mailto 指定時:毎秒100リクエスト、1日あたり1,000,000リクエスト

API レスポンス形式

すべてのツールは、標準の OpenAlex JSON エンベロープを返します。

{
  "meta": {
    "count": 249256387,
    "db_response_time_ms": 12,
    "page": 1,
    "per_page": 25,
    "next_cursor": "ZjEwMD..."
  },
  "results": [
    {
      /* entity object */
    }
  ]
}

開発

# Watch mode during development
npm run watch

# Test with MCP inspector
npm run inspector

# Run basic functionality test
node test-simple.js

環境設定

サーバーは設定用の環境変数に対応しています。.env.example を .env にコピーして設定します。

cp .env.example .env
# Edit .env with your settings
環境変数
  • OPENALEX_BEARER_TOKEN:認証済み API アクセス用のベアラートークン(任意)
  • OPENALEX_DEFAULT_EMAIL:mailto パラメーターが指定されていない場合に、レート制限に使用するデフォルトのメールアドレス

API アクセスに関する注意事項

  • 無料アクセス:OpenAlex API は無料でオープンです
  • レート制限:10 req/sec(匿名)または 100 req/sec(ベアラートークンまたは mailto を使用)
  • 認証:ベアラートークンは環境から自動的に読み込まれます
  • レスポンスサイズ:大規模なデータセットでは、select パラメーターを使用してレスポンスサイズを制限してください

レスポンスを最適化した例:

{
  "tool": "search_works",
  "arguments": {
    "search": "machine learning",
    "select": "id,display_name,publication_year,cited_by_count",
    "per_page": 10
  }
}

OpenAlex について

OpenAlex は、古代のアレクサンドリア図書館にちなんで名付けられ、非営利団体 OurResearch によって作成された、世界の研究システムを網羅する完全にオープンなカタログです。学術論文、著者、機関などに関する包括的なメタデータを無料で提供しています。

コメント

MCP は初めてですか?

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

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