Skip to main content
Glama
hephaistools

ragifix-mcp

Official
by hephaistools

ragifix-mcp

MCP-сервер (Model Context Protocol, транспорт Streamable HTTP), который предоставляет базу ragifix совместимому чат-клиенту (поиск, добавление, удаление, список документов).

Содержание


Related MCP server: docrag

Установка через 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: по умолчанию (server.host: 127.0.0.1) сервер должен оставаться доступным локально на машине, которая также размещает ragifix и чат-клиент.

Проверьте, что сервис работает (без токена ожидается 401 — это признак того, что сервер отвечает):

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

Установка через пакет .deb

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

Установка (postinst) создаёт виртуальное окружение Python в /opt/ragifix-mcp/venv и устанавливает в него зависимости из PyPI (лёгкие: mcp, httpx, starlette, uvicorn, pydantic — требуется доступ к сети во время apt install, после этого сервис работает офлайн).

Пакет создаёт выделенного системного пользователя, /etc/ragifix-mcp/config.yaml и ragifix-mcp.env (из примеров), а также systemd-юнит 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

Установка в среде разработки

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

Конфигурация для вставки в чат-клиент

После запуска сервера объявите удалённый MCP-сервер (HTTP-транспорт) в конфигурации клиента в текущем стандартном формате:

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

Замените <RAGIFIX_MCP_TOKEN> на значение, указанное в ragifix-mcp.env (или RAGIFIX_MCP_TOKEN в разработке), а URL — на реальный адрес сервера, если он отличается от 127.0.0.1:8422.

Некоторые более старые клиенты ещё не умеют подключаться напрямую к удалённому HTTP-серверу и принимают только локальную команду (command/args); в этом случае используйте мост, например mcp-remote:

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

Обратитесь к документации используемого чат-клиента, чтобы узнать, куда вставить эту конфигурацию (файл конфигурации MCP или интерфейс управления коннекторами/серверами MCP).

Предоставляемые инструменты

Инструмент

Описание

rag_query(query, top_k=5)

Ищет наиболее релевантные фрагменты.

rag_list_documents(prefix=None)

Перечисляет документы, проиндексированные в ragifix.

rag_get_document(doc_id)

Сведения о документе.

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

Добавляет/обновляет документ (content_encoding: "utf8" для простого текста, "base64" для двоичного содержимого — pdf/docx/pptx/xlsx/html).

rag_delete_document(doc_id)

Удаляет документ (идемпотентно).

rag_health()

Проверяет, что ragifix доступен.

Удалённый доступ

По умолчанию (server.host: 127.0.0.1) сервер доступен только с локальной машины — подходит для чат-клиента, работающего на той же машине (например, локальный Claude Desktop).

Для удалённого чат-клиента необходимы два изменения:

  1. server.host в config.yaml: измените на 0.0.0.0 (все интерфейсы) или на IP соответствующего сетевого интерфейса. Предупреждение выводится в журнал при запуске, пока host не является локальным, чтобы напомнить об этом.

  2. TLS: этот сервер не завершает TLS самостоятельно. Поместите перед ним обратный прокси-сервер (nginx, Caddy, Traefik...), который управляет сертификатом и передаёт запросы на http://127.0.0.1:<port>/mcp внутри. Минимальный пример с Caddy:

    mcp.exemple.fr {
        reverse_proxy 127.0.0.1:8422
    }

    Тогда объявленный url на стороне чат-клиента становится https://mcp.exemple.fr/mcp.

Выделенный токен (RAGIFIX_MCP_TOKEN) остаётся прикладной защитой в обоих случаях — TLS защищает транспорт, токен защищает доступ.

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