Turbomcpstudio
A native desktop application for developing, testing, and debugging Model Context Protocol servers.
Ask AI about Turbomcpstudio
Powered by Claude Β· Grounded in docs
I know everything about Turbomcpstudio. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
TurboMCP Studio
A native desktop application for developing, testing, and debugging Model Context Protocol servers.
Download β’ Documentation β’ Contributing
Why TurboMCP Studio?
- Native Performance β Built with Rust and Tauri 2.0 for a fast, native desktop experience
- Multi-Transport β STDIO, HTTP/SSE, WebSocket, TCP, and Unix socket support out of the box
- Protocol Inspector β Real-time message tracing with latency tracking and filtering
- OAuth 2.1 Built-in β PKCE, token refresh, and provider templates for secured MCP servers
- Sampling & Elicitation β Human-in-the-loop approval for LLM sampling requests
- Cross-Platform β macOS, Windows, and Linux from a single codebase (Unix sockets on macOS/Linux, TCP/HTTP/WebSocket everywhere)
- MCP Proxy β Transparent proxy with transport bridging (STDIO β HTTP β WebSocket β TCP)
- Benchmarking β Per-call instrumentation with latency percentiles, token estimation, and A/B comparison
- Developer-Friendly β Think Postman, but for MCP servers
Quick Start
- Download the latest release for your platform
- Install and launch TurboMCP Studio
- Connect to your MCP server
- Explore tools, resources, and prompts
- Test your MCP implementation
Features
Server Management
- Connect to MCP servers over STDIO, HTTP/SSE, WebSocket, TCP, or Unix sockets
- Profile-based configuration with server groups and persistence
- Health monitoring with automatic reconnection and status tracking
- Rate limiting (configurable per-server) to protect upstream services
Developer Tools
- Tool Explorer β Discover, inspect, and invoke MCP tools with schema validation
- Resource Browser β Navigate and inspect MCP resources with content preview
- Prompt Designer β Create and test MCP prompts with variable interpolation
- Protocol Inspector β Real-time message tracing with request/response correlation and latency
- Developer Console β Integrated logging with level filtering
MCP Proxy & Benchmarking
- Transparent Proxy β Sit between any MCP client (Claude, etc.) and server, inspect all traffic
- Transport Bridging β Bridge different transports (e.g., expose a STDIO server over HTTP)
- Per-Call Metrics β Latency (min/P50/P95/P99/max), request/response bytes, estimated tokens
- Per-Tool Breakdown β Identify which tools are expensive with detailed statistics
- Per-Method Analysis β Aggregate metrics by RPC method (tools/list, tools/call, etc.)
- Benchmark Sessions β Start/stop instrumented sessions, generate JSON reports
- Report Comparison β A/B compare benchmark runs with delta analysis (latency, throughput, success rates)
- Live Feed β Real-time stream of call records with auto-scroll and filtering
Sampling & Elicitation
- Human-in-the-loop approval flow for MCP sampling requests
- Configurable auto-approve, manual, and LLM-assisted modes
- Cost estimation and request history tracking
- Elicitation support for structured user input from MCP servers
OAuth 2.1
- Built-in OAuth flow with PKCE (S256) support
- Provider templates for common OAuth servers
- Secure credential storage via OS keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- Token refresh and session management
Workflow Engine
- Define multi-step workflows against MCP servers
- Variable interpolation across steps
- Execution history with database persistence
Additional
- Light/dark theme with system preference detection
- Server registry browser for discovering MCP servers
- Collections for organizing and replaying MCP operations
- SQLite-backed local storage for history and configuration
Installation
Pre-built Binaries
Download the latest release for your platform from GitHub Releases:
| Platform | Format |
|---|---|
| macOS (Apple Silicon) | .dmg or .app (signed + notarized) |
| macOS (Intel) | .dmg or .app (signed + notarized) |
| Windows | .msi installer |
| Linux | .AppImage or .deb |
Building from Source
Prerequisites
All Platforms
- Node.js: 20.x or later (Download)
- pnpm: 9.x or later
npm install -g pnpm - Rust: 1.80 or later (rustup.rs) β Tauri 2.0 requires 1.77.2+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
macOS
- Xcode Command Line Tools:
xcode-select --install
Windows
- Visual Studio Build Tools: Download
- Install "Desktop development with C++" workload
- WebView2: Usually pre-installed on Windows 10/11
- If missing: Download WebView2 Runtime
Linux (Debian/Ubuntu)
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
build-essential \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
Linux (Fedora/RHEL)
sudo dnf install -y \
webkit2gtk4.1-devel \
openssl-devel \
curl \
wget \
file \
libappindicator-gtk3-devel \
librsvg2-devel
Clone the Repository
git clone https://github.com/Epistates/turbomcpstudio.git
cd turbomcpstudio
Install Dependencies
# Install frontend dependencies
pnpm install
TurboMCP v3.0.10 is published to crates.io and fetched automatically during the build process. No additional setup required.
Development Build
# Start development server with hot-reload
pnpm run tauri dev
# This will:
# 1. Start Vite dev server (frontend) on http://localhost:1420
# 2. Compile Rust backend
# 3. Launch desktop app with hot-reload enabled
Production Build
Quick Build (Local Testing)
For local testing without creating installers:
# macOS: Build app bundle only (faster, no DMG)
pnpm run tauri:build
# All platforms: Build executable without installers
pnpm run tauri build -- --no-bundle
# Executable location: src-tauri/target/release/turbomcpstudio(.exe)
Platform-Specific Builds
macOS
# Build for your current architecture
pnpm run tauri build
# Build for specific architecture
pnpm run tauri build -- --target aarch64-apple-darwin # Apple Silicon
pnpm run tauri build -- --target x86_64-apple-darwin # Intel
# Output locations:
# - App Bundle: src-tauri/target/[arch]/release/bundle/macos/TurboMCP Studio.app
# - DMG Installer: src-tauri/target/[arch]/release/bundle/dmg/TurboMCP Studio_*.dmg
Note: Unsigned builds will show a Gatekeeper warning. To bypass:
# Right-click app β "Open" β "Open"
# Or remove quarantine attribute:
xattr -d com.apple.quarantine "TurboMCP Studio.app"
Windows
# Build installers (MSI and NSIS)
pnpm run tauri build
# Build MSI only
pnpm run tauri build -- --bundles msi
# Build NSIS installer only
pnpm run tauri build -- --bundles nsis
# Output locations:
# - MSI: src-tauri/target/release/bundle/msi/TurboMCP Studio_*.msi
# - NSIS: src-tauri/target/release/bundle/nsis/TurboMCP Studio_*-setup.exe
# - Executable: src-tauri/target/release/turbomcpstudio.exe
Requirements:
- MSI requires WiX Toolset v3
- NSIS requires NSIS
Installation via Package Manager:
# Using Chocolatey
choco install wixtoolset nsis
# Using Scoop
scoop install wixtoolset nsis
Linux
# Build all Linux formats (AppImage, DEB, RPM)
pnpm run tauri build
# Build specific format
pnpm run tauri build -- --bundles appimage # Universal format
pnpm run tauri build -- --bundles deb # Debian/Ubuntu
pnpm run tauri build -- --bundles rpm # Fedora/RHEL
# Output locations:
# - AppImage: src-tauri/target/release/bundle/appimage/turbomcp-studio_*.AppImage
# - DEB: src-tauri/target/release/bundle/deb/turbomcp-studio_*.deb
# - RPM: src-tauri/target/release/bundle/rpm/turbomcp-studio-*.rpm
Running AppImage:
chmod +x turbomcp-studio_*.AppImage
./turbomcp-studio_*.AppImage
Installing DEB:
sudo dpkg -i turbomcp-studio_*.deb
# If dependencies missing:
sudo apt-get install -f
Installing RPM:
sudo rpm -i turbomcp-studio-*.rpm
# Or with dnf:
sudo dnf install turbomcp-studio-*.rpm
Build Notes
- macOS: Unsigned builds will show a Gatekeeper warning (see Runtime Issues below for bypass)
- Windows: MSI creation requires WiX Toolset, NSIS installer requires NSIS
- Linux: AppImage requires FUSE, or use DEB/RPM formats instead
Type Checking
# Run type checker once
pnpm run check
# Run in watch mode (during development)
pnpm run check:watch
Testing
# Run Rust tests
cd src-tauri && cargo test --all-features
# Run with output
cargo test -- --nocapture
# Run specific test
cargo test test_name
# Run integration tests that require external binaries
TURBOMCP_DEMO_PATH=/path/to/binary cargo test --ignored
# Lint and format
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --check
Note: Some integration tests are
#[ignore]d by default because they require external MCP server binaries. Set theTURBOMCP_DEMO_PATHenvironment variable to run them locally.
Development
Project Structure
turbomcpstudio/
βββ src/ # SvelteKit frontend
β βββ routes/ # Page routes (+layout.svelte, +page.svelte)
β βββ lib/
β βββ components/ # Svelte 5 components (runes mode)
β β βββ layout/ # Shell: Sidebar, MasterLayout, StatusBar
β β βββ ui/ # Reusable: Button, JsonViewer, FormField, etc.
β β βββ sampling/ # Sampling approval UI
β βββ stores/ # Svelte stores (server, profile, sampling, OAuth, etc.)
β βββ types/ # TypeScript type definitions
β βββ utils/ # Helpers: logger, schema validation, cost estimation
β βββ constants/ # App-wide constants and timeouts
βββ src-tauri/ # Rust backend (Tauri 2.0)
β βββ src/
β β βββ commands/ # Tauri IPC command handlers
β β βββ mcp_client/ # MCP client: transport, health, sampling, rate limiting
β β βββ oauth/ # OAuth 2.1: flows, tokens, callback server, DPoP
β β βββ proxy/ # MCP proxy, benchmarking, metrics
β β βββ types/ # Shared Rust type definitions
β β βββ database.rs # SQLite via sqlx (migrations, queries)
β β βββ hitl_sampling.rs # Human-in-the-loop sampling manager
β β βββ workflow_engine.rs # Multi-step workflow execution
β β βββ error.rs # Structured error types
β β βββ lib.rs # App setup, state, plugin registration
β βββ tests/ # Integration tests
β βββ Cargo.toml
β βββ tauri.conf.json # Tauri config, CSP, capabilities
βββ .github/workflows/ci.yml # CI: fmt, clippy, test, audit, build
βββ static/ # Static assets (logos, screenshots)
βββ package.json
Key Technologies
| Layer | Stack |
|---|---|
| Frontend | SvelteKit 5 (runes mode) + TypeScript (strict) + Tailwind CSS |
| Backend | Rust + Tauri 2.0 + tokio async runtime |
| MCP Client | TurboMCP β multi-transport, protocol-compliant |
| Database | SQLite via sqlx (local-first, migrations) |
| Auth | OAuth 2.1 with PKCE, OS keyring for credential storage |
| Build | Vite + pnpm + cargo |
| CI | GitHub Actions β fmt, clippy, test, cargo audit, cross-platform build |
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (SvelteKit 5 + TypeScript + Tailwind) β
β β’ Svelte 5 runes for reactive state β
β β’ Store-per-concern (server, profile, sampling, OAuth, UI) β
β β’ Real-time protocol visualization and message history β
ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ
β Tauri IPC (structured JSON, typed commands)
ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββ
β Rust Backend (Tauri 2.0 + tokio) β
β ββββββββββββββββ ββββββββββββββββ βββββββββββββββββββββββββββ β
β β MCP Client β β OAuth 2.1 β β Workflow Engine β β
β β β’ Transport β β β’ PKCE (S256)β β β’ Step execution β β
β β β’ Health mon β β β’ Keyring β β β’ Variable interpolation β β
β β β’ Rate limit β β β’ Callback β β β’ DB persistence β β
β β β’ Interceptorβ β β’ Refresh β β β β
β ββββββββ¬ββββββββ ββββββββββββββββ βββββββββββββββββββββββββββ β
β β ββββββββββββββββ βββββββββββββββββββββββββββ β
β β β MCP Proxy β β HITL Sampling β β
β β β β’ Bridging β β β’ Approve / reject β β
β β β β’ Benchmark β β β’ Cost estimation β β
β β β β’ Metrics β β β’ History tracking β β
β β β β’ Comparison β β β β
β β ββββββββββββββββ βββββββββββββββββββββββββββ β
β β βββββββββββββββββββββββββββ β
β β β SQLite (sqlx) β β
β β β β’ Servers & profiles β β
β β β β’ Message history β β
β β β β’ Workflow executions β β
β β βββββββββββββββββββββββββββ β
βββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STDIO / HTTP / WebSocket / TCP / Unix
βββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP Servers β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Development Workflow
-
Start dev environment:
pnpm run tauri dev -
Make changes:
- Frontend: Edit files in
src/(hot-reload automatic) - Backend: Edit files in
src-tauri/src/(auto-recompile)
- Frontend: Edit files in
-
Type check:
pnpm run check -
Test:
cd src-tauri && cargo test -
Build for production:
pnpm run tauri build
IDE Setup (Recommended)
VS Code with extensions:
Settings (.vscode/settings.json):
{
"editor.formatOnSave": true,
"rust-analyzer.cargo.features": "all",
"svelte.enable-ts-plugin": true
}
Security
TurboMCP Studio is a developer tool. Like Postman, it allows connecting to arbitrary servers including local development instances over plaintext HTTP. Security controls are calibrated accordingly:
- Credentials are stored in the OS keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service) β never in the SQLite database or config files
- OAuth flows use PKCE with S256 challenge method; non-HTTPS token endpoints emit warnings but are not blocked (for local dev servers)
- CSP restricts the WebView to
wss:/https:for remote origins;ws:/http:are scoped to localhost only - Shell execution is restricted to absolute paths without shell metacharacters
- Rate limiting is enforced per-server (default: 100 req/60s) with configurable thresholds
- LLM sampling supports human-in-the-loop approval to prevent unauthorized LLM invocations from MCP servers
To report a security issue, please open a GitHub Issue with the security label.
Documentation
- CHANGELOG.md: Release history and version notes
- CONTRIBUTING.md: Contribution guidelines
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Commit Convention
We follow Conventional Commits:
feat:New featuresfix:Bug fixesdocs:Documentation changesstyle:Code style changes (formatting)refactor:Code refactoringtest:Test additions or changeschore:Maintenance tasks
Code Quality
Before submitting:
pnpm run check # TypeScript type checking
cd src-tauri && cargo fmt --check # Rust formatting
cd src-tauri && cargo clippy --all-features -- -D warnings # Rust linting
cd src-tauri && cargo test --all-features # Rust tests
cd src-tauri && cargo audit # Dependency vulnerabilities
Troubleshooting
Build Errors
Error: "could not find turbomcp crates"
- Solution: Run
cargo cleanand rebuild. TurboMCP v3.0.10 is automatically fetched from crates.io during build.
Error: "webkit2gtk not found" (Linux)
- Solution: Install required system dependencies:
# Debian/Ubuntu sudo apt-get install libwebkit2gtk-4.1-dev build-essential libssl-dev librsvg2-dev # Fedora/RHEL sudo dnf install webkit2gtk4.1-devel openssl-devel
Error: "VCRUNTIME140.dll was not found" (Windows)
- Solution: Install Visual Studio C++ Redistributable
Error: "DMG bundling failed" (macOS)
- Solution: This is a known Tauri issue on local builds. Use
pnpm run tauri:buildinstead, which builds the .app bundle without DMG
Error: "WiX Toolset not found" (Windows)
- Solution: Install WiX for MSI creation:
# Chocolatey choco install wixtoolset # Or download from https://wixtoolset.org/
Error: "Failed to bundle project" (Linux)
- Solution: Ensure all dependencies are installed (see Prerequisites) and you have sufficient disk space
Error: "Permission denied" building AppImage (Linux)
- Solution:
# Install FUSE for AppImage sudo apt-get install fuse libfuse2 # Or use DEB/RPM format instead: pnpm run tauri build -- --bundles deb
Runtime Issues
Issue: App won't start on macOS
- Solution: Right-click app β "Open" β "Open" (bypass Gatekeeper on first run)
Issue: "App is damaged and can't be opened" (macOS)
- Solution: Run
xattr -cr /Applications/MCP\ Studio.app
Issue: Database errors
- Solution: Delete
~/.config/turbomcpstudio/directory and restart
Getting Help
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Check the docs listed above
License
MIT License - see LICENSE file for details.
Built with TurboMCP
TurboMCP Studio is powered by TurboMCP, a Rust implementation of the Model Context Protocol with multi-transport support, OAuth 2.1, rate limiting, and health monitoring.
Acknowledgments
- MCP Client: Powered by TurboMCP - Enterprise-grade MCP for Rust
- Desktop Framework: Built with Tauri - Native desktop apps with Rust + Web
- Frontend: SvelteKit - Modern full-stack web framework
- Protocol: Model Context Protocol - Universal AI integration standard
Status: v0.1.1 β Actively developed. Contributions welcome.
