Loading…
Local-first RAG MCP server: hybrid search over a folder of your own documents
io.github.sfrangulov/minirag-mcp is an MCP server entry in ChatHome Skills, sourced from Official MCP Registry and scored 76/100. As a Model Context Protocol server, it exposes tools that MCP-compatible LLM clients such as Claude, Cursor, and Copilot can call directly, extending an agent's reach beyond its built-in capabilities. ChatHome Skills discovered this entry through its daily ingest of official registries and GitHub discovery queries, and re-verifies repository facts, freshness signals, and install metadata on every run. The quality score weighs official-registry presence, a working install command, license clarity, GitHub star trajectory, and repository freshness — the full formula is on the Sources page. The install command above is ready to copy. Review the last-pushed date and repository status before adding io.github.sfrangulov/minirag-mcp to a production agent workflow; the snapshot facts below are point-in-time values from the most recent ingest.
uvx minirag-mcp==1.0.0Review the upstream source before running this command.
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-10-22T17:14:05.87471Z",
"publishedAt": "2026-10-22T17:14:05.87471Z",
"statusChangedAt": "2026-10-22T17:14:05.87471Z"
}
},
"server": {
"name": "io.github.sfrangulov/minirag-mcp",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.0.0",
"packages": [
{
"version": "1.0.0",
"transport": {
"type": "stdio"
},
"identifier": "minirag-mcp",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"environmentVariables": [
{
"name": "BASE_DIR",
"format": "filepath",
"description": "One document root; also the security boundary for file access. Defaults to the process working directory. Ignored when BASE_DIRS is set."
},
{
"name": "BASE_DIRS",
"format": "string",
"description": "JSON array of document roots, e.g. [\"/docs/a\", \"/docs/b\"]. Takes precedence over BASE_DIR. An invalid value is a hard configuration error.",
"placeholder": "[\"/docs/a\", \"/docs/b\"]"
},
{
"name": "DB_PATH",
"format": "filepath",
"description": "LanceDB index directory. Defaults to <first root>/.minirag/lancedb, so each corpus gets its own index."
},
{
"name": "CACHE_DIR",
"format": "filepath",
"description": "Embedding model cache. Defaults to the platform user cache dir, so the ~220 MB model is downloaded once and shared."
},
{
"name": "MODEL_NAME",
"format": "string",
"default": "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2",
"description": "fastembed model id. Changing it makes existing vectors incompatible with new queries; pair with a new DB_PATH or a full re-ingest."
},
{
"name": "MAX_FILE_SIZE",
"format": "number",
"default": "104857600",
"description": "Per-file size limit in bytes, enforced before parsing."
},
{
"name": "CHUNK_TOKEN_BUDGET",
"format": "number",
"default": "110",
"description": "Retrieval-unit size in the embedding model's own tokens. Range 16-128; the ceiling is the model's trained sequence length."
},
{
"name": "RAG_HYBRID_WEIGHT",
"format": "number",
"default": "0.6",
"description": "Keyword weight in the weighted RRF fusion, range 0.0-1.0. 0 is vector-only; higher values raise the BM25 contribution."
},
{
"name": "RAG_GROUPING",
"format": "string",
"choices": [
"similar",
"related"
],
"description": "Result grouping filter. 'similar' keeps only the closest group; 'related' also keeps the next one. Unset means no grouping filter."
},
{
"name": "RAG_MAX_DISTANCE",
"format": "number",
"description": "Drop results whose vector distance exceeds this value. Lower is stricter. Unset means no distance filter."
},
{
"name": "RAG_MAX_FILES",
"format": "number",
"description": "Keep chunks from at most this many best-scoring files. Unset means no per-file filter."
},
{
"name": "RAG_INSTRUCTIONS_APPEND",
"format": "string",
"description": "Extra paragraph appended to the instructions the server hands the client at connect time, for corpus-specific guidance."
},
{
"name": "ALLOW_PRIVATE_URLS",
"format": "boolean",
"default": "false",
"description": "Let ingest_url fetch hosts resolving to loopback, link-local, private, reserved or unspecified addresses. Off by default."
}
]
}
],
"repository": {
"id": "1327083343",
"url": "https://github.com/sfrangulov/minirag-mcp",
"source": "github"
},
"websiteUrl": "https://github.com/sfrangulov/minirag-mcp#readme",
"description": "Local-first RAG MCP server: hybrid search over a folder of your own documents"
}
}