MODULAR-RAG
A modular RAG (Retrieval-Augmented Generation) system with MCP Server architecture. Using Skill to make AI follow each step of the spec and complete the code 100% by AI.
claude mcp add --transport stdio jerry-ai-dev-modular-rag-mcp-server node server.js \ --env MCP_PORT="8000" \ --env MCP_LOG_LEVEL="info" \ --env MCP_BIND_ADDRESS="0.0.0.0"
How to use
This MCP server implements a modular Retrieval-Augmented Generation (RAG) workflow exposed via the Model Context Protocol (MCP). It provides standardized Tool interfaces that MCP Clients such as GitHub Copilot or Claude Desktop can call directly. The core tools exposed by this server include query_knowledge_hub, list_collections, and get_document_summary. By querying the knowledge hub, you can retrieve and summarize relevant documents from your vector store or document store; listing collections helps you explore available datasets or document groups; getting a document summary returns a concise extract or metadata for a given document. The modularity means you can swap embedding models, retrievers, or rerankers without changing the external MCP interfaces. To use, connect your MCP client to the server's endpoint (as configured in MCP_PORT and MCP_BIND_ADDRESS) and invoke the tools with the standard MCP Tool invocation format supported by your client. The server will return structured responses that your agent or workflow can process, enabling seamless integration into Copilot-like agents or other AI assistants.
How to install
Prerequisites:
- Node.js (v18+ recommended) and npm installed on your machine
- Git for cloning the repository
- Clone the repository
git clone <repo-url>
cd Modular-RAG-MCP-Server
- Install dependencies
npm install
- Configure environment (optional but recommended)
- Create a .env file or export variables as shown in the mcp_config (MCP_BIND_ADDRESS, MCP_PORT, MCP_LOG_LEVEL)
- Start the MCP server
node server.js
- Verify the server is responding (optional)
- Send a test MCP Tool invocation from your client or use curl to hit the endpoint at http://0.0.0.0:8000 (or configured address/port)
Notes:
- If you’re using a Setup Skill workflow from the repository, you can run the built-in Setup Skill to configure dependencies and run dashboards as described in the project docs.
- Ensure your environment provides access to any external embedding/vector DB services that the server relies on for RAG.
Additional notes
Tips and common considerations:
- If you modify tooling (e.g., swap retrievers or add new Tools), keep the MCP interface stable to ensure client compatibility.
- For observability, enable verbose logging during setup or use the MCP_LOG_LEVEL flag for troubleshooting.
- When running behind a proxy or within a container, map the host port to MCP_PORT and ensure network access to the vector store or document backend.
- If you encounter authentication issues with Client MCPs, double-check the endpoint address and any required auth headers defined by your environment or deployment.
- The server is designed to be modular; you can introduce additional Tools by following the MCP Tool interface conventions used by the existing tools.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP