Skip to main content
Glama
rev-eng-cursor-regex-mcp

rev-eng-cursor-regex-mcp

by blas0

rev-eng-cursor-regex-mcp

rev-eng-cursor-regex-mcp is a portable TypeScript Model Context Protocol server for fast literal and regex search over local workspaces. It uses a sparse n-gram index for candidate pruning, then performs deterministic verification against the real file contents.

Features

  • index.ensure, index.status, and index.clear for local index lifecycle management

  • Automatic .gitignore bootstrap for the local .rev-eng-cursor-regex-mcp/ cache when that cache lives inside the workspace

  • search.literal for exact-string search

  • search.regex for ECMAScript regex search with sparse n-gram planning

  • query.explain for anchor extraction and fallback analysis

  • document.inspect_terms for trigram, masked-trigram, and sparse-term diagnostics

  • Static resources for algorithm notes, storage layout, and agent workflow guidance

  • Reusable prompts for investigation flow and regex refinement

  • stdio and Streamable HTTP entrypoints

Related MCP server: File Search MCP

Requirements

  • Node.js 20 or newer

Quick Start From Source

npm install
npm run build
npm run start:stdio

This starts the MCP server over stdio from a fresh clone with no global install required.

Run Modes

Run over stdio from a local clone:

npm run start:stdio

Run over Streamable HTTP from a local clone:

npm run start:http

Run the built CLI directly:

node dist/cli.js stdio
node dist/cli.js http --host 127.0.0.1 --port 3333

Run without cloning after the package is published:

npx rev-eng-cursor-regex-mcp stdio
npx rev-eng-cursor-regex-mcp http --host 127.0.0.1 --port 3333

Environment

  • REV_ENG_CURSOR_REGEX_MCP_WORKSPACE_ROOT: default workspace root

  • REV_ENG_CURSOR_REGEX_MCP_INDEX_DIR: parent directory where .rev-eng-cursor-regex-mcp/ is created

  • REV_ENG_CURSOR_REGEX_MCP_BOOTSTRAP_GITIGNORE: when set to false, 0, off, or no, skip automatic .gitignore bootstrapping

  • REV_ENG_CURSOR_REGEX_MCP_HTTP_HOST: default HTTP bind host

  • REV_ENG_CURSOR_REGEX_MCP_HTTP_PORT: default HTTP bind port

Verify A Fresh Clone

npm install
npm run typecheck
npm test
npm run build

Claude Desktop Example

{
  "mcpServers": {
    "rev-eng-cursor-regex-mcp": {
      "command": "node",
      "args": [
        "/absolute/path/to/rev-eng-cursor-regex-mcp/dist/cli.js",
        "stdio"
      ]
    }
  }
}

Notes

  • Git workspaces use a commit-keyed base index plus a mutable overlay for working-tree changes.

  • index.ensure adds the cache directory to .gitignore automatically when the cache root lives inside the workspace. Pass bootstrapGitignore: false or set REV_ENG_CURSOR_REGEX_MCP_BOOTSTRAP_GITIGNORE=false to opt out.

  • Non-git workspaces fall back to snapshot mode with .gitignore-style filtering.

  • Ignore-case regex searches fall back to a deterministic full scan because the sparse index is case-sensitive.

Available Tools

8 tools
document.inspect_termsInspect TermsA
Read-only

Show the trigrams or sparse n-grams that would be emitted for a file or text snippet, including offsets and rarity weights.

Inputs: mode (required), path, text, maxTerms. Returns: mode, notes, terms, termCount

index.clearClear IndexA
Destructive

Delete cached index data for a workspace. Use this only to recover from stale or corrupt local index state.

Inputs: scope (required), workspaceRoot. Returns: elapsedMs, storageDir, clearedScope, removedPaths

index.ensureEnsure IndexA
Idempotent

Build or refresh the local regex index for a workspace and return the active base revision plus overlay state.

Inputs: excludeGlobs, forceRebuild, includeGlobs, workspaceRoot, +2 more. Returns: elapsedMs, sourceMode, storageDir, baseIndexId, +8 more

index.statusIndex StatusA
Read-only

Describe the active regex index for a workspace, including corpus selection, freshness, and storage paths, without rebuilding it.

Inputs: workspaceRoot. Returns: ready, byteSize, fileCount, sourceMode, +5 more

query.explainExplain Query PlanA
Read-only

Explain how the server will decompose a query, what anchors it can extract, and whether the search will fall back to a full scan.

Inputs: pattern (required), flags. Returns: valid, plannerMode, branchAnchors, fallbackReason, +8 more

search.literalSearch LiteralA
Read-only

Find exact text in indexed workspace files. Prefer this over regex when you already know the exact string.

Inputs: needle (required), pathGlobs, afterLines, maxResults, +4 more. Returns: plan, matches, elapsedMs, queryKind, +8 more

search.planPlan Search WorkflowA
Read-only

Plan the MCP-first search workflow for an exploratory objective and recommend whether to ensure the index, use literal search, explain a regex, or run regex search.

Inputs: objective (required), pathHints, workspaceRoot, knownExactString, +1 more. Returns: reasoning, fallbackPlan, mustEnsureIndex, suggestedRegexArgs, +4 more

search.regexSearch RegexA
Read-only

Find ECMAScript regular-expression matches in indexed workspace files using sparse n-gram pruning before deterministic verification.

Inputs: pattern (required), flags, pathGlobs, afterLines, +5 more. Returns: plan, matches, elapsedMs, queryKind, +8 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: index management (ensure, status, clear), search (literal, regex, plan), query explanation (explain), and document inspection (inspect_terms). No functional overlap.

    Naming Consistency5/5

    All tools follow a consistent 'category.action' dot notation (e.g., index.ensure, search.literal), making naming predictable and easy to understand.

    Tool Count5/5

    8 tools is well within the ideal 3-15 range. The count is sufficient to cover the domain without being excessive.

    Completeness4/5

    The tool set covers index lifecycle, two search modes, planning, explanation, and n-gram inspection. A potential gap is the lack of a tool to list indexed files explicitly, but index.status provides similar info. Otherwise, it's well-rounded.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables searching text across configured local workspaces using ripgrep. Provides secure text search capabilities within defined workspace boundaries through both MCP server and CLI interfaces.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables blazingly fast file and content searching in large codebases using ripgrep, with intelligent filtering, fuzzy finding, and directory tree visualization while respecting .gitignore and avoiding common bloat directories.
      4
      24 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A local indexing and retrieval service that enables semantic code search by wrapping Cursor's backend RepositoryService. It provides tools for indexing local workspaces and performing incremental semantic searches with automatic synchronization.
      67
      MIT

    Appeared in Searches