# ๐ŸŒ‰ StackBridge-MCP **Sub-1ms Cross-Stack AST Contract & Verification Layer for AI Coding Agents** [![PyPI version](https://img.shields.io/pypi/v/stackbridge.svg)](https://pypi.org/project/stackbridge/) [![Python 3.10+](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue.svg)](https://pypi.org/project/stackbridge/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![CI](https://github.com/ZainUlAbideen02/StackBridge-MCP/actions/workflows/ci.yml/badge.svg)](https://github.com/ZainUlAbideen02/StackBridge-MCP/actions/workflows/ci.yml) [![Tests](https://img.shields.io/badge/tests-56%2F56%20passing%20(100%25)-brightgreen.svg)](https://github.com/ZainUlAbideen02/StackBridge-MCP) [![FastMCP Compatible](https://img.shields.io/badge/MCP-JSON--RPC%202.0-purple.svg)](https://modelcontextprotocol.io/)

Quick Start โ€ข Client Config โ€ข Benchmarks โ€ข MCP Tools โ€ข CLI Reference โ€ข Docs

--- ## ๐Ÿ’ก Why StackBridge? When AI coding agents (**Cursor, Claude Code, Windsurf, Antigravity**) edit backend models or API routes in full-stack codebases, backend unit tests frequently pass while the frontend silently breaks in production: 1. An agent modifies an API parameter or Pydantic/SQLAlchemy field in `backend/routes.py`. 2. Backend tests pass in isolation. Nothing warns the agent. 3. The React/Next.js client calling that endpoint across the boundary fails with runtime errors. **StackBridge-MCP** is an always-warm [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that parses full-stack AST relationships, discovers cross-stack blast radii in **0.75 ms**, and verifies changes using baseline-diffed compiler checks with zero false positives. ``` React / Next.js Client FastAPI Routes SQLAlchemy ORM Models (TypeScript AST) โ”€โ”€โ”€โ–บ (Python AST) โ”€โ”€โ”€โ–บ (Schema AST) UserProfile.tsx get_user_billing() BillingAccount ``` --- ## โšก Key Highlights - **๐ŸŒฒ Tree-sitter AST Graph:** Parses Next.js (`fetch`, Axios, React Query) โ†” FastAPI routes โ†” SQLAlchemy ORM models without heavy LSP sidecars or runtime imports. - **โšก Sub-1ms Traversal:** Persistent SQLite WAL database with recursive Common Table Expressions (**0.75 ms** traversal query latency). - **๐Ÿ“‰ 99.74% Prompt Token Reduction:** Replaces massive multi-file code dumps with compact, mathematically precise AST contract slices. - **๐Ÿ›ก๏ธ Root-Cause Diagnostic Ranking:** Graph-distance BFS ranks errors (`๐Ÿ”ด PRIMARY ROOT CAUSE` vs `โš ๏ธ CASCADING BREAKAGE`) and outputs immediate Git diff patches. - **๐Ÿงช Test Impact Selection:** Isolates test suites impacted by a schema change and highlights untested blast-radius paths (0% coverage). - **๐ŸŒ Interactive Canvas:** Built-in localhost tripartite visualizer (`stackbridge ui`) on `http://127.0.0.1:3456`. - **๐Ÿ”„ Continuous Intelligence:** Background file watcher daemon (`stackbridge watch`) and living [`AGENTS.md`](AGENTS.md) context generator. --- ## ๐Ÿ“Š Real-World Benchmarks Empirical performance measured on [**`fastapi-realworld-example-app`**](https://github.com/adr1enbe4udou1n/fastapi-realworld-example-app) (44 files, 23 AST dependency nodes, 10 cross-boundary edges): | Benchmark Metric | Raw Codebase Dump | StackBridge Compact Slice | Improvement / Latency | | :--- | :--- | :--- | :--- | | **Context Window Size** | `19,705 tokens` | `51 tokens` | ๐Ÿ“‰ **99.74% Token Reduction** | | **Blast Radius Traversal** | Full-repo search: `~150 ms` | SQLite Recursive CTE: `0.75 ms` | โšก **200x Faster Traversal** | | **Compiler Verification** | Global linter: `~3,500 ms` | Baseline-Diffed Engine: `312 ms` | ๐Ÿ›ก๏ธ **Zero False Positives** | | **Automated Test Suite** | โ€” | 56 / 56 tests passing | โœ… **100% Passing** | *See full benchmark methodology in [`docs/benchmarks.md`](docs/benchmarks.md) and [`REAL_WORLD_BENCHMARK.md`](REAL_WORLD_BENCHMARK.md).* --- ## ๐Ÿš€ Quick Start ### Option 1: Zero-Install Execution (Recommended via `uvx`) ```bash uvx stackbridge serve ``` ### Option 2: Pip Installation ```bash pip install stackbridge stackbridge serve ``` --- ## โš™๏ธ Client Configuration Connect StackBridge to your AI pair programmer over standard JSON-RPC 2.0 stdio: ### 1. Cursor (`.cursor/mcp.json`) ```json { "mcpServers": { "stackbridge": { "command": "uvx", "args": ["stackbridge", "serve"] } } } ``` ### 2. Claude Desktop (`claude_desktop_config.json`) ```json { "mcpServers": { "stackbridge": { "command": "python", "args": ["-m", "stackbridge.main", "serve", "--transport", "stdio"] } } } ``` --- ## ๐Ÿค– MCP Tools Reference StackBridge exposes high-ergonomics tools to coding agents: | Tool Name | Arguments | Description | | :--- | :--- | :--- | | `trace_fullstack_path` | `symbol_or_path: str` | Traces the full-stack dependency chain: Frontend component โž” API route โž” Database model. | | `get_route_contract` | `route_path: str` | Extracts HTTP methods, status codes, response models, and linked frontend fetch callers with confidence scores. | | `verify_schema_change`| `modified_files: dict` | Runs in-memory compiler checks across impacted files, ranking root causes and proposing diff patches. | | `get_stack_health` | `repo_path: str` | Returns real-time full-stack boundary stats, node counts, edge counts, and breakage drift status. | --- ## ๐Ÿ’ป CLI Reference ```bash # Index a repository and export the dependency graph stackbridge index --repo-path . --force # Trace blast radius for a model or route stackbridge trace --target BillingAccount # Run pre-commit boundary verification guard stackbridge guard --fail-on-error # Launch interactive tripartite web visualizer stackbridge ui --port 3456 # Start continuous background watcher daemon stackbridge watch # Generate living AGENTS.md boundary architecture guide stackbridge init-agents # Execute performance and token reduction benchmarks stackbridge benchmark --runs 3 --output BENCHMARK.md ``` --- ## ๐Ÿ“ Repository Structure ```text StackBridge-MCP/ โ”œโ”€โ”€ .github/ โ”‚ โ”œโ”€โ”€ workflows/ci.yml # CI pipeline (Python 3.10-3.13 on Ubuntu/Windows/macOS) โ”‚ โ”œโ”€โ”€ ISSUE_TEMPLATE/ # Bug report and feature request issue templates โ”‚ โ””โ”€โ”€ PULL_REQUEST_TEMPLATE.md # Standard PR checklist โ”œโ”€โ”€ docs/ โ”‚ โ”œโ”€โ”€ architecture.md # Subsystem breakdown and Mermaid diagrams โ”‚ โ”œโ”€โ”€ benchmarks.md # Benchmark methodology and raw metrics โ”‚ โ””โ”€โ”€ ast_extraction_spec.md # Tree-sitter extractor grammar specifications โ”œโ”€โ”€ stackbridge/ โ”‚ โ”œโ”€โ”€ core/ # Unified StackGraph, SQLite CTE store, watcher, route matcher โ”‚ โ”œโ”€โ”€ parsers/ # Tree-sitter parsers (TS fetch, Python routes, SQLAlchemy) โ”‚ โ”œโ”€โ”€ verifier/ # Baseline-diffed verifier, root-cause ranker, test impact selector โ”‚ โ”œโ”€โ”€ mcp_server/ # FastMCP stdio server and JSON-RPC tools โ”‚ โ”œโ”€โ”€ benchmarks/ # Benchmark runner and markdown report generator โ”‚ โ””โ”€โ”€ ui/ # Localhost tripartite interactive canvas โ”œโ”€โ”€ tests/ # 56 automated test suites (parsers, verifiers, MCP E2E, CTE) โ”œโ”€โ”€ AGENTS.md # Living agent architecture guide โ”œโ”€โ”€ CHANGELOG.md # Version release notes โ”œโ”€โ”€ CONTRIBUTING.md # Contribution and development guidelines โ”œโ”€โ”€ LICENSE # MIT License โ””โ”€โ”€ pyproject.toml # Package metadata and tool configurations ``` --- ## ๐Ÿ“„ License This project is licensed under the [MIT License](LICENSE).