Transform any MCP server into executable, type-safe TypeScript tools using progressive loading pattern. Achieve 98% token savings by loading only what you need.
Tip
Inspired by Anthropic's engineering blog post on Code Execution with MCP.
Traditional MCP integration loads ALL tools from a server (~30,000 tokens), even when you only need one or two. This wastes context window space and slows down AI agents.
Progressive loading generates one TypeScript file per tool (~500-1,500 tokens each). AI agents discover and load only what they need via simple ls and cat commands.
Result: 98% token savings + autonomous execution + type safety
Download from GitHub Releases:
# macOS (Apple Silicon)
curl -L https://github.com/bug-ops/mcp-execution/releases/latest/download/mcp-execution-cli-macos-arm64.tar.gz | tar xz
# macOS (Intel)
curl -L https://github.com/bug-ops/mcp-execution/releases/latest/download/mcp-execution-cli-macos-amd64.tar.gz | tar xz
# Linux (x86_64)
curl -L https://github.com/bug-ops/mcp-execution/releases/latest/download/mcp-execution-cli-linux-amd64.tar.gz | tar xzgit clone https://github.com/bug-ops/mcp-execution
cd mcp-execution
cargo install --path crates/mcp-cliImportant
Requires Rust 1.89 or later.
# 1. Configure MCP server in ~/.config/claude/mcp.json
# 2. Generate tools
mcp-execution-cli generate --from-config github
# Output: ~/.claude/servers/github/
# - createIssue.ts
# - updateIssue.ts
# - ... (one file per tool)# List available tools
ls ~/.claude/servers/github/
# Load only what you need (98% token savings!)
cat ~/.claude/servers/github/createIssue.ts
# Execute autonomously
node ~/.claude/servers/github/createIssue.ts --repo="owner/repo" --title="Bug"Note
Each tool file is self-contained with full TypeScript interfaces and JSDoc documentation.
| Feature | Description |
|---|---|
| 98% Token Savings | Load 1 tool (~500 tokens) vs all tools (~30,000 tokens) |
| Autonomous Execution | Generated files run directly via Node.js CLI |
| Type-Safe | Full TypeScript interfaces from MCP JSON schemas |
| Lightning Fast | 526x faster than target (0.19ms for 10 tools) |
| 100% MCP Compatible | Works with all MCP servers via rmcp SDK |
| Crate | Description |
|---|---|
| mcp-core | Foundation types, traits, and error handling |
| mcp-introspector | MCP server analysis using rmcp SDK |
| mcp-codegen | TypeScript code generation with progressive loading |
| mcp-files | Virtual filesystem for code organization |
| mcp-server | MCP server for progressive loading generation |
| mcp-cli | Command-line interface |
Dependency Graph:
mcp-cli β {mcp-codegen, mcp-introspector, mcp-files, mcp-core}
mcp-server β {mcp-codegen, mcp-introspector, mcp-files, mcp-core}
mcp-codegen β {mcp-files, mcp-core}
mcp-introspector β {rmcp, mcp-core}
mcp-files β mcp-core
See mcp-cli README for full reference.
# Generate TypeScript tools
mcp-execution-cli generate --from-config github
# Introspect MCP server
mcp-execution-cli introspect --from-config github
# View cache statistics
mcp-execution-cli stats
# Shell completions
mcp-execution-cli completions bash| Metric | Target | Achieved |
|---|---|---|
| 10 tools generation | <100ms | 0.19ms (526x faster) |
| 50 tools generation | <20ms | 0.97ms (20.6x faster) |
| VFS export | <10ms | 1.2ms (8.3x faster) |
| Memory (1000 tools) | <256MB | ~2MB |
- Progressive Loading Tutorial - Complete guide
- Claude Code Integration - Skill setup
- Architecture Decisions - ADRs explaining design choices
cargo build --workspace # Build
cargo nextest run --workspace # Test
cargo clippy --workspace # Lint
cargo +nightly fmt --workspace # FormatNote
All development follows Microsoft Rust Guidelines.
Minimum Supported Rust Version: 1.89
MSRV increases are considered minor version bumps.
Licensed under either of Apache License 2.0 or MIT license at your option.