{"id":50333092,"url":"https://github.com/amnuts/mcp-overwatch","last_synced_at":"2026-05-29T11:01:37.316Z","repository":{"id":354050400,"uuid":"1221739998","full_name":"amnuts/mcp-overwatch","owner":"amnuts","description":"A simple solution to running all your MCP servers","archived":false,"fork":false,"pushed_at":"2026-04-26T21:47:10.000Z","size":2605,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T23:25:40.645Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amnuts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-04-26T16:11:11.000Z","updated_at":"2026-04-26T21:47:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/amnuts/mcp-overwatch","commit_stats":null,"previous_names":["amnuts/mcp-overwatch"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/amnuts/mcp-overwatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnuts%2Fmcp-overwatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnuts%2Fmcp-overwatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnuts%2Fmcp-overwatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnuts%2Fmcp-overwatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amnuts","download_url":"https://codeload.github.com/amnuts/mcp-overwatch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amnuts%2Fmcp-overwatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33648534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"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":[],"created_at":"2026-05-29T11:01:35.643Z","updated_at":"2026-05-29T11:01:37.306Z","avatar_url":"https://github.com/amnuts.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCP Overwatch\n\n**A unified gateway for Model Context Protocol servers.**\n\nMCP Overwatch is a cross-platform desktop app that lets you browse, install, configure, and supervise MCP servers from one place — and exposes them to Claude Desktop, Claude Code, and any other MCP-aware client through a single proxy endpoint.\n\n![MCP Overwatch](docs/images/screenshot1.png)\n\n---\n\n## Why?\n\nRunning more than one or two MCP servers gets unwieldy fast. Each client has its own config file, each server has its own command line, environment variables, secrets, and update cadence. There's no easy way to see what's actually running, read its logs, or restart it without editing JSON by hand.\n\nMCP Overwatch fixes that:\n\n- **One place to install servers** — browse the official MCP registry, install with a click, and the app handles downloading the right runtime (Node, Python, Docker) and wiring up secrets via your OS keychain.\n- **One endpoint for every client** — Claude Desktop, Claude Code, and anything else that speaks MCP connect to a single HTTP proxy on `localhost:3100`. Tools are auto-namespaced (`slack__send_message`, `github__create_issue`) so there are no collisions.\n- **You can see what's happening** — a unified live log stream you can filter by server, crash recovery with backoff, and update notifications when new versions land in the registry.\n- **Minimises to the tray** and keeps your servers running while you work.\n\n## Features\n\n- 🔍 Browse the official MCP registry, filter by runtime and transport\n- ⚙️ Install, configure, start/stop, and update servers from the UI\n- 🔐 Secrets stored in the OS keychain (Keychain / Credential Manager / Secret Service)\n- 🌐 Unified HTTP proxy on `:3100` with tool namespacing\n- 📜 Real-time unified log stream with per-server filtering, backed by a 10k-entry ring buffer\n- 📊 Per-server and per-tool usage stats: call counts, error rates, avg/p95/max latency, and hourly activity\n- 🔄 Auto-restart on crash with exponential backoff\n- 🖱️ System tray with active-server count, minimise-to-tray behaviour\n- 🪟 Cross-platform: Windows, macOS (universal), Linux (AppImage/deb/rpm)\n- 🔌 One-click integration with Claude Desktop and Claude Code configs\n\n## Install\n\nDownload the latest release for your platform from the [Releases page](https://github.com/amnuts/mcp-overwatch/releases).\n\n| Platform | File |\n|---|---|\n| Windows (x64) | `mcp-overwatch-\u003cversion\u003e-windows-amd64-installer.exe` |\n| Windows (ARM64) | `mcp-overwatch-\u003cversion\u003e-windows-arm64-installer.exe` |\n| macOS (universal) | `mcp-overwatch-\u003cversion\u003e-macos-universal.zip` |\n| Linux (AppImage) | `mcp-overwatch-\u003cversion\u003e-linux-amd64.AppImage` |\n| Linux (Debian/Ubuntu) | `mcp-overwatch-\u003cversion\u003e-linux-amd64.deb` |\n| Linux (RHEL/Fedora) | `mcp-overwatch-\u003cversion\u003e-linux-amd64.rpm` |\n\n### Requirements\n\n- **Windows**: 10 or later. The installer will download WebView2 Runtime if it's missing. The installer is **unsigned**, so Windows SmartScreen will show a *\"Windows protected your PC\"* warning on first run — click *More info* → *Run anyway* to proceed. (Code-signing certificates are prohibitively expensive for an unfunded OSS project.)\n- **macOS**: 10.15 Catalina or later. Builds are ad-hoc signed; on first launch, right-click → *Open* to bypass the Gatekeeper warning (or purchase a Developer ID and notarize your own build).\n- **Linux**: GTK 3 and WebKit2GTK 4.1. On Debian 12 / Ubuntu 22.04+ install with `sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0`.\n\n## First-time setup\n\n1. Launch MCP Overwatch. It creates its data directory at `{UserConfigDir}/MCPOverwatch/`.\n2. The registry syncs in the background on first launch. Browse the **Marketplace** tab and install a server you want to try.\n3. Open **Settings → Clients** and click *Register with Claude Desktop* or *Register with Claude Code*. This writes a single entry into their config that routes everything through Overwatch's proxy.\n4. Restart Claude Desktop / Claude Code. Your tools are now available, namespaced per server.\n\n## Configuration\n\nConfig lives at `{UserConfigDir}/MCPOverwatch/config.toml`. Defaults:\n\n| Setting | Default |\n|---|---|\n| Proxy port | `3100` |\n| Log ring buffer | `10000` entries |\n| Registry sync interval | `24h` |\n| Log retention | `7 days` |\n| Stats retention | `90 days` |\n\nSecrets (server env vars you mark as sensitive) are stored in the OS keychain, keyed as `mcp-overwatch:{server_id}:{env_var_name}`.\n\n## Development\n\n```bash\n# Prerequisites: Go 1.25+, Node 22+, Wails v3 alpha CLI\ngo install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0-alpha.78\n\n# Run in dev mode (hot reload)\nwails3 dev -config ./build/config.yml\n\n# Build for the current OS\nwails3 task build\n\n# Package for the current OS (.app / installer / AppImage+deb+rpm)\nwails3 task package\n\n# Run tests\ngo test ./internal/...\n\n# Regenerate frontend TypeScript bindings after changing Go service signatures\nwails3 generate bindings\n```\n\n## Architecture\n\n- Backend: Go + [Wails v3](https://v3alpha.wails.io/) + [mcp-go](https://github.com/mark3labs/mcp-go), SQLite via pure-Go `modernc.org/sqlite` (no CGo for the DB — Wails still needs it for WebKit on macOS/Linux).\n- Frontend: React 18 + TypeScript 5 + Vite 5 + Tailwind 4.\n\n## Author\n\nMCP Overwatch is built by [Andrew Collington](https://github.com/amnuts). Bug reports and feature requests are welcome on the [issue tracker](https://github.com/amnuts/mcp-overwatch/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famnuts%2Fmcp-overwatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famnuts%2Fmcp-overwatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famnuts%2Fmcp-overwatch/lists"}