Skip to main content
Glama
felixscherz

MCP-RAG Server

by felixscherz

mcp-rag

MCP を介して RAG アプリケーションを open-webui に接続する

1. ベアボーンMCP PoC / Hello World

pip install mcp[cli]
  • SSEスニペットに関するドキュメントを調べる

  • uvicornを使用してサーバーを実行する

  • 動作しません -> MCP ウェブサイトとは異なるSseServerTranpsortクラスのドキュメントを参照してください

  • starlette_appのルート -> マウントを変更すると動作します

  • starletteは307の一時的なリダイレクトを返すが、curlでテストすると、末尾のスラッシュがないことが原因であることがわかった。

  • githubリポジトリで調べたところ、ルートはサーバコードの末尾にスラッシュで終わっており、特にsse = SseServerTransport("/messages/")の部分はクライアントに何を呼び出すかを伝えていると思われます。

  • プロンプトをいくつか追加してクライアント側で確認する

記事

  • open-webuiで使用するRAGプロトタイプの実験を行っていたので、モデルコンテキストプロトコルを試してみたいと思っています。MCPはLSPに似ています。サーバーとクライアントが同じマシン上に存在しないため、SSEトランスポートを使用する必要があります。

  • MCPの公式ドキュメントにはいくつかのスニペットが付属していますが、mcp Pythonライブラリが提供するドキュメント文字列に従って、少し調整する必要がありました。動作させるまでに少し時間がかかり、最初はサーバーが間違ったエンドポイントを送信していたため、307 Temporary Redirectエラーが発生していました。

  • テストしてみましょう!サーバーとやり取りできる小さなREPLを構築しましょう

ゴール

  1. MCPとは何かを理解する

  2. シンプルなサーバーとクライアントを実装する

  3. 関数呼び出し/ツールの使用を試してみる

Related MCP server: MCP SSE Ory Server

2. 基本的な知識ベースを実装する

  • MCP サーバーに貼り付けて、クライアントを介して呼び出してコンテキストを取得できるシンプルな KnowledgeBase を構築したいと考えています。

3. MCPクライアント + Open-WebUI

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Server-Sent Events implementation using FastAPI framework that integrates Model Context Protocol (MCP), allowing AI models to access external tools and data sources like weather information.
    51
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Implements a Model Context Protocol server using Server-Sent Events for real-time communication with OAuth 2.1 integration via Ory Network, enabling secure AI model communication with authentication and client management.
    Apache 2.0