{"_id":"@deffz-finesse/coderabbit-mcp","name":"@deffz-finesse/coderabbit-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@deffz-finesse/coderabbit-mcp","version":"1.0.0","description":"MCP server that exposes CodeRabbit IDE extension review comments as tools, resources, and a triage prompt over stdio (Cursor, Claude, VS Code).","license":"MIT","repository":{"type":"git","url":"git+https://github.com/deffz-finesse/coderabbit-mcp.git"},"author":{"name":"Deffz Finesse","email":"deffz@duck.com"},"type":"module","engines":{"node":">=20.0.0"},"packageManager":"npm@11.9.0","bin":{"coderabbit-mcp":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","typecheck":"tsc --noEmit","lint:check":"biome check .","lint:fix":"biome check --write .","test":"npm run build && node --test test/unit/*.test.js test/integration/*.test.js"},"dependencies":{"@modelcontextprotocol/sdk":"1.26.0","better-sqlite3":"12.6.2","zod":"4.3.6"},"devDependencies":{"@biomejs/biome":"2.3.14","@types/better-sqlite3":"7.6.13","@types/node":"24.10.11","typescript":"5.9.3","tsx":"4.21.0"},"gitHead":"278c6069a293ade32a5019ee6376edf9fe105232","_id":"@deffz-finesse/coderabbit-mcp@1.0.0","bugs":{"url":"https://github.com/deffz-finesse/coderabbit-mcp/issues"},"homepage":"https://github.com/deffz-finesse/coderabbit-mcp#readme","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-7GpKHh8ad5nGAKYvxEjqx4FK3l/MYrcM+fEcfvWcgzOUeaL+2ORCfv/dcviLJ8SFX5GG3JGzq4KC3JLaDIuXmw==","shasum":"cd9e112e1bcaf00c2dec0cd7555b84db2fbc041f","tarball":"https://registry.npmjs.org/@deffz-finesse/coderabbit-mcp/-/coderabbit-mcp-1.0.0.tgz","fileCount":71,"unpackedSize":176028,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@deffz-finesse%2fcoderabbit-mcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGmqu7KvMVXm1ehEqlT0zWlB8q7HipEr1sfKKt+CCB3nAiA/yr5F/cGYlIHcwBZWympXBLi7v04UwpQZJw2XweOA+A=="}]},"_npmUser":{"name":"deffz-finesse","email":"deffz@duck.com"},"directories":{},"maintainers":[{"name":"deffz-finesse","email":"deffz@duck.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/coderabbit-mcp_1.0.0_1770349657817_0.6499385834258273"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-06T03:47:37.729Z","1.0.0":"2026-02-06T03:47:37.971Z","modified":"2026-02-06T03:47:38.331Z"},"maintainers":[{"name":"deffz-finesse","email":"deffz@duck.com"}],"description":"MCP server that exposes CodeRabbit IDE extension review comments as tools, resources, and a triage prompt over stdio (Cursor, Claude, VS Code).","homepage":"https://github.com/deffz-finesse/coderabbit-mcp#readme","repository":{"type":"git","url":"git+https://github.com/deffz-finesse/coderabbit-mcp.git"},"author":{"name":"Deffz Finesse","email":"deffz@duck.com"},"bugs":{"url":"https://github.com/deffz-finesse/coderabbit-mcp/issues"},"license":"MIT","readme":"# CodeRabbit MCP\n\n[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=CodeRabbit%20MCP&config=eyJDb2RlUmFiYml0IE1DUCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkZWZmei1maW5lc3NlL2NvZGVyYWJiaXQtbWNwIl19fQ==)\n\n[![npm version](https://img.shields.io/npm/v/@deffz-finesse/coderabbit-mcp?logo=npm)](https://www.npmjs.com/package/@deffz-finesse/coderabbit-mcp) [![npm license](https://img.shields.io/npm/l/@deffz-finesse/coderabbit-mcp)](https://www.npmjs.com/package/@deffz-finesse/coderabbit-mcp) [![Node](https://img.shields.io/badge/node-%3E%3D20-339933?logo=nodedotjs)](https://nodejs.org/)\n\nMCP (Model Context Protocol) server that exposes [CodeRabbit](https://coderabbit.ai) IDE extension review comments as tools and resources. Use it from Cursor or any MCP client to scan the latest batch, list unaddressed comments, read exported markdown by file/kind, and mark comments as addressed or wontfix.\n\nThe comments this server reads are written locally by the **CodeRabbit IDE extension** ([VS Code](https://marketplace.visualstudio.com/items?itemName=CodeRabbit.coderabbit-vscode) / Cursor). Install that extension and run a CodeRabbit review in your workspace; this MCP server then discovers the latest batch from the extension’s storage and exposes it as tools and resources.\n\n- **Node:** ≥20\n- **Transport:** stdio (stdin/stdout for JSON-RPC; stderr for logs)\n\n## Installation\n\nThis server is **stdio only** (no remote URL). Use the local connection config for your client.\n\n<details>\n<summary><b>Cursor</b></summary>\n\nGo to: **Settings** → **Cursor Settings** → **MCP** → **Add new global MCP server**\n\nPasting the following configuration into your Cursor `~/.cursor/mcp.json` file is the recommended approach. You may also install in a specific project by creating `.cursor/mcp.json` in your project folder. See [Cursor MCP docs](https://cursor.com/docs/context/mcp) for more info.\n\nSince Cursor 1.0, you can click an install button below for instant one-click installation.\n\n### Local Server Connection\n\n[![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=CodeRabbit%20MCP&config=eyJDb2RlUmFiYml0IE1DUCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkZWZmei1maW5lc3NlL2NvZGVyYWJiaXQtbWNwIl19fQ==)\n\n```json\n{\n  \"mcpServers\": {\n    \"CodeRabbit MCP\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@deffz-finesse/coderabbit-mcp\"]\n    }\n  }\n}\n```\n\nOptional: add `\"env\": { \"RABBIT_DISCOVERY_ROOT\": \"/path/to/workspaceStorage\", \"RABBIT_OUTPUT_BASE\": \"/path/to/output\" }` to override discovery or output paths.\n\n</details>\n\n<details>\n<summary><b>Claude Code</b></summary>\n\nRun this command. See [Claude Code MCP docs](https://code.claude.com/docs/en/mcp) for more info.\n\n### Local Server Connection\n\n```sh\nclaude mcp add CodeRabbit-MCP -- npx -y @deffz-finesse/coderabbit-mcp\n```\n\n</details>\n\n<details>\n<summary><b>Claude Desktop</b></summary>\n\nOpen Claude Desktop developer settings and edit your `claude_desktop_config.json` file. See [Claude Desktop MCP docs](https://docs.anthropic.com/en/docs/build-with-claude/mcp) for more info.\n\n### Local Server Connection\n\n- **macOS / Linux:** `~/.claude/claude_desktop_config.json`\n- **Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"CodeRabbit MCP\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@deffz-finesse/coderabbit-mcp\"]\n    }\n  }\n}\n```\n\nRestart Claude Desktop after editing.\n\n</details>\n\n<details>\n<summary><b>VS Code</b></summary>\n\nAdd this to your VS Code MCP config file, or click the **Install in VS Code** badge at the top for one-click install (opens VS Code). See [VS Code MCP docs](https://code.visualstudio.com/docs/copilot/customization/mcp-servers) for more info.\n\n### Local Server Connection\n\n[![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-007ACC?style=for-the-badges&logo=visual-studio-code)](vsweb+mcp:/install?%7B%22name%22%3A%22CodeRabbit%20MCP%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40deffz-finesse%2Fcoderabbit-mcp%22%5D%7D)\n\n```json\n\"mcp\": {\n  \"servers\": {\n    \"CodeRabbit MCP\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@deffz-finesse/coderabbit-mcp\"]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Antigravity (Google)</b></summary>\n\nAdd this to your Antigravity MCP config file. See [Antigravity MCP docs](https://antigravity.google/docs/mcp) for more info.\n\n### Local Server Connection\n\n```json\n{\n  \"mcpServers\": {\n    \"CodeRabbit MCP\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@deffz-finesse/coderabbit-mcp\"]\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary><b>Other clients (Windsurf, Cline, etc.)</b></summary>\n\nAdd the following to your client’s MCP config. Use `mcpServers` (or your client’s equivalent) with the same `command` and `args`.\n\n```json\n{\n  \"mcpServers\": {\n    \"CodeRabbit MCP\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@deffz-finesse/coderabbit-mcp\"]\n    }\n  }\n}\n```\n\n</details>\n\n## Install (from source)\n\n```bash\nnpm install -g @deffz-finesse/coderabbit-mcp\n```\n\nOr clone and build:\n\n```bash\ngit clone <repo-url>\ncd coderabbit-mcp\nnpm install\nnpm run build\n```\n\n## Run (manual)\n\nThe server uses stdio (stdin/stdout). When not using the Installation snippets above: **command** = `node` (or `npx`), **args** = path to `dist/index.js` or `[\"-y\", \"@deffz-finesse/coderabbit-mcp\"]`. It does not listen on a port.\n\n## Environment\n\n|Variable|Purpose|\n|------|--------|\n|`RABBIT_DISCOVERY_ROOT`|Root directory to search for CodeRabbit batch folders. Default: `~/.cursor-server/data/User/workspaceStorage` (Cursor workspace storage). Set this for VS Code or other editors to point at their workspace storage.|\n|`RABBIT_OUTPUT_BASE`|Base directory for the SQLite DB and exported markdown. Default: `.coderabbit` under the current working directory, then `~/.coderabbit` if cwd is not writable.|\n\nData written by the server:\n\n- **DB:** `<RABBIT_OUTPUT_BASE>/rabbit-comment.db` (or `.coderabbit/rabbit-comment.db` when using default).\n- **Exports:** `<RABBIT_OUTPUT_BASE>/exports/rabbit-<batchId>/` (markdown files per file/kind).\n\n## Available tools\n\nAll tools are under the `rabbit` namespace.\n\n|Tool|Description|\n|------|-------------|\n|`rabbit.ping`|No-op; use to check the server is reachable.|\n|`rabbit.scan`|Discover latest CodeRabbit batch, parse comments, export markdown, persist to DB. Returns JSON with `ok`, `batchId`, `exportDir`, `filesProcessed`, `commentsExtracted`, `unaddressedCount` (or `error` on failure). No parameters; idempotent.|\n|`rabbit.list_unaddressed`|List unaddressed comments for a batch. Optional `batchId` (default: latest). Returns `byFile`, `countByKind`, `resourceUris` per file.|\n|`rabbit.get_comment`|Get full comment record and status history by `comment_id` (fingerprint). Requires `comment_id`.|\n|`rabbit.mark_addressed`|Set comment status to addressed. Requires `comment_id`; optional `note`.|\n|`rabbit.mark_wontfix`|Set comment status to wontfix. Requires `comment_id`; optional `note`.|\n\n## Resources\n\n- **rabbit-markdown:** Exported markdown for a repository file and comment kind within a batch.\n  URI form: `rabbit://b/{batchId}/f/{filename}/{kind}` (filename and kind are URL-encoded).\n  List returns URIs for the latest batch; read returns the markdown content.\n\n## Prompts\n\n- **rabbit-triage:** Runs a scan, lists unaddressed comments by file, and returns a triage summary with suggested next steps.\n\nFor detailed installation steps (Cursor, VS Code, Claude, etc.), architecture, configuration, and development, see the [project docs](docs/README.md).\n\n## Develop\n\n```bash\nnpm install\nnpm run dev          # Run with tsx (stdio; connect an MCP client)\nnpm run build        # Compile TypeScript to dist/\nnpm run typecheck    # tsc --noEmit\nnpm run lint:check   # Biome check\nnpm run lint:fix     # Biome check --write\nnpm test             # Build + Node test runner\n```\n\n## Security / Trust model\n\nThis server is **local-only**: it runs as a subprocess of your MCP client (e.g. Cursor) and does not open network ports or authenticate users. All data stays on your machine.\n\n- **No authentication:** Anyone who can run the server can run all tools and read all resources. Use normal OS and editor access controls.\n- **Paths:** Discovery root (`RABBIT_DISCOVERY_ROOT`) and output base (`RABBIT_OUTPUT_BASE`) are taken from the environment. The server reads from the discovery root and writes the DB and exports under the output base. Ensure these paths point at locations you trust.\n- **Inputs:** Tool and resource inputs (e.g. `comment_id`, `batchId`) are used only as identifiers; path traversal is prevented when reading exported markdown. Tool arguments are validated with Zod; invalid args return a structured error (`Invalid arguments` with details) rather than being passed through.\n\n## License\n\nMIT © Deffz Finesse. See [LICENSE](LICENSE) for the full text.\n","readmeFilename":"README.md","_rev":"1-6b2d2bf610d9cf563219eba58226444a"}