rag-tool-agent
RAG Tool Agent — MCP Server
Stellt die beiden Werkzeuge hinter dem Projekt rag-tool-agent-demo (retrieval-gestütztes Q&A über Notizen des FordA-Datensatzes und einen sicheren arithmetischen Taschenrechner) als einen richtigen Server für das Model Context Protocol bereit, sodass jeder MCP-kompatible Client — Claude Desktop, eine MCP-fähige Agent-Umgebung oder ein benutzerdefinierter Host — sie direkt aufrufen kann, statt nur über die eigene CLI des Projekts oder über den Flask-HTTP-Wrapper in rag-tool-api-docker.
Entwickelt, um eine konkrete, benannte Lücke zu schließen: Mehrere aktuelle Stellenausschreibungen im Bereich KI-Engineering/Agentic-Anwendungen verlangen ausdrücklich praktische Erfahrung mit MCP (und verwandten Agent-to-Agent-/Agent-to-UI-Protokollen). Dies ist eine kleine, echte, getestete Implementierung, keine Behauptung von Protokollerfahrung ohne Belege dahinter.
Warum es so aufgebaut ist
Der ursprüngliche Agent übernimmt sein Routing intern — ein handgeschriebenes if/else, das für jede eingehende Frage entscheidet: „calculator“ vs. „retrieval“ vs. „direct answer“. MCP kehrt das um: Der Client (der LLM-/Agent-Host) übernimmt das Routing, indem er Name, Beschreibung und JSON-Schema-Parameter jedes Tools liest und entscheidet, welches aufgerufen werden soll. Dieser Server implementiert also nicht die ursprüngliche Routing-Logik neu — er stellt die beiden zugrunde liegenden Fähigkeiten als eigenständige, unabhängig aufrufbare MCP-Tools bereit und überlässt das Routing jedem MCP-Client selbst. Das ist der eigentliche Punkt des Protokolls: Tools werden host-agnostisch, statt fest in die Dispatch-Logik eines einzelnen Agenten verdrahtet zu sein.
search_notes(query: str) -> str— eine Suche im Retrieval-Stil über ein kleines eingebettetes Notizkorpus zum FordA-Datensatz, zurückgegeben mit demselben Provenienz-Suffix[Grounded in N retrieved chunk(s) from ...], das auch der ursprüngliche Agent verwendet, damit ein Client eine fundierte Antwort von einer nicht fundierten unterscheiden kann. Verwendet einen einfachen Keyword-Overlap-Ranker, anstatt den FAISS-/Embeddings-Index des ursprünglichen Projekts neu abzuleiten — der Sinn dieses Projekts ist die MCP-Expositionsebene, nicht die Duplizierung dieser Arbeit.calculate(expression: str) -> str— Arithmetik-Tool, beschränkt auf+ - * / ()und numerische Literale; es wird ein sicherer Evaluator auf Basis vonastverwendet (kein bloßeseval()für beliebige Eingaben). Es wurde verifiziert, dass sowohl nicht-arithmetische Eingaben als auch Injektionsversuche wie__import__('os').system(...)abgelehnt werden.Erstellt mit dem offiziellen
mcp-Python-SDK (FastMCP), demselben SDK, das Anthropic für den Bau von MCP-Servern veröffentlicht.
Related MCP server: NotebookLM MCP Server
Ausführen
pip install -r requirements.txt
python server.pyLäuft über stdio — den standardmäßigen lokalen Transport, den MCP-Clients wie Claude Desktop verwenden, um einen Server als Subprozess zu starten und mit ihm zu kommunizieren. Um Claude Desktop darauf auszurichten, fügen Sie in der MCP-Server-Konfiguration Folgendes hinzu:
{
"mcpServers": {
"rag-tool-agent": {
"command": "python",
"args": ["/absolute/path/to/server.py"]
}
}
}Tests ausführen
pytest tests/ -v11 Tests, alle erfolgreich — rufen die Tool-Funktionen direkt auf (kein MCP-Transport für die Abdeckung der Tool-Logik selbst auf Unit-Ebene erforderlich): fundierte Retrieval-Antworten, der Grounding-Count-Vertrag, arithmetische Korrektheit (einschließlich eines Divisionsbeispiels, das dem eigenen dokumentierten Beispiel des ursprünglichen Agenten entspricht), Ablehnung von nicht-arithmetischen Eingaben und Injektionsversuchen, Behandlung der Division durch Null sowie Selbstregistrierung der Tools mit Beschreibungen.
Als echter MCP-Server verifiziert, nicht nur als Funktionen
Über die Unit-Tests hinaus wurde dies Ende-zu-Ende mit dem echten mcp-Client-SDK (ClientSession + stdio_client) verifiziert — Starten von server.py als tatsächlichem Subprozess, Abschließen des MCP-initialize-Handshakes, Aufrufen von list_tools() und Aufrufen beider Tools über das echte Protokoll:
TOOLS: ['search_notes', 'calculate']
calculate -> 1320 / (3601 + 1320) = 0.2682381629750051
search_notes -> The FordA dataset is a univariate time-series
classification dataset... [Grounded in 3 retrieved chunk(s) from
forda_dataset_notes.md]
calculate(injection) -> Error: could not evaluate "__import__('os')" ...Das bestätigt, dass der Server echtes MCP spricht (Handshake, Tool-Erkennung, Tool-Aufruf) und nicht nur, dass die zugrunde liegenden Python-Funktionen in Isolation funktionieren.
Beziehung zu den anderen beiden Projekten
rag-tool-agent-demo— der ursprüngliche CLI-Agent: LangChain, FAISS, Ollama, LCEL-Retrieval-Kette, Taschenrechner-Tool, LLM-gesteuertes Routing.rag-tool-api-docker— dieser Agent als Flask-HTTP-API gekapselt, containerisiert (Docker, Multi-Stage-Build, Nicht-Root-Benutzer, Health Check), mit echten HTTP-Anfragen gegen einen laufenden Container verifiziert.Dieses Projekt — dieselben zugrunde liegenden Fähigkeiten (Retrieval, Taschenrechner) werden über MCP statt über HTTP bereitgestellt, sodass sie von jedem MCP-Host aufgerufen werden können und nicht nur von einem REST-Client.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables basic arithmetic operations (add, subtract, multiply, divide, modulo) via natural language, with a FastMCP-based server and client for exploring MCP tool calling.MIT
- AlicenseNot gradedqualityCmaintenanceExposes Google NotebookLM as MCP tools, enabling management of notebooks, sources, chat, artifacts, and research via natural language.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables document-based Q&A with multi-modal RAG, hybrid retrieval, knowledge graph reasoning, and multi-agent orchestration via MCP tools.4MIT
- FlicenseNot gradedqualityCmaintenanceEnables local document question-answering and retrieval via MCP, supporting multi-turn conversation, intent recognition, and tools for document search, Q&A, and summarization.5
Related MCP Connectors
Free OpenAI-compatible inference with signed provenance receipts and 3 focused MCP tools.
Agentic search over your Dewey document collections from any MCP-compatible client.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SantoshpHiremath/rag-tool-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server