Connecting a RAG application to open-webui by means of MCP
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
- 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
- understand what MCP is
- implement a simple server and client
- try out function calling / tool usage
- I want to build a simple KnowledgeBase that we can stick into the MCP server and call through the client to retrieve some context.