地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

簡単なFastAPIを利用したMCP RAG Serverを作成してみる。

Model Context Protocol (MCP)に準拠したRAG(Retrieval-Augmented Generation)機能を持つMCPサーバを機能を絞って簡単なものを作ってみます。ローカルで運用するのではなく、別サーバーで運用できるようにします。

 

ここのところお気に入りのjules君と作業をします。

 

背景:

karaageさんのmcp-rag-serverが便利だったので、自分でシンプルなベクトル検索結果を返し、uploadも気楽に行えるMCPサーバを構築してみます。

機能:

・RAG機能(実際は、ベクトル検索結果を返すだけ)

・Upload機能(PDFとマークダウンファイル)

・削除機能(ファイル名で削除)

 

embeddingには軽さと日本語で対応のバランスを考えてruri-v3-30mを利用します。

 

結果:

upload機能はREST APIで実現。curlで流し込めます。MCPでと思ったのですが、クライアント側の対応も必要のため諦めました。

 

MCPは大変便利ですが、これから機能・セキュリティを考慮したプロトコルにupgradeされていくと思います。FastAPIによるmcpは、REST APIと併用できるので、使い勝手が良いです。

 

jules君。単に適当な仕様を指示して、一発で実装させるのではなく、試行錯誤をして、サンプルプログラムまで方向性が見えたところでコーディングさせました。結局、一番楽な方法でした。

 

詳しくはこちら。

github.com