HasData Google Scholar について
HasData Google Scholarは、研究者や学術用途向けのホスト型MCPサーバーです。Google Scholarの検索、引用情報、文献エクスポート情報を構造化JSONで返し、被引用論文や論文の版も調べられます。
主な機能
- 01キーワード、年、Scholar演算子で検索
- 02引用数と被引用論文の確認
- 035種類の引用形式を取得
- 04BibTeXやEndNoteのエクスポートリンク
- 05論文の版や判例の検索
活用シーン
- 01期間を指定したテーマ別論文検索
- 02論文を引用した文献の追跡
- 03APA形式やBibTeXの作成
- 04判例の検索
MCP 対応
ホスト型リモートサーバーとして、読み取り専用のGoogle Scholar検索・引用ツールと、パラメーター値を示すリソースをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.hasdata.com/mcp?apis=google_scholarclaude mcp add --transport http com-hasdata-google-scholar https://mcp.hasdata.com/mcp?apis=google_scholar{"mcpServers":{"com-hasdata-google-scholar":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_scholar"}}}Cursor で開く{"servers":{"com-hasdata-google-scholar":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_scholar"}}}VS Code で開く{"mcpServers":{"com-hasdata-google-scholar":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_scholar"}}}{"mcpServers":{"com-hasdata-google-scholar":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=google_scholar"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.hasdata.com/mcp?apis=google_scholar認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| pets | number | いいえ | ペットの数。 |
| neLat | number | いいえ | 地図のバウンディングボックスの北東角の緯度。4 つの境界ボックス座標をすべて指定すると、場所ではなくボックス内でリスティングを検索します。 |
| neLng | number | いいえ | 地図のバウンディングボックスの北東角の経度。 |
| swLat | number | いいえ | 地図のバウンディングボックスの南西角の緯度。 |
| swLng | number | いいえ | 地図のバウンディングボックスの南西角の経度。 |
| adults | number | いいえ | 大人の人数。 |
| checkIn | string | はい | リスティングのチェックイン日。 |
| infants | number | いいえ | 乳幼児の人数。 |
| checkOut | string | いいえ | リスティングのチェックアウト日。 |
| children | number | いいえ | 子どもの人数。 |
| location | string | いいえ | リスティングを検索する場所。完全な地図バウンディングボックス(neLat、neLng、swLat、swLng)を指定しない場合は必須です。 |
| nextPageToken | string | いいえ | 次のページの結果を取得するためのトークン。 |
詳細
Google Scholar MCP サーバー
Claude、Cursor、Windsurf、その他すべての MCP クライアントに、読み取り専用の Google Scholar ツールを 2 つ提供する、ホスト型の Model Context Protocol(MCP)サーバーです。Scholar 独自の演算子や年の範囲、被引用数検索を使って文献を検索し、論文の引用情報を 5 種類の形式で取得できます。BibTeX と EndNote のエクスポートリンクも含め、どちらも構造化 JSON で返されるため、ホストするものはありません。
サインアウトした訪問者が閲覧できる、公開 Google Scholar ページを読み取ります。
毎月 1,000 クレジットを無料で利用でき、カード登録も不要です。10 クレジットのレートでは、Scholar を 100 回呼び出せます。
https://mcp.hasdata.com/mcp?apis=google_scholar
目次
- 必要なもの
- クイックスタート
- プロンプトの例
- ツール
- エラーと失敗時の動作
- 料金、無料プラン、制限
- ツールの選び方
- 比較
- よくある質問
- HasData のリンク
- 開発
- コントリビューション
- ライセンス
必要なもの
MCP クライアントと、ダッシュボードから取得する HasData API キーが必要です。カード登録不要で無料で作成でき、無料プランでは 10 クレジットのレートで月に約 100 回呼び出せます。これはリモートサーバーなので、コンテナーを実行する必要はなく、URL と x-api-key ヘッダーを使うのが最も簡単です。stdio のみをサポートするクライアントは、npm の @hasdata/google-scholar-mcp と PyPI の hasdata-google-scholar-mcp として公開されている薄いランチャーを介して接続できます。詳細は以下をご覧ください。
クイックスタート
サーバー URL はすべてのクライアントで同じです。Claude Code と Claude Desktop では実際に動作を確認しています。その他のブロックは、それぞれのクライアントがリモートサーバー用にドキュメントで定めている形式に従っています。
| フィールド | 値 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=google_scholar |
| トランスポート | HTTP、ストリーム可能 |
| 認証ヘッダー | x-api-key: HASDATA_API_KEY |
OAuth に対応したクライアントでは、同じ URL をコネクターとして追加し、設定ファイルにキーを記述せずにサインインできます。
Claude Code
claude mcp add --transport http google-scholar "https://mcp.hasdata.com/mcp?apis=google_scholar" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
「設定」、「コネクター」、「カスタムコネクターを追加」の順に選択し、https://mcp.hasdata.com/mcp?apis=google_scholar を貼り付けてサインインします。
設定ファイルを使う場合、Claude Desktop はローカル(stdio)サーバーのみを読み込むため、stdio ランチャーを介してリモートサーバーに接続します。@hasdata/google-scholar-mcp パッケージがそのランチャーで、キーは環境変数から読み込みます。claude_desktop_config.json に次の内容を追加してください。
{
"mcpServers": {
"google-scholar": {
"command": "npx",
"args": ["-y", "@hasdata/google-scholar-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Node の代わりに Python を使う場合は、ランチャーを PyPI パッケージに置き換えます。手動でインストールしなくても uvx で実行できます。
{
"mcpServers": {
"google-scholar": {
"command": "uvx",
"args": ["hasdata-google-scholar-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
すべてのプロジェクトで使う場合は ~/.cursor/mcp.json、1つのプロジェクトで使う場合は .cursor/mcp.json を使用します。
{
"mcpServers": {
"google-scholar": {
"url": "https://mcp.hasdata.com/mcp?apis=google_scholar",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を使用します。Windsurf では url ではなく serverUrl というフィールド名を使います。
{
"mcpServers": {
"google-scholar": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=google_scholar",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
ワークスペース内の .vscode/mcp.json を使用します。
{
"servers": {
"google-scholar": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_scholar",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
プロンプトの例
以下のプロンプトは、それぞれ1つのツールで完了します。2つ目のツールが1つ目のツールから返された ID を必要とする場合は、順に2つのツールを使います。
- 2023年以降に発表されたトランスフォーマーアーキテクチャに関する論文を探し、被引用数順に並べてください。
- この論文を引用した人は誰ですか。また、その数は年ごとにどう増えていますか。
- この論文の BibTeX を教えてください。
- このトピックに関するレビュー論文のみを探し、完全なレコードがない引用は除外してください。
- この論文のインデックス登録済みバージョンをすべて表示し、そのうち PDF があるものを教えてください。
- この著者がこのトピックについて最近発表した研究を探してください。
論文名を指定するプロンプトでは、resultId を取得する検索と、引用情報の検索の2回の呼び出しが必要です。論文を引用している人について尋ねるプロンプトも2回の呼び出しが必要です。2回目の呼び出しで、1回目の citedBy.citesId を再利用するためです。
ツール
| ツール | 返される内容 |
|---|---|
hasdata_google_scholar_case_law_getScholarCaseLawOpinion | 裁判所、判例集の引用情報、事件番号、口頭弁論日と判決日、および独自の caseId を持つ引用先の全判例を含む、1件の裁判意見。1回の呼び出しにつき10クレジット |
hasdata_google_scholar_cite_getScholarCitationFormats | 書式設定済みの引用スニペット(MLA、APA、Chicago、Harvard、Vancouver)と、文献管理ツールへのエクスポートリンク(BibTeX、EndNote、RefMan、RefWorks)。1回の呼び出しにつき10クレジット |
hasdata_google_scholar_scholar_getScholarSearchResults | 各オーガニック検索結果のタイトル、リンク、スニペット、出版情報(プロフィールリンク付きの著者)、被引用数とリンク、関連記事へのリンク、全バージョン数など。1回の呼び出しにつき10クレジット |
3つのツールがあり、成功した呼び出し1回につき10クレジットです。
Scholar の検索結果を取得する
hasdata_google_scholar_scholar_getScholarSearchResults
Scholar の検索結果の1ページ分です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
q | string | はい | 検索クエリです。author: や source: などの Scholar 演算子を使用できます |
asYlo / asYhi | number | 公開年の下限と上限です | |
start | number | 検索結果のオフセットです。0 は最初の結果を示します | |
num | number | 1ページあたりの検索結果数です | |
scisbd | number | 1 は要約を日付順に、2 はすべてを日付順に並べ替えます。関連度順にする場合は省略します | |
cites | string | citedBy.citesId を使用して、この記事を引用している論文を検索します | |
cluster | string | versions.clusterId を使用して、論文のインデックス登録済みのすべてのバージョンを検索します | |
asSdt | string | 検索タイプです。論文は 0,5、判例は 4、特許は 0 または 7 です | |
asRr | number | 1 はレビュー論文のみを返します | |
asVis | number | 1 は引用を除外し、0 は含めます | |
hl | string | インターフェースの言語です。159種類から選択できます | |
lr | array | 指定したコンテンツ言語に絞り込みます | |
safe | string | active または off です | |
filter | number | 1 は Google の類似検索結果および省略された検索結果のフィルターを適用し、0 は適用しません |
totalResults、queryDisplayed、および Scholar が報告した所要時間を含む searchInformation、organicResults 配列、pagination を返します。
各検索結果には、position、resultId、title、link、snippet、publicationInfo オブジェクト、resources 配列、citedBy、versions、relatedPagesLink、citeHasdataLink が含まれます。
publicationInfo.authors は、把握しておくと便利な項目です。元の summary 行に加えて、Scholar にプロフィールがある著者が一覧表示されます。各著者には name、プロフィールへの link、authorId があり、著者名の行を解析せずに特定の著者を追跡できます。
citedBy と versions は、このツールを連携して使うための2つの ID です。citedBy.citesId を cites に渡すと引用グラフをたどれます。また、versions.clusterId を cluster に渡すと、同じ論文のインデックス登録済みのすべてのコピーを確認できます。
{
"position": 1,
"resultId": "A7L9JolPKkoJ",
"title": "A historical survey of advances in transformer architectures",
"link": "https://www.mdpi.com/2076-3417/14/10/4316",
"snippet": "… of the Vision Transformer (ViT) opening a new realm of architectures which build … transformer architecture, it becomes pertinent to examine in detail the architecture of the transformer …",
"publicationInfo": {
"summary": "AR Sajun, I Zualkernan, D Sankalpa - Applied Sciences, 2024 - mdpi.com",
"authors": [
{ "name": "AR Sajun", "authorId": "k6zWX4EAAAAJ", "link": "https://scholar.google.com/citations?user=k6zWX4EAAAAJ&hl=en" }
]
},
"resources": [{ "fileFormat": "Html", "title": "mdpi.com", "link": "https://www.mdpi.com/2076-3417/14/10/4316" }],
"citedBy": { "total": 97, "citesId": "5344171358311789059" },
"versions": { "total": 7, "clusterId": "5344171358311789059" }
}
Scholar の引用形式を取得する
hasdata_google_scholar_cite_getScholarCitationFormats
1本の論文の引用情報です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
q | string | はい | 検索結果の resultId です。検索クエリではありません |
hl | string | インターフェースの言語です |
MLA、APA、Chicago、Harvard、Vancouver 形式の整形済み文字列を含む citations と、BibTeX、EndNote、RefMan、RefWorks 用のエクスポート URL である links を返します。
{
"citations": [
{
"title": "APA",
"snippet": "Sajun, A. R., Zualkernan, I., & Sankalpa, D. (2024). A historical survey of advances in transformer architectures. Applied Sciences, 14(10), 4316."
}
],
"links": [
{ "name": "BibTeX", "link": "https://scholar.googleusercontent.com/scholar.bib?q=info:A7L9JolPKkoJ:scholar.google.com/&output=citation..." }
]
}
判例を取得する
hasdata_google_scholar_case_law_getScholarCaseLawOpinion
引用先の判例を含む、1件の裁判所意見です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
caseId | string | はい | 判例検索結果の caseId です。検索クエリではありません |
hl | string | インターフェースの言語です |
この ID は URL ではなく、検索ツールから取得します。asSdt に判例の裁判所スコープを設定します(例:4)。すると、すべてのオーガニック検索結果に caseHasdataLink とともに caseId が含まれます。
title、name、courtName、cert、印刷された判例意見の firstPage と lastPage を含む caseResults を返します。dates には口頭弁論日と判決日が別々の項目として格納され、shortCitations には判例集の引用表記、caseNumbers には事件番号が格納されます。citedCases には、この判例が引用しているすべての判例が一覧表示され、それぞれに独自の caseId が含まれるため、引用グラフの取得に解析処理は不要で、もう1回呼び出すだけで済みます。
{
"caseResults": {
"caseId": "5876335373788447272",
"title": "Sony Corp. of America v. Universal City Studios, Inc., 464 US 417 - Supreme Court 1984",
"courtName": "Supreme Court of United States.",
"firstPage": 418,
"lastPage": 500,
"dates": [{ "position": 1, "type": "Argued", "date": "January 18, 1983" }],
"shortCitations": [{ "position": 1, "name": "464 U.S. 417 (1984)" }],
"citedCases": [
{
"position": 1,
"caseId": "1376545051729958882",
"caseLink": "https://scholar.google.com/scholar_case?case=1376545051729958882&hl=en&as_sdt=6,43"
}
]
}
}
プロンプトとリソース
サーバーは4つのリソースを公開しており、それぞれ、受け付ける値が固定リストになっているパラメーターに対応しています。拒否された呼び出しで語彙を学ぶより、リソースを読み取るほうが低コストで、クレジットも消費しません。各 URI は hasdata://google_scholar/<parameter> です。
| パラメーター | 値の数 | 選択する内容 |
|---|---|---|
hl | 159 | 検索に使用する言語の2文字の言語コードです。 |
lr | 43 | 「lr」パラメーターは、検索結果の対象となるウェブサイトの言語を指定します。このパラメーターは、ウェブコンテンツの言語に基づいて結果を絞り込みます。 |
asSdt | 302 | 検索の種類/フィルターです。以下の値を選ぶと特定の裁判所の判例を検索できます。また、論文(デフォルト)の場合は 0,5、特許を含める場合は 7 を使用してください。Google Scholar が受け付ける裁判所コードの組み合わせは、カンマ区切りであれば、このリストにないものも自由入力として使用できます。 |
safe | 2 | アダルトコンテンツのフィルタリングオプションです。 |
このリストは API キーなしで提供されるため、クライアントはユーザーが登録する前に読み取れます。
エラーと失敗時の動作
成功する場合だけを想定せず、以下の点を考慮してください。
引用検索ツールでは、q はクエリではなく論文 ID です。 検索結果の resultId(例:A7L9JolPKkoJ)を指定します。タイトルや DOI を指定しても有用な結果は返されません。パラメーター名が共通しているため、間違えやすくなっています。
citesId と clusterId は同じ値になることがありますが、相互に置き換えられるわけではありません。 上記の論文では、両者は同じ値でした。一方は cites に渡してその論文を引用している論文を検索し、もう一方は cluster に渡してその論文の別のコピーを検索します。正しい番号を誤ったパラメーターに送ると、もっともらしく見えても、別の内容のページが返されます。
type は、一部の検索結果には含まれますが、含まれないものもあります。 今回は5件中1件に含まれており、主要なリソースの形式を示していました。PDF が存在するかを確認する必要がある場合は、resources[].fileFormat を参照してください。
BibTeX のリンクは、BibTeX そのものではなく、署名が含まれた Scholar の URL です。 links 配列には取得先のアドレスが含まれています。そこには有効期限のある scisig トークンが含まれているため、後で使うために保存せず、速やかに取得してください。
totalResults は Scholar による推定値で、精度はかなり粗いものです。 上記のクエリでは 2,080,000 と表示されました。件数ではなく、桁の目安として扱ってください。
Scholar が数えるのは引用であり、品質ではありません。また、プレプリント、学位論文、引用情報のみのレコードもインデックスに含まれます。 完全なメタデータを持つレコードが必要な場合は、asVis: 1 を指定すると、引用情報のみのエントリーを除外できます。
深いページに進むと、結果は乏しくなります。 Scholar は結果セットの範囲を制限しており、推定値から予想されるよりずっと前に、結果の繰り返しやブロックが始まります。そのため、start を増やし続けるのではなく、asYlo、asYhi、または asSdt で絞り込んでください。
データを含む結果には、サポートへの問い合わせ時に伝えると役立つ requestMetadata.id も含まれています。
料金、無料枠、制限
Scholar の各ツールは、呼び出しが成功するごとに10クレジットかかります。レスポンスのサイズによって料金は変わらないため、検索範囲を広げるには num を増やすのが低コストです。
無料枠は、カード登録不要で毎月1,000クレジットです。基本料金では Scholar を100回呼び出せます。請求サイクルごとに更新されるため、利用量の少ないエージェントであれば、無料枠を無期限に利用できます。
有料プランは、200,000クレジット(20,000回の呼び出し)で月額59ドルからです。利用量が増えるほど単価は下がり、エントリープランでは呼び出し1,000回あたり2.95ドル、Basic では1.19ドル、Growth 各プランでは0.83ドルです。最新の料金は料金ページをご覧ください。
プランによって同時実行数も異なります。無料枠は同時に1リクエスト、Startup は5、Basic は15、Growth 各プランでは50〜500です。無人で実行する処理では、429 が返されたらバックオフを入れて再試行してください。引用グラフをたどるエージェントは、あなたより先に上限に達するためです。
200 以外のレスポンスが返されたリクエストは課金されません。結果が見つからなかった場合でも、呼び出しが成功すれば課金されます。
ツールの選び方
プロンプトで与えられた情報から始めます。トピック、著者、または対象の期間がある場合は検索ツールを使います。すでに resultId を持っている場合は、そのまま引用ツールに渡します。
次に、次のステップで必要な ID を考えます。文献を幅広く調べるなら、num を大きくして検索を 1 回呼び出します。引用グラフを調べるなら、検索を 1 回呼び出した後、たどる論文ごとに cites を 1 回呼び出します。プレプリントと出版済みバージョンを重複排除するなら、論文ごとに cluster を呼び出します。いずれの場合も、最初のレスポンスですでに返された ID を再利用するため、検索をもう一度呼び出すのはたいてい無駄です。
ページングする前に num を増やしましょう。コストは結果数ではなく呼び出し回数に応じて発生するため、幅広いページを 1 回取得するほうが、狭いページを 3 回取得するより効率的です。
比較
Google Scholar には公開 API がないため、比較するならオープンな書誌 API が対象になります。
| OpenAlex または Semantic Scholar | このサーバー | |
|---|---|---|
| 利用条件 | オープンで、基本利用にキーは不要 | API キーが必要 |
| 網羅範囲 | 大規模で、キュレーション済み、DOI 中心 | Scholar のインデックス対象。学位論文やプレプリントも含みます |
| 引用数 | 独自の引用グラフから算出 | Scholar の表示値 |
| 引用表記 | メタデータから自分で作成 | Scholar の書式による MLA、APA、Chicago、Harvard、Vancouver |
| 全文へのリンク | DOI とオープンアクセスのリンク先 | PDF を含む、Scholar が表示するリソースへのリンク |
| 構造化メタデータ | 豊富で型付け済み | ページ上の表示に準拠 |
選択の決め手となるのは、どの引用数が必要かです。型付けされた安定したメタデータを用いた計量書誌学には、OpenAlex と Semantic Scholar のほうが適しており、無料で利用できます。Google Scholar の表示内容、つまり多くの研究者が実際に確認している情報を知りたい場合や、項目から自分で作成するのではなく、書式設定済みの引用表記が必要な場合に、このサーバーを利用してください。
FAQ
Google Scholar 公式の MCP サーバーはありますか?
Google は公開しておらず、Scholar にも公開 API はありません。このサーバーは HasData がメンテナンスしており、公開されている Scholar のページを読み取ります。
Google Scholar MCP サーバーとは何ですか?
MCP サーバーは、AI クライアントが呼び出せるツールを提供します。このサーバーは Scholar の検索結果と引用ブロックを、ブラウザーやスクレイピングライブラリをスタックに組み込まずに、エージェントが推論に使える JSON に変換します。
Google アカウントは必要ですか?
いいえ。必要な認証情報は HasData キーだけです。
論文の BibTeX はどのように取得しますか?
2 回呼び出します。検索して論文の resultId を取得し、その ID を q として引用ツールに渡して、links から BibTeX の URL を取得します。
論文を引用している論文をすべて見つけるにはどうすればよいですか?
検索結果から citedBy.citesId を取得し、cites パラメーターとして送り返します。レスポンスには引用している論文が返され、ほかの検索と同様にページングできます。
cites と cluster の違いは何ですか?
cites は、指定した論文を引用している論文を検索します。cluster は、出版済み論文に並ぶプレプリントなど、同じ論文の別のインデックス版を検索します。この 2 つの ID は同じように見えることが多いため、番号ではなく目的に応じて選んでください。
著者で検索できますか?
はい。q に author:"J Dean" のように、Scholar 独自の演算子を指定します。検索結果には、Scholar のプロフィールがある著者の authorId も含まれます。こちらのほうが安定した識別子です。
HasData のほかの API と一緒に使えますか?
はい。1 つのキーですべての API を利用でき、1 つのエンドポイントから apis パラメーターを通じて提供されます。クライアントを ?apis=google_scholar,google_serp に接続すると、1 つの接続で両方のツールセットを利用できます。また、全カタログについては mcp.hasdata.com/mcp をご覧ください。
HasData は Google と提携していますか?
いいえ。HasData は独立したサービスであり、Google と提携、承認、または後援の関係にはありません。Google Scholar はそれぞれの所有者の商標です。ツールは公開データのみを使用します。結果を Google の利用規約および適用される法律に従って使用する責任は、利用者にあります。
コンプライアンスと個人データ
著者名、所属、Scholar プロフィール ID は、学術記録の一部として公開されているとはいえ、個人データです。ある研究者の業績をまとめたプロフィールを作成することは、特定の分野の引用数を数えることとは異なる行為であり、目的と保存期間について改めて考える必要があります。論文自体にはそれぞれ独自のライセンスが適用されるため、リンクを掲載しても PDF の再配布が許可されるわけではありません。
HasData のリンク
- Google Scholar API ドキュメント:これらのツールの基盤となる REST エンドポイント
- 引用形式エンドポイント
- MCP サーバーのドキュメント
- 料金
- ダッシュボード
その他の HasData MCP サーバー:Google Search、Google Images、Google Maps、Google Trends、Bing、DuckDuckGo、YouTube、TikTok、Instagram、Amazon、Walmart、Shopify、Yelp、Yellow Pages、Zillow、Redfin、Airbnb、Booking.com、Indeed、Glassdoor。
開発
ランチャーはリモートサーバーへのシンプルな stdio ブリッジなので、ビルドするものはありません。
npm install
HASDATA_API_KEY=your_key_here npm test
test/ のテストでは、ここでコミットしなくても壊れる可能性があるツールの契約を検証します。?apis=google_scholar が想定される 3 つのツールを返すこと、名前が変更されていないこと、それぞれが引き続き固有の ID を必須とし、説明を備えていること、この README で説明している検索パラメーターが引き続きスキーマに含まれていること、そして使用中のキーが実際に受け入れられることを確認します。
さらに、2 つのテストで踏み込んだ検証を行います。1 つ目では、ライブ検索が引き続き resultId、citedBy.citesId、versions.clusterId を返すことを確認します。この 3 つの ID があればツールを連携できますが、レスポンスのほかの情報からは失われたことが分からないためです。もう 1 つは、resultId を引用ツールに直接渡します。これはこの README で説明している 2 回呼び出すワークフローであり、5 つのスタイルが返されることを確認します。合わせて実行あたり 20 クレジットかかりますが、適切な理由で失敗するカナリアテストのための費用です。
上流のツール一覧は、このリポジトリに誰も変更を加えなくても変わる可能性があるため、契約テストスイートは週次スケジュールでも実行されます。
貢献
ツール一覧の表、レスポンスのサンプル、または実際と一致しない動作の説明があれば、イシューを作成してください。そのためのテンプレートがあります。同じ内容に関するプルリクエストや、ランチャーに関するプルリクエストも歓迎します。
ライセンス
MIT。詳細はLICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。