protogrid

Search / io.github.shinpr/mcp-local-rag

mcp-local-rag

L0· runs locally

Easy-to-setup local RAG server with minimal configuration

v0.22.1 · active · repository · descriptor JSON · versions

Runs on your machine: something must execute the package.Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.
Quality–not scored
Trust91of 100
Packages1
Tools seen0

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "mcp-local-rag": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
claude mcp add mcp-local-rag -- npx -y [email protected]
[mcp_servers.mcp-local-rag]
command = "npx"
args = ["-y", "[email protected]"]
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp-local-rag": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "[email protected]"
      ],
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "mcp-local-rag": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mcp-local-rag&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1jcC1sb2NhbC1yYWdAMC4yMi4xIl19"
}
{
  "servers": {
    "mcp-local-rag": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
{
  "mcpServers": {
    "mcp-local-rag": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
extensions:
  "mcp-local-rag":
    enabled: true
    name: "mcp-local-rag"
    type: stdio
    cmd: "npx"
    args:
      - "-y"
      - "[email protected]"
    timeout: 300

This is a local package: the command runs on your machine.

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

Tool list unknown · checked 2026-10-20 12:45 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 91 / 100

provenance80
livenessn/a
freshness100
hygiene100

+repository +namespace-matches-repo ~liveness-unmeasured +updated-6d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

packageregistryversionruntimesecrets
mcp-local-ragnpm0.22.1–

Tools (0)

No tools observed. Local packages are never executed by the registry.

Schemas: list_tools.

Similar MCP servers

More from io.github.shinpr

Official server.json
{
  "name": "io.github.shinpr/mcp-local-rag",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "version": "0.22.1",
  "packages": [
    {
      "version": "0.22.1",
      "transport": {
        "type": "stdio"
      },
      "identifier": "mcp-local-rag",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "BASE_DIR",
          "format": "string",
          "description": "Base directory for document storage (defaults to current working directory). Ignored when BASE_DIRS is set."
        },
        {
          "name": "BASE_DIRS",
          "format": "string",
          "description": "JSON array of base directories (e.g. '[\"/a\",\"/b\"]'). Takes precedence over BASE_DIR."
        },
        {
          "name": "DB_PATH",
          "format": "string",
          "description": "Path to LanceDB database directory (defaults to ./lancedb/)"
        },
        {
          "name": "CACHE_DIR",
          "format": "string",
          "description": "Directory where Transformers.js models are cached (defaults to ./models/)"
        },
        {
          "name": "HF_ENDPOINT",
          "format": "string",
          "description": "Hugging Face model download endpoint. Set this to a mirror URL when direct downloads are blocked (defaults to https://huggingface.co)."
        },
        {
          "name": "MODEL_NAME",
          "format": "string",
          "description": "Embedding model name (defaults to Xenova/all-MiniLM-L6-v2)"
        },
        {
          "name": "MAX_FILE_SIZE",
          "format": "string",
          "description": "Maximum file size in bytes (defaults to 104857600 / 100MB)"
        },
        {
          "name": "RAG_MAX_DISTANCE",
          "format": "string",
          "description": "Maximum distance threshold for filtering search results. Results with distance greater than this value will be excluded. Lower values mean stricter filtering (e.g., 0.5 for high relevance only)"
        },
        {
          "name": "RAG_GROUPING",
          "format": "string",
          "description": "Grouping mode for quality filtering. 'similar' returns only the most similar group (stops at first distance jump). 'related' includes related groups (stops at second distance jump). Unset means no grouping filter"
        },
        {
          "name": "RAG_MAX_FILES",
          "format": "string",
          "description": "Maximum number of files to keep in search results. Results are filtered to include only chunks from the top N best-scoring files. For example, 1 returns only the single best-matching file's chunks. Unset means no file filtering."
        },
        {
          "name": "CHUNK_MIN_LENGTH",
          "format": "string",
          "description": "Minimum chunk length in characters (1-10000, defaults to 50). Chunks shorter than this threshold are filtered out during ingestion."
        },
        {
          "name": "STORE_IMAGES",
          "format": "string",
          "description": "Store supported PDF and DOCX images during ingestion and return them with matched chunks (defaults to false)."
        },
        {
          "name": "EMBED_TITLE_PREFIX",
          "format": "string",
          "description": "Embed each chunk together with its document title, which can help when passages don't restate the topic the title names (defaults to false). After changing it, use a new DB_PATH or delete the index and re-ingest."
        },
        {
          "name": "EMBED_HEADING_PREFIX",
          "format": "string",
          "description": "Add section headings to chunk embeddings when they fit (defaults to false). Independent of EMBED_TITLE_PREFIX. Re-ingest documents after changing it."
        },
        {
          "name": "RAG_DEVICE",
          "format": "string",
          "description": "Execution device for the embedder (defaults to cpu). Passed straight to ONNX Runtime; see the Transformers.js device source for the supported backend names. If the requested device fails to initialize, the server throws an error."
        },
        {
          "name": "RAG_DTYPE",
          "format": "string",
          "description": "Embedding quantization dtype for the embedder (defaults to fp32). Opt-in and pass-through; accepts any dtype the chosen model provides (fp32, fp16, q8, int8, ...). If the model has no variant for the requested dtype, the server throws an error. Changing this changes the embedding space — re-ingest existing data."
        },
        {
          "name": "RAG_HYBRID_WEIGHT",
          "format": "string",
          "description": "Keyword boost factor for hybrid search (0.0-1.0, defaults to 0.6). 0 means semantic similarity only; higher values increase the keyword-match contribution to the final score."
        },
        {
          "name": "RAG_RERANK_CMD",
          "format": "string",
          "description": "External reranker command template. Use {query} and {top} for query text and result count; unset disables reranking."
        },
        {
          "name": "RAG_RERANK_TIMEOUT_MS",
          "format": "string",
          "description": "Time budget per rerank call in milliseconds (100-600000, defaults to 10000). On timeout the spawned command is killed and the pre-rerank ordering is returned."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/shinpr/mcp-local-rag",
    "source": "github"
  },
  "description": "Easy-to-setup local RAG server with minimal configuration"
}