Skip to main content
Glama
blas0

rev-eng-cursor-regex-mcp

by blas0
README.md
# 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

## Requirements

- Node.js 20 or newer

## Quick Start From Source

```bash
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:

```bash
npm run start:stdio
```

Run over Streamable HTTP from a local clone:

```bash
npm run start:http
```

Run the built CLI directly:

```bash
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:

```bash
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

```bash
npm install
npm run typecheck
npm test
npm run build
```

## Claude Desktop Example

```json
{
  "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.

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.

Maintenance

ActivitySlowing
ResponsivenessSyncing