line-developers-mcp-server を開発したときの気付き

LINE Developers を検索してくれるMCPサーバを少し前に開発したときに気付いたことを残しておきます。

github.com

開発途中の作業ログは Zenn に置いています。 zenn.dev

ドキュメント検索系のMCPサーバは検索の品質が本質になる

結局はMCPサーバは単なるプロトコルです。なのでプロトコルの中で高品質な機能を提供する必要があります。

今回開発したドキュメント検索系のMCPサーバは、LLMとのやり取り部分のプロトコルが決まっているRAGといえます。なのでより便利なツールにするには検索部分の品質を高める必要があります。

line-developers-mcp-serverではサイトに実装されている検索機能をPlaywrightを使うことで検索を実現しています。
この検索機能は改善の余地があります。例えば LINE Login 概要 ではなく LINEログインの概要 で検索しないと LINEログインの概要 | LINE Developers がヒットしない点です。ドキュメントがヒットしないのでLLMが何度か検索ワードを変えて検索している場面が何度かありました。

単語の表記揺れに設定を入れたり、ベクトル検索を導入するなどの改善点が考えられます。

ドキュメント検索に特化したMCPサーバのOSSが出てきそう

VitePressMarkdownファイルから人間の向けのドキュメントサイトを構築するOSSです。
これと同じ構図で、Markdownファイルから検索エンジン付きのMCPサーバを構築するOSSが出てきそうな気がしていました。

自分の観測範囲では実際にそれ用のVite Pluginが公開されていました。

qiita.com

あとは https://gitmcp.ioリポジトリ上にMarkdownファイルがあるなら同じような使い方ができると思います。

Webに公開されているドキュメントならGooglesite:検索を使うほうがお手軽かもしれない

https://developers.line.biz/ja/ はWebに公開されているドキュメントです。

なので site: https://developers.line.biz/ja/ ${検索ワード}Googleで検索すれば精度高く関連ドキュメントを見つけることができます。この方法だと LINEログインLINE Login の表記揺れなどにも強いです。

一番の理想はGoogle自身が site: 検索をするMCPサーバを提供してくれることです。しかしこれは検索結果画面の広告で収益を得ていることを考えると実現する可能性は低いと考えています。Playwrightで検索する方法も考えられますが、Googleの利益に相反することなのでいつまで利用可能かわかりません。