{"id":51555060,"url":"https://github.com/Epistates/TurboMCPStudio","last_synced_at":"2026-07-29T04:00:25.419Z","repository":{"id":319050361,"uuid":"1074333088","full_name":"Epistates/turbomcpstudio","owner":"Epistates","description":"A native desktop application for developing, testing, and debugging Model Context Protocol servers.","archived":false,"fork":false,"pushed_at":"2026-03-16T23:55:12.000Z","size":5487,"stargazers_count":25,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-17T02:57:52.732Z","etag":null,"topics":["developer-tools","mcp","mcp-client","mcp-server","rust"],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Epistates.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-11T15:32:47.000Z","updated_at":"2026-03-17T02:29:25.000Z","dependencies_parsed_at":"2025-10-17T22:45:04.331Z","dependency_job_id":null,"html_url":"https://github.com/Epistates/turbomcpstudio","commit_stats":null,"previous_names":["epistates/turbomcpstudio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Epistates/turbomcpstudio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Epistates%2Fturbomcpstudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Epistates%2Fturbomcpstudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Epistates%2Fturbomcpstudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Epistates%2Fturbomcpstudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Epistates","download_url":"https://codeload.github.com/Epistates/turbomcpstudio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Epistates%2Fturbomcpstudio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36016154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-29T02:00:04.910Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","mcp","mcp-client","mcp-server","rust"],"created_at":"2026-07-10T04:00:29.938Z","updated_at":"2026-07-29T04:00:25.393Z","avatar_url":"https://github.com/Epistates.png","language":"Svelte","funding_links":[],"categories":["Testing Tools"],"sub_categories":["Common Lisp"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"static/turbomcp-studio-cropped-logo.png\" alt=\"TurboMCP Studio\" width=\"200\"/\u003e\n\n# TurboMCP Studio\n\nA native desktop application for developing, testing, and debugging Model Context Protocol servers.\n\n[![Release](https://img.shields.io/github/v/release/Epistates/turbomcpstudio)](https://github.com/Epistates/turbomcpstudio/releases)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n\n[Download](https://github.com/Epistates/turbomcpstudio/releases/latest) • [Documentation](#documentation) • [Contributing](CONTRIBUTING.md)\n\n\u003c/div\u003e\n\n---\n\n\u003cimg src=\"static/screenshot.png\" alt=\"TurboMCP Studio\" style=\"width: 100%; max-width: 100%; margin: 20px 0;\"/\u003e\n\n## Why TurboMCP Studio?\n\n- **Native Performance** — Built with Rust and Tauri 2.0 for a fast, native desktop experience\n- **Multi-Transport** — STDIO, HTTP/SSE, WebSocket, TCP, and Unix socket support out of the box\n- **Protocol Inspector** — Real-time message tracing with latency tracking and filtering\n- **OAuth 2.1 Built-in** — PKCE, token refresh, and provider templates for secured MCP servers\n- **Sampling \u0026 Elicitation** — Human-in-the-loop approval for LLM sampling requests\n- **Cross-Platform** — macOS, Windows, and Linux from a single codebase (Unix sockets on macOS/Linux, TCP/HTTP/WebSocket everywhere)\n- **MCP Proxy** — Transparent proxy with transport bridging (STDIO ↔ HTTP ↔ WebSocket ↔ TCP)\n- **Benchmarking** — Per-call instrumentation with latency percentiles, token estimation, and A/B comparison\n- **Developer-Friendly** — Think Postman, but for MCP servers\n\n## Quick Start\n\n1. **Download** the latest release for your platform\n2. **Install** and launch TurboMCP Studio\n3. **Connect** to your MCP server\n4. **Explore** tools, resources, and prompts\n5. **Test** your MCP implementation\n\n## Features\n\n### Server Management\n- Connect to MCP servers over STDIO, HTTP/SSE, WebSocket, TCP, or Unix sockets\n- Profile-based configuration with server groups and persistence\n- Health monitoring with automatic reconnection and status tracking\n- Rate limiting (configurable per-server) to protect upstream services\n\n\u003cimg src=\"static/screenshot-profile.png\" alt=\"TurboMCP Studio Profiles\" style=\"width: 100%; max-width: 100%; margin: 20px 0;\"/\u003e\n\n### Developer Tools\n- **Tool Explorer** — Discover, inspect, and invoke MCP tools with schema validation\n- **Resource Browser** — Navigate and inspect MCP resources with content preview\n- **Prompt Designer** — Create and test MCP prompts with variable interpolation\n- **Protocol Inspector** — Real-time message tracing with request/response correlation and latency\n- **Developer Console** — Integrated logging with level filtering\n\n### MCP Proxy \u0026 Benchmarking\n- **Transparent Proxy** — Sit between any MCP client (Claude, etc.) and server, inspect all traffic\n- **Transport Bridging** — Bridge different transports (e.g., expose a STDIO server over HTTP)\n- **Per-Call Metrics** — Latency (min/P50/P95/P99/max), request/response bytes, estimated tokens\n- **Per-Tool Breakdown** — Identify which tools are expensive with detailed statistics\n- **Per-Method Analysis** — Aggregate metrics by RPC method (tools/list, tools/call, etc.)\n- **Benchmark Sessions** — Start/stop instrumented sessions, generate JSON reports\n- **Report Comparison** — A/B compare benchmark runs with delta analysis (latency, throughput, success rates)\n- **Live Feed** — Real-time stream of call records with auto-scroll and filtering\n\n### Sampling \u0026 Elicitation\n- Human-in-the-loop approval flow for MCP sampling requests\n- Configurable auto-approve, manual, and LLM-assisted modes\n- Cost estimation and request history tracking\n- Elicitation support for structured user input from MCP servers\n\n### OAuth 2.1\n- Built-in OAuth flow with PKCE (S256) support\n- Provider templates for common OAuth servers\n- Secure credential storage via OS keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service)\n- Token refresh and session management\n\n### Workflow Engine\n- Define multi-step workflows against MCP servers\n- Variable interpolation across steps\n- Execution history with database persistence\n\n### Additional\n- Light/dark theme with system preference detection\n- Server registry browser for discovering MCP servers\n- Collections for organizing and replaying MCP operations\n- SQLite-backed local storage for history and configuration\n\n## Installation\n\n### Pre-built Binaries\n\nDownload the latest release for your platform from [GitHub Releases](https://github.com/Epistates/turbomcpstudio/releases/latest):\n\n| Platform | Format |\n|----------|--------|\n| macOS (Apple Silicon) | `.dmg` or `.app` (signed + notarized) |\n| macOS (Intel) | `.dmg` or `.app` (signed + notarized) |\n| Windows | `.msi` installer |\n| Linux | `.AppImage` or `.deb` |\n\n## Building from Source\n\n### Prerequisites\n\n#### All Platforms\n- **Node.js**: 20.x or later ([Download](https://nodejs.org/))\n- **pnpm**: 9.x or later\n  ```bash\n  npm install -g pnpm\n  ```\n- **Rust**: 1.80 or later ([rustup.rs](https://rustup.rs/)) — Tauri 2.0 requires 1.77.2+\n  ```bash\n  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n  ```\n\n#### macOS\n- **Xcode Command Line Tools**:\n  ```bash\n  xcode-select --install\n  ```\n\n#### Windows\n- **Visual Studio Build Tools**: [Download](https://visualstudio.microsoft.com/downloads/)\n  - Install \"Desktop development with C++\" workload\n- **WebView2**: Usually pre-installed on Windows 10/11\n  - If missing: [Download WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)\n\n#### Linux (Debian/Ubuntu)\n```bash\nsudo apt-get update\nsudo apt-get install -y \\\n  libwebkit2gtk-4.1-dev \\\n  build-essential \\\n  curl \\\n  wget \\\n  file \\\n  libxdo-dev \\\n  libssl-dev \\\n  libayatana-appindicator3-dev \\\n  librsvg2-dev\n```\n\n#### Linux (Fedora/RHEL)\n```bash\nsudo dnf install -y \\\n  webkit2gtk4.1-devel \\\n  openssl-devel \\\n  curl \\\n  wget \\\n  file \\\n  libappindicator-gtk3-devel \\\n  librsvg2-devel\n```\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/Epistates/turbomcpstudio.git\ncd turbomcpstudio\n```\n\n### Install Dependencies\n\n```bash\n# Install frontend dependencies\npnpm install\n```\n\nTurboMCP v3.1.5 is published to [crates.io](https://crates.io/crates/turbomcp-client) and fetched automatically during the build process. No additional setup required.\n\n### Development Build\n\n```bash\n# Start development server with hot-reload\npnpm run tauri dev\n\n# This will:\n# 1. Start Vite dev server (frontend) on http://localhost:1420\n# 2. Compile Rust backend\n# 3. Launch desktop app with hot-reload enabled\n```\n\n### Production Build\n\n#### Quick Build (Local Testing)\n\nFor local testing without creating installers:\n\n```bash\n# macOS: Build app bundle only (faster, no DMG)\npnpm run tauri:build\n\n# All platforms: Build executable without installers\npnpm run tauri build -- --no-bundle\n\n# Executable location: src-tauri/target/release/turbomcpstudio(.exe)\n```\n\n#### Platform-Specific Builds\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003emacOS\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Build for your current architecture\npnpm run tauri build\n\n# Build for specific architecture\npnpm run tauri build -- --target aarch64-apple-darwin  # Apple Silicon\npnpm run tauri build -- --target x86_64-apple-darwin   # Intel\n\n# Output locations:\n# - App Bundle: src-tauri/target/[arch]/release/bundle/macos/TurboMCP Studio.app\n# - DMG Installer: src-tauri/target/[arch]/release/bundle/dmg/TurboMCP Studio_*.dmg\n```\n\n**Note**: Unsigned builds will show a Gatekeeper warning. To bypass:\n```bash\n# Right-click app → \"Open\" → \"Open\"\n# Or remove quarantine attribute:\nxattr -d com.apple.quarantine \"TurboMCP Studio.app\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWindows\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Build installers (MSI and NSIS)\npnpm run tauri build\n\n# Build MSI only\npnpm run tauri build -- --bundles msi\n\n# Build NSIS installer only\npnpm run tauri build -- --bundles nsis\n\n# Output locations:\n# - MSI: src-tauri/target/release/bundle/msi/TurboMCP Studio_*.msi\n# - NSIS: src-tauri/target/release/bundle/nsis/TurboMCP Studio_*-setup.exe\n# - Executable: src-tauri/target/release/turbomcpstudio.exe\n```\n\n**Requirements**:\n- MSI requires [WiX Toolset v3](https://wixtoolset.org/docs/wix3/)\n- NSIS requires [NSIS](https://nsis.sourceforge.io/Download)\n\n**Installation via Package Manager**:\n```powershell\n# Using Chocolatey\nchoco install wixtoolset nsis\n\n# Using Scoop\nscoop install wixtoolset nsis\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLinux\u003c/b\u003e\u003c/summary\u003e\n\n```bash\n# Build all Linux formats (AppImage, DEB, RPM)\npnpm run tauri build\n\n# Build specific format\npnpm run tauri build -- --bundles appimage  # Universal format\npnpm run tauri build -- --bundles deb       # Debian/Ubuntu\npnpm run tauri build -- --bundles rpm       # Fedora/RHEL\n\n# Output locations:\n# - AppImage: src-tauri/target/release/bundle/appimage/turbomcp-studio_*.AppImage\n# - DEB: src-tauri/target/release/bundle/deb/turbomcp-studio_*.deb\n# - RPM: src-tauri/target/release/bundle/rpm/turbomcp-studio-*.rpm\n```\n\n**Running AppImage**:\n```bash\nchmod +x turbomcp-studio_*.AppImage\n./turbomcp-studio_*.AppImage\n```\n\n**Installing DEB**:\n```bash\nsudo dpkg -i turbomcp-studio_*.deb\n# If dependencies missing:\nsudo apt-get install -f\n```\n\n**Installing RPM**:\n```bash\nsudo rpm -i turbomcp-studio-*.rpm\n# Or with dnf:\nsudo dnf install turbomcp-studio-*.rpm\n```\n\n\u003c/details\u003e\n\n#### Build Notes\n\n- **macOS**: Unsigned builds will show a Gatekeeper warning (see Runtime Issues below for bypass)\n- **Windows**: MSI creation requires WiX Toolset, NSIS installer requires NSIS\n- **Linux**: AppImage requires FUSE, or use DEB/RPM formats instead\n\n### Type Checking\n\n```bash\n# Run type checker once\npnpm run check\n\n# Run in watch mode (during development)\npnpm run check:watch\n```\n\n### Testing\n\n```bash\n# Run Rust tests\ncd src-tauri \u0026\u0026 cargo test --all-features\n\n# Run with output\ncargo test -- --nocapture\n\n# Run specific test\ncargo test test_name\n\n# Run integration tests that require external binaries\nTURBOMCP_DEMO_PATH=/path/to/binary cargo test --ignored\n\n# Lint and format\ncargo clippy --all-targets --all-features -- -D warnings\ncargo fmt --check\n```\n\n\u003e **Note:** Some integration tests are `#[ignore]`d by default because they require\n\u003e external MCP server binaries. Set the `TURBOMCP_DEMO_PATH` environment variable\n\u003e to run them locally.\n\n## Development\n\n### Project Structure\n\n```\nturbomcpstudio/\n├── src/                            # SvelteKit frontend\n│   ├── routes/                     #   Page routes (+layout.svelte, +page.svelte)\n│   └── lib/\n│       ├── components/             #   Svelte 5 components (runes mode)\n│       │   ├── layout/             #     Shell: Sidebar, MasterLayout, StatusBar\n│       │   ├── ui/                 #     Reusable: Button, JsonViewer, FormField, etc.\n│       │   └── sampling/           #     Sampling approval UI\n│       ├── stores/                 #   Svelte stores (server, profile, sampling, OAuth, etc.)\n│       ├── types/                  #   TypeScript type definitions\n│       ├── utils/                  #   Helpers: logger, schema validation, cost estimation\n│       └── constants/              #   App-wide constants and timeouts\n├── src-tauri/                      # Rust backend (Tauri 2.0)\n│   ├── src/\n│   │   ├── commands/               #   Tauri IPC command handlers\n│   │   ├── mcp_client/             #   MCP client: transport, health, sampling, rate limiting\n│   │   ├── oauth/                  #   OAuth 2.1: flows, tokens, callback server, DPoP\n│   │   ├── proxy/                  #   MCP proxy, benchmarking, metrics\n│   │   ├── types/                  #   Shared Rust type definitions\n│   │   ├── database.rs             #   SQLite via sqlx (migrations, queries)\n│   │   ├── hitl_sampling.rs        #   Human-in-the-loop sampling manager\n│   │   ├── workflow_engine.rs      #   Multi-step workflow execution\n│   │   ├── error.rs                #   Structured error types\n│   │   └── lib.rs                  #   App setup, state, plugin registration\n│   ├── tests/                      #   Integration tests\n│   ├── Cargo.toml\n│   └── tauri.conf.json             #   Tauri config, CSP, capabilities\n├── .github/workflows/ci.yml       # CI: fmt, clippy, test, audit, build\n├── static/                         # Static assets (logos, screenshots)\n└── package.json\n```\n\n### Key Technologies\n\n| Layer | Stack |\n|-------|-------|\n| Frontend | SvelteKit 5 (runes mode) + TypeScript (strict) + Tailwind CSS |\n| Backend | Rust + Tauri 2.0 + tokio async runtime |\n| MCP Client | [TurboMCP](https://github.com/Epistates/turbomcp) — multi-transport, protocol-compliant |\n| Database | SQLite via sqlx (local-first, migrations) |\n| Auth | OAuth 2.1 with PKCE, OS keyring for credential storage |\n| Build | Vite + pnpm + cargo |\n| CI | GitHub Actions — fmt, clippy, test, cargo audit, cross-platform build |\n\n### Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│  Frontend (SvelteKit 5 + TypeScript + Tailwind)                │\n│  • Svelte 5 runes for reactive state                           │\n│  • Store-per-concern (server, profile, sampling, OAuth, UI)    │\n│  • Real-time protocol visualization and message history        │\n└──────────────────────────┬──────────────────────────────────────┘\n                           │ Tauri IPC (structured JSON, typed commands)\n┌──────────────────────────┴──────────────────────────────────────┐\n│  Rust Backend (Tauri 2.0 + tokio)                              │\n│  ┌──────────────┐ ┌──────────────┐ ┌─────────────────────────┐ │\n│  │ MCP Client   │ │ OAuth 2.1    │ │ Workflow Engine          │ │\n│  │ • Transport  │ │ • PKCE (S256)│ │ • Step execution         │ │\n│  │ • Health mon │ │ • Keyring    │ │ • Variable interpolation │ │\n│  │ • Rate limit │ │ • Callback   │ │ • DB persistence         │ │\n│  │ • Interceptor│ │ • Refresh    │ │                          │ │\n│  └──────┬───────┘ └──────────────┘ └─────────────────────────┘ │\n│         │          ┌──────────────┐ ┌─────────────────────────┐ │\n│         │          │ MCP Proxy    │ │ HITL Sampling           │ │\n│         │          │ • Bridging   │ │ • Approve / reject      │ │\n│         │          │ • Benchmark  │ │ • Cost estimation       │ │\n│         │          │ • Metrics    │ │ • History tracking      │ │\n│         │          │ • Comparison │ │                         │ │\n│         │          └──────────────┘ └─────────────────────────┘ │\n│         │                           ┌─────────────────────────┐ │\n│         │                           │ SQLite (sqlx)           │ │\n│         │                           │ • Servers \u0026 profiles    │ │\n│         │                           │ • Message history       │ │\n│         │                           │ • Workflow executions   │ │\n│         │                           └─────────────────────────┘ │\n└─────────┼───────────────────────────────────────────────────────┘\n          │ STDIO / HTTP / WebSocket / TCP / Unix\n┌─────────┴───────────────────────────────────────────────────────┐\n│  MCP Servers                                                    │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n### Development Workflow\n\n1. **Start dev environment**:\n   ```bash\n   pnpm run tauri dev\n   ```\n\n2. **Make changes**:\n   - Frontend: Edit files in `src/` (hot-reload automatic)\n   - Backend: Edit files in `src-tauri/src/` (auto-recompile)\n\n3. **Type check**:\n   ```bash\n   pnpm run check\n   ```\n\n4. **Test**:\n   ```bash\n   cd src-tauri \u0026\u0026 cargo test\n   ```\n\n5. **Build for production**:\n   ```bash\n   pnpm run tauri build\n   ```\n\n### IDE Setup (Recommended)\n\n**VS Code** with extensions:\n- [Svelte for VS Code](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode)\n- [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode)\n- [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)\n- [Even Better TOML](https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml)\n\n**Settings** (`.vscode/settings.json`):\n```json\n{\n  \"editor.formatOnSave\": true,\n  \"rust-analyzer.cargo.features\": \"all\",\n  \"svelte.enable-ts-plugin\": true\n}\n```\n\n## Security\n\nTurboMCP 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:\n\n- **Credentials** are stored in the OS keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service) — never in the SQLite database or config files\n- **OAuth flows** use PKCE with S256 challenge method; non-HTTPS token endpoints emit warnings but are not blocked (for local dev servers)\n- **CSP** restricts the WebView to `wss:`/`https:` for remote origins; `ws:`/`http:` are scoped to localhost only\n- **Shell execution** is restricted to absolute paths without shell metacharacters\n- **Rate limiting** is enforced per-server (default: 100 req/60s) with configurable thresholds\n- **LLM sampling** supports human-in-the-loop approval to prevent unauthorized LLM invocations from MCP servers\n\nTo report a security issue, please open a [GitHub Issue](https://github.com/Epistates/turbomcpstudio/issues) with the `security` label.\n\n## Documentation\n\n- **[CHANGELOG.md](CHANGELOG.md)**: Release history and version notes\n- **[CONTRIBUTING.md](CONTRIBUTING.md)**: Contribution guidelines\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Commit Convention\n\nWe follow [Conventional Commits](https://www.conventionalcommits.org/):\n\n- `feat:` New features\n- `fix:` Bug fixes\n- `docs:` Documentation changes\n- `style:` Code style changes (formatting)\n- `refactor:` Code refactoring\n- `test:` Test additions or changes\n- `chore:` Maintenance tasks\n\n### Code Quality\n\nBefore submitting:\n```bash\npnpm run check                                        # TypeScript type checking\ncd src-tauri \u0026\u0026 cargo fmt --check                      # Rust formatting\ncd src-tauri \u0026\u0026 cargo clippy --all-features -- -D warnings  # Rust linting\ncd src-tauri \u0026\u0026 cargo test --all-features              # Rust tests\ncd src-tauri \u0026\u0026 cargo audit                            # Dependency vulnerabilities\n```\n\n## Troubleshooting\n\n### Build Errors\n\n**Error**: \"could not find `turbomcp` crates\"\n- **Solution**: Run `cargo clean` and rebuild. TurboMCP v3.1.5 is automatically fetched from crates.io during build.\n\n**Error**: \"webkit2gtk not found\" (Linux)\n- **Solution**: Install required system dependencies:\n  ```bash\n  # Debian/Ubuntu\n  sudo apt-get install libwebkit2gtk-4.1-dev build-essential libssl-dev librsvg2-dev\n\n  # Fedora/RHEL\n  sudo dnf install webkit2gtk4.1-devel openssl-devel\n  ```\n\n**Error**: \"VCRUNTIME140.dll was not found\" (Windows)\n- **Solution**: Install [Visual Studio C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)\n\n**Error**: \"DMG bundling failed\" (macOS)\n- **Solution**: This is a known Tauri issue on local builds. Use `pnpm run tauri:build` instead, which builds the .app bundle without DMG\n\n**Error**: \"WiX Toolset not found\" (Windows)\n- **Solution**: Install WiX for MSI creation:\n  ```powershell\n  # Chocolatey\n  choco install wixtoolset\n\n  # Or download from https://wixtoolset.org/\n  ```\n\n**Error**: \"Failed to bundle project\" (Linux)\n- **Solution**: Ensure all dependencies are installed (see Prerequisites) and you have sufficient disk space\n\n**Error**: \"Permission denied\" building AppImage (Linux)\n- **Solution**:\n  ```bash\n  # Install FUSE for AppImage\n  sudo apt-get install fuse libfuse2\n\n  # Or use DEB/RPM format instead:\n  pnpm run tauri build -- --bundles deb\n  ```\n\n### Runtime Issues\n\n**Issue**: App won't start on macOS\n- **Solution**: Right-click app → \"Open\" → \"Open\" (bypass Gatekeeper on first run)\n\n**Issue**: \"App is damaged and can't be opened\" (macOS)\n- **Solution**: Run `xattr -cr /Applications/MCP\\ Studio.app`\n\n**Issue**: Database errors\n- **Solution**: Delete `~/.config/turbomcpstudio/` directory and restart\n\n### Getting Help\n\n- **Issues**: [GitHub Issues](https://github.com/Epistates/turbomcpstudio/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/Epistates/turbomcpstudio/discussions)\n- **Documentation**: Check the docs listed above\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Built with TurboMCP\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"static/Turbomcp-logo.png\" alt=\"TurboMCP\" width=\"120\"/\u003e\n\u003c/div\u003e\n\nTurboMCP Studio is powered by **[TurboMCP](https://github.com/Epistates/turbomcp)**, a Rust implementation of the Model Context Protocol with multi-transport support, OAuth 2.1, rate limiting, and health monitoring.\n\n## Acknowledgments\n\n- **MCP Client**: Powered by [TurboMCP](https://github.com/Epistates/turbomcp) - Enterprise-grade MCP for Rust\n- **Desktop Framework**: Built with [Tauri](https://tauri.app/) - Native desktop apps with Rust + Web\n- **Frontend**: [SvelteKit](https://kit.svelte.dev/) - Modern full-stack web framework\n- **Protocol**: [Model Context Protocol](https://modelcontextprotocol.io/) - Universal AI integration standard\n\n---\n\n**Status**: v0.1.1 — Actively developed. Contributions welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEpistates%2FTurboMCPStudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEpistates%2FTurboMCPStudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEpistates%2FTurboMCPStudio/lists"}