Skip to content

felixscherz/mcp-rag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcp-rag

Connecting a RAG application to open-webui by means of MCP

1. Bare bones MCP PoC / Hello World

pip install mcp[cli]
  • look up documentation on sse snippets
  • run server using uvicorn
  • doesnt work -> look up documentation in SseServerTranpsort class which differs from MCP website
  • change Route -> Mount for starlette_app, then it works
  • starlette gives 307 temporary redirect, testing it with curl shows that it is due to a missing trailing slash
  • looked up on github repo, there the routes end with trailing slash for server code, especially the sse = SseServerTransport("/messages/") part which I guess tells the client what to call
  • add some prompts and check on client side

Writeup

  • I want to try out the model context protocol because I have been experimenting with RAG prototypes for use with open-webui. MCP looks similar to LSP. Since server and client won't be on the same machine, we have to use the SSE transport.
  • MCP comes with some snippets on the official documentation, I had to adapt them a bit following the docstrings provided by the mcp python library. Took me a while to get things working, initially dealt with 307 Temporary Redirect errors since the server was sending the wrong endpoint.
  • Test it! Build a small REPL that can interact with the server

Goal

  1. understand what MCP is
  2. implement a simple server and client
  3. try out function calling / tool usage

2. Implement a basic KnowlegdeBase

  • I want to build a simple KnowledgeBase that we can stick into the MCP server and call through the client to retrieve some context.

3. MCP Client + Open-WebUI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages