The Universal Operating System for Model Context Protocol
Why? β’ Features β’ How It's Different β’ Getting Started β’ Contributing
β οΈ Active Development Notice
MCP Scooter is under active development. APIs, features, and documentation may change. We're building in public and welcome early adopters and contributors!
As AI agents become more powerful, developers face a growing crisis:
| Problem | What Happens Today | MCP Scooter Solution |
|---|---|---|
| Context Bloat | Connecting 50 tools floods your LLM with 50 unused definitions, consuming your context window, degrading performance and burning tokens | Dynamic Discovery β Tools load on-demand. Your LLM only sees what it needs for the task at hand. |
| Configuration Chaos | Using Cursor for work + Claude for personal? Switching between personal and work accounts (like Postman or Slack) requires manually swapping API keys and JSON configs across 8 different files | One Hub, All Clients β Use Profiles to isolate accounts. Switch context once, and all your tools follow. |
| The Docker Tax | Docker MCP Gateway needs 2-4GB RAM and 3-5 seconds to start. That's not "local-first." | Native & Lightweight β <50MB RAM, <10ms tool startup. No containers. |
| Security Leaks | Work credentials mixed with personal tools. No isolation. No audit trail. | Profile Isolation β Work and personal identities never cross-contaminate. |
If MCP is the "USB port" for AI, MCP Scooter is the Universal Hub.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP Scooter β
β (System Tray / Menu Bar) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β Work Profile β βPersonal Prof.β β Side Project β β
β β :6277 β β :6278 β β :6279 β β
β ββββββββ¬ββββββββ ββββββββ¬ββββββββ ββββββββ¬ββββββββ β
β β β β β
β ββββββββΌββββββββ ββββββββΌββββββββ ββββββββΌββββββββ β
β β Cursor β β Claude β β VS Code β β
β β Zed β β Desktop β β Gemini CLI β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
No more hard-coding tool definitions. Scooter exposes just 4 primordial tools to any AI client, enabling "auto-choosing" of tools based on the context of your question:
scooter_findβ Search for tools by capabilityscooter_activateβ Turn on a tool server for the current sessionscooter_deactivateβ Turn off a tool server (or all withall: true)scooter_list_activeβ List currently active servers and their tools
Why only 4 tools? To minimize context window consumption. Each MCP tool schema can consume 500-2000 tokens. By exposing only 4 meta-tools (~100 tokens total), Scooter keeps your context lean while providing access to unlimited capabilities.
How it works: Your LLM taps into the Scooter discovery tool β It gets a list of available capabilities β It auto-chooses the right tool for your specific question β Scooter loads only what's needed. This avoids loading the entire toolset and keeps your context window clean.
Your agent asks for "database tools" β Scooter finds them using scooter_find β Agent activates what it needs via scooter_activate β Tool schemas are returned inline β Agent calls tools directly.
Create isolated environments for different contexts:
settings:
gateway_api_key: "sk-scooter-..." # Secures connections from your IDE
profiles:
- id: work-corp
remote_auth_mode: oauth2 # For remote MCP proxy
remote_server_url: "https://mcp.company.com"
allow_tools: ["jira-mcp", "postgres-prod"]
env:
AWS_REGION: "us-east-1"
- id: personal
allow_tools: ["spotify-mcp", "notion-mcp"]Work credentials never leak to personal sessions. Personal tools never clutter work context.
Scooter auto-configures your AI clients:
| Client | Status |
|---|---|
| Cursor | β Supported |
| Claude Desktop | β Supported |
| VS Code (MCP Extension) | β Supported |
| Claude Code | β Supported |
| Gemini CLI | β Supported |
| Zed | β Supported |
| Google Antigravity | π Coming Soon |
- Gateway API Key β Secure your local hub with a secret key required for any IDE connection
- Native Keychain Integration β macOS Keychain, Windows Credential Manager, Linux Secret Service
- OAuth 2.0/2.1 Handler β Scooter handles auth flows so your AI clients don't have to
- Human-in-the-Loop β Approve sensitive operations before they execute
- <50MB RAM idle
- <10ms tool startup
- No Docker β Pure native binary + WASM isolation
- Feels like part of your OS β WinUI 3 design on Windows, native on macOS/Linux
| Aspect | Docker MCP | MCP Scooter |
|---|---|---|
| Architecture | Linux containers on VM | Native binary + WASM |
| RAM Usage | 2-4GB | <50MB |
| Startup Time | 3-5 seconds | <10ms |
| Target User | Enterprise DevOps | Individual developers |
| Profile Support | Environment variables only | First-class UI |
| One-Click Setup | β | β 8+ clients |
Docker MCP is excellent for enterprise infrastructure and server deployments. MCP Scooter is for your laptop β the developer who wants AI tools that feel instant and native.
MetaMCP is a server-side proxy that aggregates MCP servers. It's great for teams running centralized infrastructure.
MCP Scooter is local-first. It runs in your system tray, manages your personal credentials, and gives you instant tool access without network round-trips.
You could manually edit ~/.cursor/mcp.json, ~/Library/.../claude_desktop_config.json, .vscode/mcp.json...
Or you could click one button in Scooter and have all your clients configured in seconds.
π First Beta Release is Ready!
Pre-built installers for Windows, macOS, and Linux are now available under GitHub Releases.Download the latest version and run MCP Scooter with a single click.
Want to contribute or hack on MCP Scooter? Here's how to build it yourself.
Note: Building from source is intended for development purposes. For regular use, wait for the official releases above.
# Clone the repository
git clone https://github.com/afaraha8403/MCP-Scooter.git
cd MCP-Scooter
# Install dependencies
make deps
./tasks.ps1 deps
# Build everything
make all
./tasks.ps1 all
# Run in development mode
make dev
./tasks.ps1 devBuild platform-specific installers for distribution:
# Windows - Build MSI and NSIS installers
./tasks.ps1 build-installer
# macOS/Linux - Build app bundles
make build-installerThe Windows command builds:
- MSI:
desktop/src-tauri/target/release/bundle/msi/MCP Scooter_x.x.x_x64_en-US.msi - NSIS:
desktop/src-tauri/target/release/bundle/nsis/MCP Scooter_x.x.x_x64-setup.exe
# Validate all MCP definitions
make validate
# Strict mode (warnings = errors)
make validate-strictMCP Scooter uses GitHub Actions for automated releases. Before your first release, you need to set up signing keys for the auto-updater.
The auto-updater requires cryptographic signatures to verify updates. Run these commands once:
# 1. Generate signing keypair (you'll be prompted for a password)
./tasks.ps1 generate-keys
# 2. Display the public key
./tasks.ps1 show-pubkeyThen:
- Copy the public key and paste it into
desktop/src-tauri/tauri.conf.jsonunderplugins.updater.pubkey - Add GitHub Secrets (Settings β Secrets and variables β Actions):
TAURI_SIGNING_PRIVATE_KEY: Content of~/.tauri/mcp-scooter.keyTAURI_SIGNING_PRIVATE_KEY_PASSWORD: The password you set during key generation
β οΈ Never commit the private key to the repository!
Once signing is configured, use these commands to release:
# Release a stable version (e.g., 1.0.0, 2.1.0)
./tasks.ps1 release 1.0.0 # Windows
make release # macOS/Linux (interactive prompt)
# Release a beta version (e.g., 1.0.0-beta.1, 1.0.0-alpha.2, 1.0.0-rc.1)
./tasks.ps1 release-beta 1.0.0-beta.1 # Windows
make release-beta # macOS/Linux (interactive prompt)
# Just update version without releasing
./tasks.ps1 set-version 1.0.0This will:
- Update version in
tauri.conf.json,package.json, andCargo.toml - Commit the version bump
- Create and push a git tag
- Trigger the GitHub Actions build workflow
- Build signed installers for Windows, macOS, and Linux
- Create a draft release on GitHub
See docs/releasing.md for detailed release documentation.
MCP Scooter/
βββ appdata/
β βββ clients/ # AI client configurations
β βββ registry/ # MCP server definitions (organized by source)
β β βββ official/ # Official MCP definitions (JSON)
β βββ schemas/ # JSON Schema for validation
βββ cmd/
β βββ scooter/ # Main application
β βββ validate-registry/ # Registry validation CLI
βββ desktop/ # Tauri + React frontend
β βββ src/ # React components
β βββ src-tauri/ # Rust/Tauri backend
βββ internal/
β βββ api/ # HTTP/SSE server
β βββ domain/ # Core business logic
β βββ discovery/ # Tool discovery engine
β βββ integration/# Client integrations
β βββ profile/ # Profile management
β βββ registry/ # Registry validation
βββ web/ # Public website
We're building the foundation. Here's what's done and what's next:
|| Component | Status | Description |
||-----------|--------|-------------|
|| Registry Schema | β
Done | JSON Schema for MCP server definitions |
|| Registry Validation | β
Done | CLI tool to validate registry entries |
|| Profile Management | β
Done | Create, update, delete profiles with persistence |
|| Discovery Engine | β
Done | scooter_find, scooter_activate, scooter_deactivate, scooter_list_active (4 primordial tools) |
|| Code Interpreter | β
Done | V8 sandbox via goja (available, not exposed as primordial tool) |
|| MCP Gateway | β
Done | SSE server handling JSON-RPC for all profiles |
|| Client Integrations | β
Done | Cursor, Claude Desktop, Claude Code, VS Code, Gemini CLI, Zed, Codex |
|| Tauri Desktop Shell | β
Done | Native window with React frontend |
|| Keychain Integration | β
Done | Secure credential storage (Windows/macOS/Linux) |
|| Desktop UI | β
Done | Profile management UI, tool browser, settings |
|| Component | Status | Description | ||-----------|--------|-------------| || OAuth 2.0 Handler | π§ Building | Automatic auth flows for Google, GitHub, Slack | || Tool Playground | π§ Building | Manual tool testing interface | || WASM Runtime | π§ Building | Run WASM-compiled MCP servers |
- System tray integration (minimize to tray)
- Port conflict detection
- Human-in-the-loop approval UI
- Log inspector (Network tab for AI)
| Feature | Description |
|---|---|
| Scooter Store | Community registry of WASM tools |
| Skills Library | Pre-configured tool bundles ("Full Stack Dev", "Data Analyst") |
| Remote MCP Support | Connect to enterprise MCP gateways with OAuth 2.1 |
| Antigravity Integration | Google's AI client support |
| Feature | Description |
|---|---|
| Team Sync | Share profiles via encrypted cloud config |
| Audit Logs | Compliance-ready logging |
| SSO Integration | Enterprise identity providers |
We're building MCP Scooter in public and we'd love your help!
- π Report bugs β Found something broken? Open an issue.
- π‘ Suggest features β Have an idea? Let's discuss it.
- π Improve docs β Documentation can always be better.
- π§ Submit PRs β Code contributions are welcome!
- π¨ Add MCP definitions β Help grow the registry.
- Create a JSON file in
appdata/registry/official/{name}.json - Follow the schema in
appdata/schemas/mcp-registry.schema.json - Run
make validateto verify
All MCPs in the registry are considered Official MCPs and must be validated before merging.
- Submit a PR!
See .doc/mcp-registry-specification.md for the full specification.
The project uses a tiered testing strategy. You can use make (macOS/Linux) or tasks.ps1 (Windows PowerShell).
# Run all tests
make test
./tasks.ps1 test
# Run all unit tests (verbose)
make test-unit
./tasks.ps1 test-unit
# Test specific domains
make test-registry
./tasks.ps1 test-registry
# Generate HTML coverage report
make test-coverage
./tasks.ps1 test-coverage
# Validate registry definitions
make validate
./tasks.ps1 validate# Test the Meta-MCP primordial tools and lifecycle
make test-meta-mcp
./tasks.ps1 test-meta-mcp# Quick check before committing
make pre-commit
./tasks.ps1 pre-commit
# Full CI check
make ci
./tasks.ps1 ci- GitHub Issues β For bugs and feature requests
- GitHub Discussions β For questions and ideas
PolyForm Shield 1.0.0 β See LICENSE for details.
TL;DR: You can use MCP Scooter freely, build products with it, and modify it for your needs. You cannot offer it (or a fork) as a competing product or hosted service without permission.
MCP Scooter β Native. Lightweight. Dynamic.
Crafted with β€οΈ by Balacode.io