This pull request introduces a new component, the MCP Server, to the RAG system. The MCP Server facilitates interaction between MCP-compatible clients and the RAG backend, providing features like simple chat interfaces, conversation history, and citation support. The changes include updates to documentation, build configurations, and the addition of new files and dependencies for the MCP Server.
### MCP Server Introduction and Features
* **New Component Documentation**: Added a detailed description of the MCP Server in `README.md` and created a dedicated `mcp-server/README.md` to explain its features, architecture, configuration, and deployment. [[1]](diffhunk://#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R50) [[2]](diffhunk://#diff-de8068a21895dfaa62ca644f5c42338393947c7b760c8862c7ec34a2abb29bf1R1-R106)
* **Dockerfile for MCP Server**: Added `mcp-server/Dockerfile` to define the containerized environment for the MCP Server, including dependency installation and runtime setup.
### Build and Deployment Configuration
* **Tiltfile Updates**: Integrated the MCP Server into the development workflow with live updates, linting, and port-forwarding configurations in `Tiltfile`. Enabled the MCP feature in Helm values. [[1]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R180-R210) [[2]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R345-R346) [[3]](diffhunk://#diff-c2ee8653e1d6b85f0aadf87cd438a9250806c052877248442be4d434cbc52425R432-R436)
* **Makefile Update**: Added a build command for the MCP Server to the `Makefile`.
### Codebase Additions
* **Dependency Injection**: Introduced `mcp-server/src/dependency_container.py` for managing application dependencies using `dependency-injector`.
* **Main Entry Point**: Added `mcp-server/src/main.py` to initialize and run the MCP Server.
* **OpenAPI Client**: Generated OpenAPI client files under `mcp-server/src/rag_backend_client/openapi_client/` for backend communication. [[1]](diffhunk://#diff-08494b7fe5b52ed37ca18f372ed78c8e17b6a13fcea8c33ee860af361fb7b0ffR1-R44) [[2]](diffhunk://#diff-36e13e6a9f7a6f22ba251ad8f60039b94d194a20ce9c3f6f249feed038d61ea2R1-R4) [[3]](diffhunk://#diff-e9ff3d7051093df73131df1a7e1201884e1ef2d0d6673573e59acaf32f4e1d7cR1-R20) [[4]](diffhunk://#diff-c7187b1f33a4416b9df23604777a695bf0d52aba4dbc2dcbecbf834cf446fceeR1-R30)
### Supporting Files and Dependencies
* **Project Configuration**: Added `mcp-server/pyproject.toml` to define dependencies and development tools for the MCP Server.
* **OpenAPI Generator Ignore**: Added `.openapi-generator-ignore` to exclude generated files from being overwritten.
* **API Generator Script**: Added `mcp-server/api-generator.sh` to automate the generation of OpenAPI client code.
### Miscellaneous
* **Dockerignore Update**: Updated `.dockerignore` to exclude unnecessary files for the MCP Server.