Skip to main content
Glama
hephaistools

ragifix-mcp

Official
by hephaistools

ragifix-mcp

MCP-Server (Model Context Protocol, Transport Streamable HTTP), der eine ragifix-Datenbank einem kompatiblen Chat-Client zugänglich macht (Suche, Hinzufügen, Löschen, Auflisten von Dokumenten).

Inhaltsverzeichnis


Related MCP server: docrag

Installation per Docker

git clone <url-du-dépôt> ragifix-mcp && cd ragifix-mcp

cp config.example.yaml config.yaml              # puis l'adapter
cp deploy/ragifix-mcp.env.example ragifix-mcp.env # puis renseigner les secrets

docker build -f deploy/docker/Dockerfile -t ragifix-mcp .

docker run -d \
  --name ragifix-mcp \
  --network host \
  --env-file ragifix-mcp.env \
  -v "$(pwd)/config.yaml:/etc/ragifix/config.yaml:ro" \
  ragifix-mcp

--network host: Standardmäßig (server.host: 127.0.0.1) muss der Server lokal auf der Maschine erreichbar bleiben, die auch ragifix und den Chat-Client hostet.

Prüfen, ob der Dienst läuft (401 ohne Token wird erwartet – das ist das Zeichen, dass der Server antwortet):

curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8422/mcp \
  -X POST -H "Content-Type: application/json" -d '{}'

Installation über das .deb-Paket

git clone <url-du-dépôt> ragifix-mcp && cd ragifix-mcp

sudo apt-get install -y devscripts debhelper python3-venv python3-pip
dpkg-buildpackage -us -uc -b

sudo apt install -y ../ragifix-mcp_0.1.0-1_all.deb

Die Installation (postinst) erstellt eine virtuelle Python-Umgebung in /opt/ragifix-mcp/venv und installiert dort die Abhängigkeiten von PyPI (leichtgewichtig: mcp, httpx, starlette, uvicorn, pydantic – Netzwerkzugriff zum Zeitpunkt von apt install erforderlich, Dienst danach offline).

Das Paket erstellt einen dedizierten Systembenutzer, /etc/ragifix-mcp/config.yaml und ragifix-mcp.env (aus den Beispielen) sowie eine systemd-Unit ragifix-mcp.service.

sudo nano /etc/ragifix-mcp/config.yaml
sudo nano /etc/ragifix-mcp/ragifix-mcp.env
sudo systemctl enable --now ragifix-mcp
journalctl -u ragifix-mcp -f
sudo apt remove ragifix-mcp    # conserve la config
sudo apt purge ragifix-mcp     # supprime tout

Installation in der Entwicklungsumgebung

git clone <url-du-dépôt> ragifix-mcp && cd ragifix-mcp

python3 -m venv venv
source venv/bin/activate
pip install -e .

cp config.example.yaml config.yaml   # reste à côté du code, hors /etc

export RAGIFIX_MCP_TOKEN=dev-mcp-token
export RAGIFIX_API_TOKEN=dev-token    # le token de l'API ragifix visée

ragifix-mcp --config ./config.yaml

Konfiguration zum Einfügen in den Chat-Client

Sobald der Server gestartet ist, einen entfernten MCP-Server (HTTP-Transport) in der Konfiguration des Clients im aktuellen Standardformat deklarieren:

{
  "mcpServers": {
    "ragifix": {
      "url": "http://127.0.0.1:8422/mcp",
      "headers": {
        "Authorization": "Bearer <RAGIFIX_MCP_TOKEN>"
      }
    }
  }
}

Ersetzen Sie <RAGIFIX_MCP_TOKEN> durch den in ragifix-mcp.env konfigurierten Wert (oder RAGIFIX_MCP_TOKEN in der Entwicklung) und die URL durch die tatsächliche Serveradresse, falls diese von 127.0.0.1:8422 abweicht.

Manche älteren Clients können sich noch nicht direkt mit einem entfernten HTTP-Server verbinden und akzeptieren nur einen lokalen Befehl (command/args); in diesem Fall eine Brücke wie mcp-remote verwenden:

{
  "mcpServers": {
    "ragifix": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "http://127.0.0.1:8422/mcp",
        "--header", "Authorization: Bearer <RAGIFIX_MCP_TOKEN>"
      ]
    }
  }
}

In der Dokumentation des verwendeten Chat-Clients nachsehen, wo diese Konfiguration eingefügt wird (MCP-Konfigurationsdatei oder Verwaltungsoberfläche für MCP-Connectors/Server).

Bereitgestellte Tools

Tool

Beschreibung

rag_query(query, top_k=5)

Durchsucht die relevantesten Textabschnitte.

rag_list_documents(prefix=None)

Listet die in ragifix indexierten Dokumente auf.

rag_get_document(doc_id)

Details eines Dokuments.

rag_add_document(doc_id, content, extension, content_encoding="utf8", metadata=None)

Fügt ein Dokument hinzu/aktualisiert es (content_encoding: "utf8" für reinen Text, "base64" für binäre Inhalte – pdf/docx/pptx/xlsx/html).

rag_delete_document(doc_id)

Löscht ein Dokument (idempotent).

rag_health()

Prüft, ob ragifix erreichbar ist.

Fernzugriff

Standardmäßig (server.host: 127.0.0.1) ist der Server nur von der lokalen Maschine aus erreichbar – geeignet für einen Chat-Client, der auf derselben Maschine läuft (z. B. Claude Desktop lokal).

Für einen entfernten Chat-Client sind zwei Änderungen erforderlich:

  1. server.host in config.yaml: auf 0.0.0.0 (alle Schnittstellen) oder auf die IP der betreffenden Netzwerkschnittstelle setzen. Solange host nicht lokal ist, wird beim Start eine Warnung protokolliert, um an diesen Punkt zu erinnern.

  2. TLS: Dieser Server beendet TLS nicht selbst. Einen Reverse-Proxy (nginx, Caddy, Traefik...) davor setzen, der das Zertifikat verwaltet und intern an http://127.0.0.1:<port>/mcp weiterleitet. Minimalbeispiel mit Caddy:

    mcp.exemple.fr {
        reverse_proxy 127.0.0.1:8422
    }

    Die auf der Chat-Client-Seite deklarierte url wird dann zu https://mcp.exemple.fr/mcp.

Das dedizierte Token (RAGIFIX_MCP_TOKEN) bleibt in beiden Fällen der Anwendungsschutz – TLS schützt den Transport, das Token schützt den Zugriff.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides semantic search over markdown documentation using RAG, allowing natural language queries and integration with MCP clients.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides RAG (Retrieval Augmented Generation) access to technical documentation through MCP, enabling LLMs to search and retrieve relevant documentation on-demand.
    4
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Exposes an existing RAG API as MCP tools, enabling health checks and document-based question answering with source evidence.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to query and manage a document knowledge base via MCP, with RAG-powered search and grounded answers with citations.
    MIT