PluginBench
MCP Server
Active
MIT

io.github.sfrangulov/minirag-mcp MCP Server

io.github.sfrangulov/minirag-mcp

What is the io.github.sfrangulov/minirag-mcp MCP server?

Local-first RAG MCP server: hybrid search over a folder of your own documents

How to install io.github.sfrangulov/minirag-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • BASE_DIR

    One document root; also the security boundary for file access. Defaults to the process working directory. Ignored when BASE_DIRS is set.

  • BASE_DIRS

    JSON array of document roots, e.g. ["/docs/a", "/docs/b"]. Takes precedence over BASE_DIR. An invalid value is a hard configuration error.

  • DB_PATH

    LanceDB index directory. Defaults to <first root>/.minirag/lancedb, so each corpus gets its own index.

  • CACHE_DIR

    Embedding model cache. Defaults to the platform user cache dir, so the ~220 MB model is downloaded once and shared.

  • MODEL_NAME

    fastembed model id. Changing it makes existing vectors incompatible with new queries; pair with a new DB_PATH or a full re-ingest.

  • MAX_FILE_SIZE

    Per-file size limit in bytes, enforced before parsing.

  • CHUNK_TOKEN_BUDGET

    Retrieval-unit size in the embedding model's own tokens. Range 16-128; the ceiling is the model's trained sequence length.

  • RAG_HYBRID_WEIGHT

    Keyword weight in the weighted RRF fusion, range 0.0-1.0. 0 is vector-only; higher values raise the BM25 contribution.

  • RAG_GROUPING

    Result grouping filter. 'similar' keeps only the closest group; 'related' also keeps the next one. Unset means no grouping filter.

  • RAG_MAX_DISTANCE

    Drop results whose vector distance exceeds this value. Lower is stricter. Unset means no distance filter.

  • RAG_MAX_FILES

    Keep chunks from at most this many best-scoring files. Unset means no per-file filter.

  • RAG_INSTRUCTIONS_APPEND

    Extra paragraph appended to the instructions the server hands the client at connect time, for corpus-specific guidance.

  • ALLOW_PRIVATE_URLS

    Let ingest_url fetch hosts resolving to loopback, link-local, private, reserved or unspecified addresses. Off by default.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "minirag-mcp": {
      "command": "uvx",
      "args": [
        "minirag-mcp"
      ],
      "env": {
        "BASE_DIR": "<YOUR_BASE_DIR>",
        "BASE_DIRS": "<YOUR_BASE_DIRS>",
        "DB_PATH": "<YOUR_DB_PATH>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "MODEL_NAME": "<YOUR_MODEL_NAME>",
        "MAX_FILE_SIZE": "<YOUR_MAX_FILE_SIZE>",
        "CHUNK_TOKEN_BUDGET": "<YOUR_CHUNK_TOKEN_BUDGET>",
        "RAG_HYBRID_WEIGHT": "<YOUR_RAG_HYBRID_WEIGHT>",
        "RAG_GROUPING": "<YOUR_RAG_GROUPING>",
        "RAG_MAX_DISTANCE": "<YOUR_RAG_MAX_DISTANCE>",
        "RAG_MAX_FILES": "<YOUR_RAG_MAX_FILES>",
        "RAG_INSTRUCTIONS_APPEND": "<YOUR_RAG_INSTRUCTIONS_APPEND>",
        "ALLOW_PRIVATE_URLS": "<YOUR_ALLOW_PRIVATE_URLS>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "minirag-mcp": {
      "command": "uvx",
      "args": [
        "minirag-mcp"
      ],
      "env": {
        "BASE_DIR": "<YOUR_BASE_DIR>",
        "BASE_DIRS": "<YOUR_BASE_DIRS>",
        "DB_PATH": "<YOUR_DB_PATH>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "MODEL_NAME": "<YOUR_MODEL_NAME>",
        "MAX_FILE_SIZE": "<YOUR_MAX_FILE_SIZE>",
        "CHUNK_TOKEN_BUDGET": "<YOUR_CHUNK_TOKEN_BUDGET>",
        "RAG_HYBRID_WEIGHT": "<YOUR_RAG_HYBRID_WEIGHT>",
        "RAG_GROUPING": "<YOUR_RAG_GROUPING>",
        "RAG_MAX_DISTANCE": "<YOUR_RAG_MAX_DISTANCE>",
        "RAG_MAX_FILES": "<YOUR_RAG_MAX_FILES>",
        "RAG_INSTRUCTIONS_APPEND": "<YOUR_RAG_INSTRUCTIONS_APPEND>",
        "ALLOW_PRIVATE_URLS": "<YOUR_ALLOW_PRIVATE_URLS>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "minirag-mcp": {
      "command": "uvx",
      "args": [
        "minirag-mcp"
      ],
      "env": {
        "BASE_DIR": "<YOUR_BASE_DIR>",
        "BASE_DIRS": "<YOUR_BASE_DIRS>",
        "DB_PATH": "<YOUR_DB_PATH>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "MODEL_NAME": "<YOUR_MODEL_NAME>",
        "MAX_FILE_SIZE": "<YOUR_MAX_FILE_SIZE>",
        "CHUNK_TOKEN_BUDGET": "<YOUR_CHUNK_TOKEN_BUDGET>",
        "RAG_HYBRID_WEIGHT": "<YOUR_RAG_HYBRID_WEIGHT>",
        "RAG_GROUPING": "<YOUR_RAG_GROUPING>",
        "RAG_MAX_DISTANCE": "<YOUR_RAG_MAX_DISTANCE>",
        "RAG_MAX_FILES": "<YOUR_RAG_MAX_FILES>",
        "RAG_INSTRUCTIONS_APPEND": "<YOUR_RAG_INSTRUCTIONS_APPEND>",
        "ALLOW_PRIVATE_URLS": "<YOUR_ALLOW_PRIVATE_URLS>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "minirag-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "minirag-mcp"
      ],
      "env": {
        "BASE_DIR": "<YOUR_BASE_DIR>",
        "BASE_DIRS": "<YOUR_BASE_DIRS>",
        "DB_PATH": "<YOUR_DB_PATH>",
        "CACHE_DIR": "<YOUR_CACHE_DIR>",
        "MODEL_NAME": "<YOUR_MODEL_NAME>",
        "MAX_FILE_SIZE": "<YOUR_MAX_FILE_SIZE>",
        "CHUNK_TOKEN_BUDGET": "<YOUR_CHUNK_TOKEN_BUDGET>",
        "RAG_HYBRID_WEIGHT": "<YOUR_RAG_HYBRID_WEIGHT>",
        "RAG_GROUPING": "<YOUR_RAG_GROUPING>",
        "RAG_MAX_DISTANCE": "<YOUR_RAG_MAX_DISTANCE>",
        "RAG_MAX_FILES": "<YOUR_RAG_MAX_FILES>",
        "RAG_INSTRUCTIONS_APPEND": "<YOUR_RAG_INSTRUCTIONS_APPEND>",
        "ALLOW_PRIVATE_URLS": "<YOUR_ALLOW_PRIVATE_URLS>"
      }
    }
  }
}
Claude Code
claude mcp add minirag-mcp --env BASE_DIR=<YOUR_BASE_DIR> --env BASE_DIRS=<YOUR_BASE_DIRS> --env DB_PATH=<YOUR_DB_PATH> --env CACHE_DIR=<YOUR_CACHE_DIR> --env MODEL_NAME=<YOUR_MODEL_NAME> --env MAX_FILE_SIZE=<YOUR_MAX_FILE_SIZE> --env CHUNK_TOKEN_BUDGET=<YOUR_CHUNK_TOKEN_BUDGET> --env RAG_HYBRID_WEIGHT=<YOUR_RAG_HYBRID_WEIGHT> --env RAG_GROUPING=<YOUR_RAG_GROUPING> --env RAG_MAX_DISTANCE=<YOUR_RAG_MAX_DISTANCE> --env RAG_MAX_FILES=<YOUR_RAG_MAX_FILES> --env RAG_INSTRUCTIONS_APPEND=<YOUR_RAG_INSTRUCTIONS_APPEND> --env ALLOW_PRIVATE_URLS=<YOUR_ALLOW_PRIVATE_URLS> -- uvx minirag-mcp

Related MCP servers

Control a real Chrome browser to complete any task: fill forms, extract data, book flights.

110k
Python
MIT
View repository →

Live global intelligence: real-time markets, conflicts, country risk, chokepoints, energy. 39 tools.

83k
TypeScript
AGPL-3.0
View repository →

Netdata

Active

Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.

80k
Go
GPL-3.0
View repository →

Trending hip-hop artist momentum scores across four cultural dimensions.

79k
TypeScript
MIT
View repository →

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

68k
TypeScript
MIT
View repository →

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →
io.github.sfrangulov/minirag-mcp MCP Server | PluginBench