概要
What is mcp-agentic-rag?
mcp-agentic-rag is an MCP server and client implementation for building agentic Retrieval-Augmented Generation (RAG) applications. It exposes tools that enhance RAG performance, such as entity extraction, query refinement, and relevance checking.
How to use mcp-agentic-rag?
Clone the repository, install dependencies (pip install -r requirements.txt), configure the OPENAI_MODEL_NAME environment variable in a .env file, then start the server with python server.py and run the client with python mcp-client.py.
Key features of mcp-agentic-rag
- Exposes tools for entity extraction, query refinement, and relevance checking.
- Uses OpenAI models for LLM-based operations.
- Built with FastMCP from the
mcplibrary. - Client demonstrates connection, tool listing, and tool invocation.
- Supports environment-based configuration via
.envfile.
Use cases of mcp-agentic-rag
- Improve document retrieval by extracting key entities from user queries.
- Enhance query quality before retrieval with LLM-based refinement.
- Filter irrelevant documents by checking relevance of text chunks to the question.
- Build a complete agentic RAG pipeline with tool orchestration.
FAQ from mcp-agentic-rag
What are the dependencies of mcp-agentic-rag?
The server requires Python 3.7+ and the packages openai, mcp, and dotenv.
How do I configure the server?
Create a .env file based on the provided .env.sample and set the OPENAI_MODEL_NAME environment variable to the desired OpenAI model.
What tools does the server provide?
The server provides four tools: get_time_with_prefix, extract_entities_tool, refine_query_tool, and check_relevance.
How do I start and interact with the server?
Start the server with python server.py. Run the client with python mcp-client.py to connect, list tools, and call them with arguments.
Does the server require an OpenAI API key?
Yes, the tools that use OpenAI (entity extraction, query refinement, relevance checking) require the OPENAI_MODEL_NAME environment variable to be set, which implies an OpenAI API key must be configured in the environment or .env file.