Crossref MCP サーバー
Crossref API と対話するためのモデル コンテキスト プロトコル (MCP) サーバー。
特徴
- タイトルで作品を検索
- 著者による作品検索
- DOIで作品の詳細を取得
インストール
使用法
サーバーは 3 つの主なツールを提供します。
1. タイトルで検索
Crossref でタイトル別に作品を検索:
2. 著者で検索
Crossrefで著者別に作品を検索:
3. DOIで仕事を得る
DOI を使用して特定の作品を取得します。
応答フォーマット
すべての応答は、次の形式の構造化された JSON オブジェクトとして返されます。
検索が成功した場合:
単一のDOI検索の場合:
エラーまたは結果がない場合:
テスト
サーバーには、Vitestを使用した包括的なテストスイートが付属しています。テストは利用可能なすべてのツールを網羅し、成功レスポンス、空の結果、エラー処理など、さまざまなシナリオが含まれています。
テストの実行
テスト構造
このテストでは、Vitestのモック機能を使用して、実際のネットワークリクエストを発行することなく、Crossref APIのレスポンスをシミュレートします。テストの構成は以下のとおりです。
- 模擬データ: タイトル検索、著者検索、DOI検索のサンプル応答
- モックハンドラー:
mcp-server-test-handlers.js
内のハンドラー関数のテストバージョン - テストケース: すべてのツールを網羅するテスト:
- 成功したAPIレスポンス
- 空の結果セット
- エラー処理とネットワーク障害
テストの拡張
テストケースを追加するには:
- 必要に応じてテストファイルに新しいモックデータを追加します
- 関連する記述ブロックに追加のテストケースを作成する
mockFetchResponse()
ヘルパーを使用して API レスポンスをシミュレートします
例:
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Crossref API にクエリを実行して、タイトル、著者、または DOI で学術出版物を検索し、学術作品に関する構造化されたメタデータを返すモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- -securityAlicense-qualitySemantic Scholar API, providing comprehensive access to academic paper data, author information, and citation networks.Last updated -35PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides access to the DBLP computer science bibliography database, allowing AI models to search publications, process citations, and generate accurate BibTeX entries.Last updated -61PythonMIT License
- -securityFlicense-qualityA Model-Client-Protocol server that enables users to search the Gallica digital library of the National Library of France and generate structured sequential research reports with formatted citations and relevant images.Last updated -2Python
- -securityFlicense-qualityProvides tools for accessing the Semantic Scholar API to search papers, retrieve paper and author details, and fetch citations and references through the Model Context Protocol.Last updated -1Python