mcp-databnf について
mcp-databnfは、フランス国立図書館の公開目録をチャットクライアントから利用できるサーバーです。著者、作品、版を調べ、Gallicaにある関連デジタル資料も探せます。APIキーやアカウントは不要です。
主な機能
- 01名前による著者検索
- 02タイトルによる作品検索
- 03著者・作品記録の閲覧
- 04著作一覧と作品の版一覧
- 05Gallicaのデジタル資料検索
活用シーン
- 01著者の経歴や作品を調べる
- 02特定作品の版を確認する
- 03記録にGallica資料へのリンクがあるか調べる
MCP 対応
このMCPサーバーは、著者・作品の検索、記録の閲覧、著作・版の一覧、Gallicaのデジタル資料検索ツールをチャットクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
7掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | 人物の名前。例:'Rimbaud'、'Arthur Rimbaud'。 |
| page | integer | いいえ | |
| limit | integer | いいえ |
詳細
mcp-databnf
data.bnf.frはフランス国立図書館のオープンデータサービスです。国立図書館が管理する典拠レコードを公開しています。収録対象となる人物については、活動した年代や場所、使用言語、活動分野を、著作については、各著作が出版された版を記載しています。また、Gallicaでデジタル化された複製へのリンクも掲載しています。各レコードには、図書館が確定済みと判断しているか、まだ暫定的なものかが示されています。
このサーバーはチャットクライアントを同サービスに接続します。著者や作品を名前で検索したり、レコードの全内容を読んだり、著者の著作一覧や作品の版の一覧を表示したり、それぞれに紐づくデジタル化された複製を見つけたりできます。API キーもアカウントも必要ありません。
インストール
ワンクリックでインストール
Claude Code
claude mcp add databnf -- npx -y mcp-databnf
Claude Desktop、Cursor、および標準の設定形式を使用するすべてのクライアント
{
"mcpServers": {
"databnf": {
"command": "npx",
"args": ["-y", "mcp-databnf"]
}
}
}
Node 24 以降が必要です。環境変数を設定する必要はありません。
Docker を使用する場合
{
"mcpServers": {
"databnf": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-databnf:2.1.2"]
}
}
}
-i はプロトコルが通る stdin を開いたままにするためのもので、TTY はストリームを書き換えるため、-t は指定しません。コンテナに必要なのは data.bnf.fr への外向き HTTPS 通信だけです。ボリューム、ポート、認証情報は必要ありません。
npm を使わずにバンドルを利用する
mcp-databnf-2.1.2.mcpbをダウンロードして開いてください。MCP バンドルに対応したクライアントなら、npm も設定ファイルの編集も不要で、自動的にインストールできます。バンドルには依存関係が含まれているため、インストール時に何かを取得する必要はありません。
質問できること
- 「BnFはコレットについて何と述べていますか?」
- 「マルグリット・デュラスの著作をすべて一覧表示してください。」
- 「図書館はその作品のどの版を所蔵していますか?」
- 「そのうちGallicaでデジタル化されているものはありますか?」
- 「そのレコードが最後に確定されたのはいつですか?」
通常は、検索してからレコードを取得します。検索結果の行には id が含まれており、get_author または get_work でそのレコードを読み取れます。
ツール
| ツール | 機能 |
|---|---|
search_authors | 典拠レコードから名前で人物を検索します。 |
get_author | 1人の人物のレコード全体を読み取ります。 |
search_works | 作品をタイトルで検索します。 |
get_work | 1つの作品のレコード全体を読み取ります。 |
list_works | ある人物がクレジットされている作品を一覧表示します。 |
list_editions | 1つの作品の版を一覧表示します。 |
find_digitised | 人物または作品について、Gallica でデジタル化された所蔵資料を検索します。 |
search_authors
典拠レコードから名前で人物を検索します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
name | 文字列、1~200文字 | はい | 検索する名前です。 |
limit | 整数、1~50、デフォルトは 10 | いいえ | 返す行数です。 |
page | 整数、1~100、デフォルトは 1 | いいえ | 返す行のページです。 |
返される内容: authors。各項目には、get_author、list_works、find_digitised が受け取る id、サービス上の表記による name、通常は日付を含む典拠見出しの label、レコードに記載がない場合は null となる birth_year と death_year、role、source_url が含まれます。words_searched は実際に送信された検索語、has_more は次のページがあるかどうか、index_window_full はこの検索でインデックスから返せるすべての結果が返されたかどうかを示します。
get_author
1人の人物のレコード全体を読み取ります。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
author_id | 文字列、1~200文字 | はい | 検索結果の行に含まれる識別子です。 |
include_depictions | ブール値、デフォルトは false | いいえ | レコードが示す肖像を追加します。 |
返される内容: name、label、given_name、family_name、other_names、公開されている birth_date と death_date、数値の birth_year と death_year、birth_place、death_place、biographical_information、occupation、ISO 639-2 コードによる languages、レコードに記載された表記の countries と fields を含む人物情報です。レコードで空欄になっているフィールドは null です。
search_works
作品をタイトルで検索します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
title | 文字列、1~200文字 | はい | 検索するタイトルの語句です。 |
limit | 整数、1~50、デフォルトは 10 | いいえ | 返す行数です。 |
page | 整数、1~100、デフォルトは 1 | いいえ | 返す行のページです。 |
返される内容: works。各項目には、get_work、list_editions、find_digitised が受け取る id、title、レコードに記載された作品の年を公開表記のまま示す date、creators、established または provisional を示す status、source_url が含まれます。レスポンスには、人物検索と同じ words_searched、has_more、index_window_full が含まれます。
get_work
1件の著作のレコード全体を読み取ります。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
work_id | 1~200文字の文字列 | はい | 行に付与されている識別子です。 |
include_depictions | ブール値、既定値は false | いいえ | レコードが参照する挿絵を追加します。 |
戻り値: title、出版時の label と date、first_year、{ id, name } 形式の creators、languages、forms、レコードに記載された表記の subjects と dewey_classes、expression_count、BnF が対応付けている登録情報を示す same_as、および catalogue_url を含む著作です。status は established または provisional を示し、status_statement はその意味を図書館の言葉で説明します。暫定レコードとは、図書館による確認が完了していないレコードです。
list_works
ある人物がクレジットされている著作を一覧表示します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
author_id | 1~200文字の文字列 | はい | 人物の識別子です。 |
limit | 整数、1~50、既定値は 10 | いいえ | 取得する行数です。 |
page | 整数、1~100、既定値は 1 | いいえ | 取得する行のページです。 |
戻り値: id、title、出版時の date、レコードに年が記載されている場合は数値の year、forms、status、source_url を含む works と、続きがあるかを示す has_more です。
list_editions
1件の著作の版を一覧表示します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
work_id | 1~200文字の文字列 | はい | 著作の識別子です。 |
limit | 整数、1~50、既定値は 10 | いいえ | 取得する行数です。 |
page | 整数、1~100、既定値は 1 | いいえ | 取得する行のページです。 |
戻り値: 各版について、BnF カタログ内の固有の id、その版に記載された title、date と year、publisher、place、edition_statement、extent、isbn、目録作成者が記載したとおりの note、catalogue_url、digitised、source_url を含む editions です。レコードで空欄のフィールドは null になります。
find_digitised
人物または著作に紐付けられた、Gallica でデジタル化された複製を検索します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
id | 1~200文字の文字列 | はい | 人物または著作の識別子です。 |
kind | auto、person、work のいずれか。既定値は auto | いいえ | 識別子が示す対象です。 |
limit | 整数、1~200、既定値は 40 | いいえ | 取得するリンク数です。 |
戻り値: レコードのカタログ上の種別を示す kind と、Gallica の ark、url、rendering、および人物がその資料で担う role を含む links です。links_returned_by_role は役割ごとの件数を示します。このサーバーはデジタル化された資料について説明しますが、その資料を開くことはありません。
確定レコードと暫定レコード
レコードには status が含まれます。established は図書館による確認が完了していることを示し、provisional は確認が完了していないことを示します。status_statement には図書館独自の表現でその旨が記載されています。暫定レコードから取得した情報には、ステータスを併記してください。
ライセンスと条件
BnF は、これらのメタデータに次の条件を定めています。
L'utilisation de ces métadonnées est libre et gratuite sous réserve du maintien de la mention de leur source et de l'indication de leur date de récupération.
出典を明記し、取得日を示せば、無料で利用できます。すべての回答はペイロードに retrieved_at を含み、テキストの末尾に出典とその日付を記載します。キャッシュされた回答には、最初に読み取られた時点が示されます。それが取得された時点だからです。取得内容を表示する箇所には、どこでも両方を記載してください。
設定
すべての変数は任意です。クライアント設定の env ブロックで設定してください。
| 変数 | デフォルト | 説明 |
|---|---|---|
BNF_USER_AGENT | プロジェクトの識別情報 | BnF にアプリケーション名を伝え、担当者に連絡できるアドレスを通知します。 |
BNF_MIN_INTERVAL_MS | 3000 | 2 回のリクエスト間隔です。3000 から 120000 の範囲で指定します。 |
BNF_TIMEOUT_MS | 60000 | 1 回のリクエストの制限時間です。1000 から 300000 の範囲で指定します。 |
BNF_MAX_RETRIES | 3 | 一時的な失敗後の再試行回数です。0 から 8 の範囲で指定します。 |
BNF_CACHE_TTL_MS | 900000 | 回答をメモリに保持する時間です。0 から 86400000 の範囲で指定します。 |
BNF_CACHE_MAX_ENTRIES | 200 | 一度にメモリに保持する回答数です。1 から 5000 の範囲で指定します。 |
BNF_LOG_LEVEL | error | silent、error、info または debug。標準エラー出力に書き込まれます。 |
範囲外の値はデフォルト値に戻され、その理由が標準エラー出力に書き込まれます。
エラー
すべての失敗には、6 種類のコードのいずれか、メッセージ、および必要に応じて次の対応を示すヒントが含まれます。
| コード | 発生したこと | 対応 |
|---|---|---|
not_found | サービスから応答がありましたが、該当するレコードはありません。 | search_authors または search_works で識別子を確認してください。 |
invalid_input | リクエストを送信する前に、引数が拒否されました。 | 引数名が示されているメッセージを確認してください。 |
rate_limited | サービスから、このクライアントに速度を落とすよう求められました。 | ヒントに示された秒数だけ待ち、同じ引数で再度呼び出してください。レコードは引き続き存在します。 |
parse_failure | クライアントが読み取れない形式で応答が届きました。 | 課題トラッカーに報告してください。 |
network_error | リクエストが完了しませんでした。 | 少し待ってから再試行してください。 |
timeout | リクエストが制限時間を超えました。 | BNF_TIMEOUT_MS を増やすか、取得する行数を減らしてください。 |
ライブラリとして
サービスを読み取るレイヤーは、リクエスト間隔の制御、キャッシュ、エラー処理を備え、プロトコルに依存せず、単独で公開されています。
import { BnfClient } from "mcp-databnf/client";
const client = new BnfClient();
const { data, cached } = await client.getAuthor("cb11907966z");
console.log(data.label, cached);
getAuthor と getWork はそれぞれ { data, cached } を返し、6 種類のコードのいずれかを含むエラーをスローします。ここでも、2 回のリクエスト間には最低 3 秒の間隔が設けられます。
リクエスト間隔と出典表記
リクエストは1件ずつ送信され、間隔は最低3秒です。この下限はサーバーの設定にかかわらず適用されます。各質問には、BnF が自費で運営する公開エンドポイントへの SPARQL クエリで回答するため、間隔を長くし、タイムアウトも長めに設定しています。User-Agent の末尾には、常にプロジェクトの識別情報と連絡可能なアドレスが含まれます。
すべての回答には出典と retrieved_at が含まれます。ライセンスでは、メタデータを表示する際にこれらを明記するよう求めています。
この MCP サーバーは非公式プロジェクトであり、Bibliothèque nationale de France とは一切関係ありません。
プライバシー
このサーバーはユーザーに関する情報を一切収集せず、作成者に何も送信しません。お使いのマシン上で動作し、data.bnf.fr のみに接続します。実行中は回答をメモリ上に保持し、ディスクには何も書き込みません。
PRIVACY.md には、リクエストに含まれる情報と、それらに影響する設定が記載されています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストは生成されたフィクスチャを使用し、ネットワークリクエストは行いません。ライブテストスイートの npm run test:live は、ルートごとに1件のリクエストを送信し、毎晩サービス自体に対して実行されます。
コントリビューション
バグ、質問、アイデアはイシュートラッカーへお寄せください。プルリクエストも歓迎します。変更内容について合意しやすくなるため、まずイシューを作成することをおすすめします。CONTRIBUTING.mdをご覧ください。
ライセンス
MIT。詳細はLICENSEをご覧ください。メタデータは Bibliothèque nationale de France に帰属し、出典と取得日を明記すれば自由に利用できます。
mcp-databnf(フランス語)
data.bnf.fr は、Bibliothèque nationale de France のオープンデータサービスです。国立図書館が管理する典拠レコードを公開しています。典拠レコードには、図書館が目録化した人物とその日付、場所、言語、活動分野、人物が執筆した作品と各作品が刊行された版、さらに Gallica のデジタル化資料へのリンクが含まれます。また、図書館がそのレコードを確定済みとみなしているか、暫定的なものとしているかも示されます。
このサーバーは、会話型クライアントをこのサービスに接続します。著者や作品を名前で検索したり、レコード全体を読んだり、著者の著作一覧や作品の版の一覧を取得したり、いずれかに紐づくデジタル化資料を見つけたりできます。API キーもアカウントも不要です。
インストール
ワンクリックでインストール
Claude Code
claude mcp add databnf -- npx -y mcp-databnf
Claude Desktop、Cursor、および標準設定形式に対応するすべてのクライアント
{
"mcpServers": {
"databnf": {
"command": "npx",
"args": ["-y", "mcp-databnf"]
}
}
}
Node 24 以降が必要です。環境変数の設定は不要です。
Docker を使用
{
"mcpServers": {
"databnf": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-databnf:2.1.2"]
}
}
}
-i はプロトコルの通信経路である標準入力を開いたままにし、TTY がストリームを書き換えるため -t は省略します。コンテナには data.bnf.fr への HTTPS 外向きアクセスのみが必要です。ボリューム、ポート、認証情報は不要です。
npm を使わないバンドル
最新リリースから mcp-databnf-2.1.2.mcpb をダウンロードして開いてください。MCP バンドルに対応したクライアントなら、npm も設定ファイルの編集も必要なく、自動でインストールされます。バンドルには依存関係が含まれているため、インストール時に何もダウンロードされません。
質問できること
- 「BnF は Colette について何と述べていますか?」
- 「Marguerite Duras が書いたものをすべて一覧表示してください。」
- 「この作品のどの版を図書館が所蔵していますか?」
- 「Gallica にデジタル化されたものはありますか?」
- 「この書誌レコードは確定済みですか、それとも暫定ですか?」
通常の流れは検索から書誌レコードへ進むことです。検索結果の各行には id があり、
get_author または get_work でその内容を読み取ります。
ツール
| ツール | 内容 |
|---|---|
search_authors | 典拠レコードから人物を名前で検索します。 |
get_author | 人物のレコード全体を読み取ります。 |
search_works | 作品をタイトルで検索します。 |
get_work | 作品のレコード全体を読み取ります。 |
list_works | 人物に帰属する作品を一覧表示します。 |
list_editions | 作品の版を一覧表示します。 |
find_digitised | 人物または作品の Gallica 内のデジタル化資料を検索します。 |
search_authors
典拠レコードから人物を名前で検索します。
| 引数 | 型 | 必須 | 内容 |
|---|---|---|---|
name | 文字列、1~200 文字 | はい | 検索する名前です。 |
limit | 整数、1~50、デフォルト 10 | いいえ | 表示する行数です。 |
page | 整数、1~100、デフォルト 1 | いいえ | 表示するページです。 |
戻り値: authors。各項目には、get_author、list_works、find_digitised で使用する id、サービス上の表記どおりの name、通常は日付を含む典拠標目の label、レコードに記載がない場合は null となる birth_year と death_year、role、source_url が含まれます。
words_searched は実際に送信された内容を示し、has_more は他のページがあるかどうかを示します。index_window_full は、この検索でインデックスから提供できるすべての結果が返されたことを示します。
get_author
人物のレコード全体を読み取ります。
| 引数 | 型 | 必須 | 内容 |
|---|---|---|---|
author_id | 文字列、1~200 文字 | はい | 検索結果の行に記載されている識別子です。 |
include_depictions | ブール値、デフォルト false | いいえ | レコードが参照する肖像を追加します。 |
戻り値: 人物の name、label、given_name、family_name、other_names、公開されているとおりの birth_date と death_date、数値の birth_year と death_year、birth_place、death_place、biographical_information、occupation、ISO 639-2 コードによる languages、およびレコード内の語句による countries と fields が返されます。レコードで空欄のフィールドは null になります。
search_works
タイトルで作品を検索します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
title | 文字列、1~200文字 | はい | 検索するタイトルの語句です。 |
limit | 整数、1~50、デフォルト 10 | いいえ | 返す行数です。 |
page | 整数、1~100、デフォルト 1 | いいえ | 返す行のページです。 |
返される内容: works。各作品には、get_work、list_editions、find_digitised で使用する id、title、書誌レコードに記載された作品の刊行年である date、creators、established または provisional を値とする status、および source_url が含まれます。レスポンスのラッパーには、人物検索と同じ words_searched、has_more、index_window_full が含まれます。
get_work
作品の書誌レコード全体を取得します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
work_id | 文字列、1~200文字 | はい | レコードに記載された識別子です。 |
include_depictions | ブール値、デフォルト false | いいえ | レコードが参照する図版を追加します。 |
返される内容: 作品の title、label、刊行時の記載どおりの date、first_year、{ id, name } 形式の creators、レコードに記載された語句による languages、forms、subjects、dewey_classes、expression_count、BnF が対応づけているレジストリを示す same_as、および catalogue_url が返されます。status は established または provisional で、status_statement には図書館におけるその意味が記載されます。暫定レコードとは、図書館による確認が完了していないレコードです。
list_works
人物に帰属する作品を一覧表示します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
author_id | 文字列、1~200文字 | はい | 人物の識別子です。 |
limit | 整数、1~50、デフォルト 10 | いいえ | 返す行数です。 |
page | 整数、1~100、デフォルト 1 | いいえ | 返す行のページです。 |
返される内容: works。各作品には id、title、刊行時の記載どおりの date、レコードに年が記載されている場合は数値の year、forms、status、source_url が含まれます。続きを取得するには has_more を使用します。
list_editions
作品の版を一覧表示します。
| 引数 | 型 | 必須 | 説明 |
|---|---|---|---|
work_id | 文字列、1~200文字 | はい | 作品の識別子です。 |
limit | 整数、1~50、デフォルト 10 | いいえ | 返す行数です。 |
page | 整数、1~100、デフォルト 1 | いいえ | 返す行のページです。 |
返される内容: editions。各版には、BnF カタログ内での固有の id、その版に記載された title、date、year、publisher、place、edition_statement、extent、isbn、目録作成者が記述したとおりの note、catalogue_url、digitised、source_url が含まれます。レコードに空欄のフィールドがある場合、その値は null です。
find_digitised
Gallica で人物または作品に関連付けられたデジタル化資料を検索します。
| 引数 | 型 | 必須 | 機能 |
|---|---|---|---|
id | 文字列、1~200文字 | はい | 人物または作品の識別子です。 |
kind | auto、person、work、デフォルトは auto | いいえ | 識別子が示す対象です。 |
limit | 整数、1~200、デフォルトは 40 | いいえ | 返すリンクの数です。 |
戻り値: カタログがどの種類の記録を保持しているかを示す kind と、Gallica の ark、url、rendering、および人物がその資料で担う role をそれぞれ持つ links です。links_returned_by_role は役割ごとの件数を示します。このサーバーはデジタル化資料の情報を記述するものであり、資料そのものを開くことはありません。
確定済みと暫定の記録
記録には status があります。established は図書館による確認済み、provisional は確認が完了していないことを意味し、status_statement に図書館独自の言葉でその旨が記載されています。暫定の記録に由来する情報には、必ずそのステータスを添えてください。
ライセンスとその要件
BnF は、これらのメタデータに条件を設けています。
これらのメタデータは、出典を明記し、取得日を示すことを条件に、自由かつ無償で利用できます。
各応答のペイロードには retrieved_at が含まれ、本文の末尾には出典と取得日が記載されます。キャッシュから返された応答には、元の読み込み時刻が取得日として記録されています。取得した情報を表示する際は、必ず両方を併記してください。
設定
各変数は省略可能です。クライアント設定の env ブロックで設定します。
| 変数 | デフォルト | 機能 |
|---|---|---|
BNF_USER_AGENT | プロジェクトの識別情報 | BnF にアプリケーション名と、担当者に連絡できるアドレスを伝えます。 |
BNF_MIN_INTERVAL_MS | 3000 | リクエスト間隔です。3000~120000 の範囲で指定します。 |
BNF_TIMEOUT_MS | 60000 | リクエストのタイムアウトです。1000~300000 の範囲で指定します。 |
BNF_MAX_RETRIES | 3 | 一時的なエラー後の再試行回数です。0~8 の範囲で指定します。 |
BNF_CACHE_TTL_MS | 900000 | 応答をメモリに保持する期間です。0~86400000 の範囲で指定します。 |
BNF_CACHE_MAX_ENTRIES | 200 | 一度にメモリに保持する応答数です。1~5000 の範囲で指定します。 |
BNF_LOG_LEVEL | error | silent、error、info、debug のいずれかで、標準エラー出力に書き込みます。 |
範囲外の値はデフォルト値に戻され、その理由が標準エラー出力に書き込まれます。
エラー
各エラーには6つのコードのいずれかとメッセージが含まれ、役立つ場合は次に行う操作も示されます。
| コード | 発生したこと | 対処方法 |
|---|---|---|
not_found | サービスは応答しましたが、そのレコードはありません。 | search_authors または search_works で識別子を確認してください。 |
invalid_input | リクエストを送信する前に、引数が拒否されました。 | 引数名が記載されたメッセージをお読みください。 |
rate_limited | サービスがこのクライアントにリクエストを控えるよう求めています。 | 指定された秒数だけ待って、同じ引数で再度呼び出してください。レコードは引き続き存在します。 |
parse_failure | 応答が、この環境では読み取れない形式で届きました。 | 問題トラッカーで報告してください。 |
network_error | リクエストが完了しませんでした。 | 少し待ってから再試行してください。 |
timeout | リクエストがタイムアウトしました。 | BNF_TIMEOUT_MS を増やすか、取得する行数を減らしてください。 |
ライブラリとして
サービスを読み取るレイヤーは、プロトコルに依存せず、そのレート制限、キャッシュ、エラー処理とともに単独で公開されています。
import { BnfClient } from "mcp-databnf/client";
const client = new BnfClient();
const { data, cached } = await client.getAuthor("cb11907966z");
console.log(data.label, cached);
getAuthor と getWork は、それぞれ { data, cached } を返し、6つのコードのいずれかを持つエラーをスローします。リクエスト間の3秒の最小間隔も、ここで適用されます。
レート制限と帰属表示
リクエストは1件ずつ送信され、間隔は最低3秒です。この最小間隔は、どのような設定でも変わりません。各問い合わせは、BnF が費用を負担して運用する公開エンドポイントへの SPARQL リクエストで解決されます。そのため、間隔は長く、タイムアウトも長く設定されています。User-Agent の末尾には、常にプロジェクトの識別情報と連絡先メールアドレスが含まれます。
各応答には出典と retrieved_at が含まれます。ライセンスにより、メタデータを表示するあらゆる場所でこれらを示す必要があります。
この MCP は非公式のプロジェクトであり、フランス国立図書館とは関係ありません。
プライバシー
このサーバーはユーザーに関する情報を収集せず、作成者に情報を送信することもありません。お使いのマシン上で動作し、data.bnf.fr へのみ接続します。動作中は応答をメモリに保持しますが、ディスクには何も書き込みません。PRIVACY.md では、リクエストに含まれる情報と、それに影響する設定について説明しています。
開発
npm install
npm run build:fixtures
npm test
npm run check
テストでは生成済みのフィクスチャを使用し、リクエストは一切送信しません。ライブテストスイート npm run test:live は、各ルートにつき1件のリクエストを送信し、毎晩サービス自体に対して実行されます。
貢献
問題、質問、アイデアは問題トラッカーで受け付けています。変更の提案も歓迎します。まずチケットを作成すると、変更内容について合意しやすくなります。CONTRIBUTING.mdをご覧ください。
ライセンス
MIT ライセンスです。詳細はLICENSEをご覧ください。メタデータはフランス国立図書館に帰属し、出典と取得日を示すことを条件に自由に利用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。