{"id":"a455cd7b-3267-4650-a2f9-ee33311986fe","slug":"isaim0011-blastcode","kind":"mcp","name":"blastcode","summary":"Incremental code-graph MCP server and blast-radius engine for AI coding agents: file skeletons, call graphs, and impact analysis.","owner":"isaim0011","repoUrl":"https://github.com/isaim0011/blastcode","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-08T10:55:39.000Z","addedAt":"2026-10-14T10:45:10.027Z","logoUrl":"https://avatars.githubusercontent.com/u/297376048?u=252f819e252768022073e04d88198c0cf8e7281f&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","files-documents","cloud-infra"],"tags":[],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T20:11:50.778Z","sample":false,"url":"https://conduits.dev/tools/isaim0011-blastcode","language":"Rust","transports":["stdio"],"install":{"npm":"blastcode"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/isaim0011/blastcode/main/assets/banner.png\" alt=\"BlastCode Banner\" width=\"100%\"/>\n<br/><br/>\n\n# ⚡ BlastCode (`blast`)\n\n**Know what breaks before your agent edits.**\n\n[![Crates.io](https://img.shields.io/crates/v/blastcode.svg?style=flat-square&logo=rust)](https://crates.io/crates/blastcode)\n[![npm](https://img.shields.io/npm/v/blastcode.svg?style=flat-square&logo=npm)](https://www.npmjs.com/package/blastcode)\n[![PyPI](https://img.shields.io/pypi/v/blastcode.svg?style=flat-square&logo=pypi)](https://pypi.org/project/blastcode/)\n[![Open VSX](https://img.shields.io/badge/Open%20VSX-v0.3.1-purple.svg?style=flat-square&logo=visualstudiocode)](https://open-vsx.org/extension/isaim0011/blastcode-vscode)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)\n[![CI](https://github.com/isaim0011/blastcode/actions/workflows/ci.yml/badge.svg?style=flat-square)](https://github.com/isaim0011/blastcode/actions)\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-brightgreen.svg?style=flat-square)](https://modelcontextprotocol.io)\n\n*An ultra-fast incremental code-graph engine, Model Context Protocol (MCP) server, and blast-radius analyzer for AI coding agents.*\n\n[Features](#-key-features) • [Installation](#-installation) • [Agent Integration](#-agent-integration-mcp) • [CLI Commands](#-cli-reference) • [Languages](#-supported-languages) • [Roadmap](#-distribution-roadmap)\n\n</div>\n\n---\n\n## ⚡ Real-World Benchmarks & Live Demos\n\n| Operation | Brute Force (Standard Agent) | With BlastCode | Real Savings |\n| :--- | :--- | :--- | :--- |\n| **Inspect File Structure** (`src/tools.rs`) | **5,578 tokens** (Full file read) | **416 tokens** (`blast skeleton`) | 🟢 **92.5% Token Reduction** |\n| **Edit 1 Function** (`format_event`) | **5,578 tokens** (Full file read) | **560 tokens** (`blast source`) | 🟢 **90.0% Token Reduction** |\n| **Workspace Orientation** (14 files) | **~35,000 tokens** (Reading files) | **640 tokens** (`blast map`) | 🟢 **98.2% Token Reduction** |\n| **Detect Signature Breakage** | **Fail + 30,000 token debug loop** | **0 tokens wasted** (`blast impact`) | 🟢 **Eliminates regressions** |\n| **Query Latency** | 3.5s – 12.0s (Cloud LLM reading) | **< 15ms** (Local Tree-sitter SQLite) | ⚡ **Instant responses** |\n\n---\n\n### 🖥️ Live Preview 1: Surgical Skeleton (Instead of reading whole files)\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/isaim0011/blastcode/main/assets/demo_skeleton.png\" alt=\"BlastCode Skeleton Demo\" width=\"850\"/>\n</p>\n\n---\n\n### 🖥️ Live Preview 2: The Caretaker Change Digest (Zero-Token Sync)\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/isaim0011/blastcode/main/assets/demo_caretaker.png\" alt=\"BlastCode Caretaker Demo\" width=\"850\"/>\n</p>\n\n---\n\n### 🖥️ Live Preview 3: Pre-Edit Blast Radius (Know what breaks before editing)\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/isaim0011/blastcode/main/assets/demo_impact.png\" alt=\"BlastCode Impact Radius Demo\" width=\"850\"/>\n</p>\n\n## 🚀 Installation & Zero-Install Running\n\n### Via npm / npx (Universal Zero-Install)\n```bash\n# Run stdio MCP server anywhere immediately:\nnpx blastcode serve\n\n# Or install globally:\nnpm install -g blastcode\n```\n\n### Via Python / PyPI / uvx\n```bash\n# Run stdio MCP server via uv:\nuvx blastcode serve\n\n# Or install via pip:\npip install blastcode\n```\n\n### Via Cargo (Rust)\n```bash\ncargo install blastcode\n```\n\n### Via Homebrew (macOS / Linux)\n```bash\nbrew install isaim0011/tap/blastcode\n```\n\n### Via Smithery / PulseMCP Registry\n```bash\nnpx -y @smithery/cli install blastcode --client claude\n```\n\n### Via VS Code / Cursor Extension\nInstall **BlastCode** from Open VSX or the VS Code Marketplace:\n```bash\ncode --install-extension isaim0011.blastcode-vscode\n# Or in Cursor:\ncursor --install-extension isaim0011.blastcode-vscode\n```\n\n---\n\n## 🤖 Agent Integration (MCP)\n\nBlastCode works natively with any Model Context Protocol host (Claude Code, Cursor, Windsurf, Cline, Smithery).\n\n### Claude Code\n```bash\nclaude mcp add blastcode -- npx blastcode serve --root .\n```\n\n### Cursor / Windsurf / Claude Desktop (`mcp.json`)\n```json\n{\n  \"mcpServers\": {\n    \"blastcode\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"blastcode\", \"serve\", \"--root\", \"/absolute/path/to/project\"]\n    }\n  }\n}\n```\n\n### Instruct Your Agent (`AGENTS.md` / `CLAUDE.md`)\nAdd this instruction block so your AI agent uses BlastCode instead of brute-force reading files:\n\n```markdown\n> Use the `blastcode` MCP tools before reading or modifying files:\n> 1. `get_workspace_map`: Orient yourself across the project structure and exports.\n> 2. `get_file_context` or `get_file_skeleton`: Use instead of opening and reading full files.\n> 3. `get_symbol_source`: Retrieve the exact line range for a single function.\n> 4. `trace_symbol`: Find all callers, callees, and type usages before refactoring.\n> 5. `get_impact_radius`: Run with `new_source` BEFORE making an edit to verify what breaks.\n> 6. `verify_patch`: Pre-flight validate proposed edit syntax and argument counts before writing to disk.\n> 7. `get_affected_tests`: Find tests covering the changes and run the generated targeted test command.\n> 8. `get_co_changed_files`: Discover implicit paired dependencies from git commit history.\n> 9. `find_dead_code`: Detect unreferenced or orphaned symbols.\n> 10. `grep_workspace`: Fast multi-threaded regex/token search across workspace files.\n```\n\n---\n\n## 🛠️ MCP Tools Overview (14 Intelligent Capabilities)\n\n| Tool | Purpose |\n| :--- | :--- |\n| `get_workspace_map` | Directory tree annotated with exported symbols per file. Call first. |\n| `get_file_context` | Skeleton + classified imports (internal vs external) + dependents + recent edits in one call. |\n| `get_file_skeleton` | Outline of a file without function bodies, with line numbers. |\n| `get_symbol_source` | Surgical extraction of one symbol's exact lines instead of whole-file reads. |\n| `search_symbols` | Fuzzy symbol lookup across the entire workspace (multi-word, camelCase/snake_case). |\n| `trace_symbol` | Definition + callers / callees / type usages tagged with confidence (`exact`, `probable`, `heuristic`). |\n| `get_impact_radius` | Pre-edit: test proposed signature changes. Post-edit: inspect working tree vs `git HEAD`. |\n| `query_graph` | Structural filter by kind, name, path, callers, callees, and export status. |\n| `get_workspace_changes` | View the change journal recorded by the caretaker background watcher. |\n| `get_affected_tests` | 🧪 Discovers test files/symbols covering changed files & generates targeted CLI test commands (`cargo test`, `pytest`, `npm test`, `go test`). |\n| `verify_patch` | 🛡️ Pre-flight validation of proposed code edits in memory: checks AST syntax and call-site arities before saving to disk. |\n| `get_co_changed_files` | 🔗 Mines Git commit history to discover files that frequently change together (implicit dependencies). |\n| `find_dead_code` | 🧹 Code graph analysis detecting unreferenced, dead, or orphaned functions and classes across the codebase. |\n| `grep_workspace` | 🔍 High-speed multi-threaded regex and token search across workspace files. Respects .gitignore, skips binaries. |\n\n---\n\n## 💻 CLI Reference\n\nYou can also use `blast` directly from your terminal:\n\n```bash\nblast index                     # Build or refresh the index (.blastradius/index.db)\nblast map                       # Print compact workspace map with exports\nblast stats                     # View symbol, reference, and file counts\nblast context src/lib.rs        # Inspect skeleton, imports, dependents, and recent edits\nblast skeleton src/lib.rs       # View file skeleton\nblast source my_function        # Print source lines of a specific function\nblast search \"authenticate\"     # Fuzzy search symbols\nblast trace verify_token        # Trace callers, callees, and type usages\nblast impact src/auth.py        # Check blast radius of uncommitted changes\nblast tests src/tools.rs        # Find affected tests and targeted test command\nblast verify src/auth.py        # Pre-flight syntax and arity validation\nblast coupled Cargo.toml        # Find frequently co-committed files via Git\nblast dead --limit 20           # Detect dead / unreferenced symbols\nblast grep \"pattern\"            # Ultra-fast multi-threaded workspace regex search\nblast watch                     # Live terminal stream of AST-level changes\n```\n\n---\n\n## 🌐 Supported Languages (16 Languages & Web Formats)\n\n| Tier | Languages & Formats | Details |\n| :--- | :--- | :--- |\n| **Core Systems** | **Python, TypeScript, JavaScript (TSX/JSX), Rust, Go** | Included by default, zero config |\n| **Frontend & Web** | **Svelte (`.svelte`), Vue (`.vue`), Astro (`.astro`), HTML (`.html`), CSS/SCSS (`.css`, `.scss`, `.less`)** | Svelte 5 runes (`$props`, `$state`), Vue SFC (`defineProps`, `ref`), Astro frontmatter, template components & CSS class selectors |\n| **Polyglot & Enterprise** | **Java, C#, C, C++, PHP, Ruby** | Cargo features (`lang-java`, `lang-csharp`, `lang-c`, `lang-cpp`, `lang-php`, `lang-ruby`) |\n\n---\n\n## 🗺️ Universal Ecosystem Roadmap\n\n- [x] **v0.1.0**: Core Rust engine, 10 languages, MCP server, CLI (`blast`).\n- [x] **v0.2.0 & v0.2.1**: Grep engine, patch verification, affected tests, struct fields & fuzzy normalization.\n- [x] **v0.3.0**: Frontend SFC & Web Template Engine (Svelte 5 runes, Vue 3, Astro, HTML, CSS/SCSS).\n- [x] **crates.io**: Official publication under [`blastcode`](https://crates.io/crates/blastcode).\n- [x] **PyPI / uv**: `pip install blastcode` / `uvx blastcode serve`.\n- [x] **npm / npx**: `npx blastcode serve`.\n- [x] **Homebrew Tap**: `brew install isaim0011/tap/blastcode`.\n- [x] **Open VSX Registry**: [`isaim0011/blastcode-vscode`](https://open-vsx.org/extension/isaim0011/blastcode-vscode).\n- [x] **VS Code / Cursor Extension**: Embedded companion status and auto-launch.\n\n---\n\n## 📄 License\n\nLicensed under the [MIT License](LICENSE).\n"}