🐥

校異源氏物語テキストDBに対する検索を行うMCPサーバの構築

に公開

概要

校異源氏物語テキストDBに対する検索を行うMCPサーバの構築を行ったので、備忘録です。

一例として、Claude Desktopから以下のように使用することができます。

https://youtu.be/8s2R9V2hEvc?si=p9SW-IvhdNSzwTLN

背景

以下の記事で、校異源氏物語テキストDBに対する検索を行うAPIサーバの構築について紹介しました。

https://zenn.dev/nakamura196/articles/ad89b7b7928409

この応用として、MCPサーバを構築することで、AIエージェントとのやりとりを試してみます。

単純なものですが、GitHubのリポジトリは以下です。

https://github.com/nakamura196/genji-mcp-server

開発にあたっては、先述したAPIサーバで提供するOpenAPIの仕様をClaude Codeに渡すことで、テンプレートから効率機に開発してくれました。

なおswagger.jsonには、以下でアクセスいただけます。

https://genji-api.aws.ldas.jp/swagger.json

使い方

npmパッケージを以下で公開しています。

https://www.npmjs.com/package/@nakamura196/genji-mcp-server

そこで、以下のような設定ファイルを作成して、Claude Desktopを再起動します。

claude_desktop_config.json
{
  "mcpServers": {
    "genji": {
      "command": "npx",
      "args": ["-y", "@nakamura196/genji-mcp-server"]
    }
  }
}

利用例

「夕顔が含まれる巻は?」などと入力すると、以下のように外部連携を使用するための許可が求められます。許可すると、問い合わせ結果に基づき、AIが回答を作成してくれます。

以下が、応答の例です。


『源氏物語』で夕顔が登場する巻について検索してみますね。検索結果から、夕顔が含まれる巻は以下の通りです:

「夕顔」が登場する巻:

  1. 第4巻「夕顔」 - 最も多く登場(7箇所)
  2. 第6巻「末摘花」 - 1箇所
  3. 第22巻「玉鬘」 - 3箇所

主人公である夕顔の女性は、当然ながら第4巻「夕顔」で中心的に描かれています。この巻では光源氏と夕顔の出会いから悲劇的な結末まが詳しく語られています。

その後、第6巻「末摘花」では回想として言及され、第22巻「玉鬘」では夕顔の娘である玉鬘の物語の中で、母親である夕顔への言及が複数回なされています。

つまり、夕顔という人物は第4巻で主人公として登場し、その後の巻でも重要な人物として言及され続けているということですね。

まとめ

MCPサーバの作り方および使い方の確認を主としており、実際には色々と改善の余地がありますが、参考になる部分がありましたら幸いです。より便利な使い方を試してみたいと思います。

Discussion