KyttoMCP
Open-source (MIT) desktop app for managing MCP servers across Claude Desktop, Claude Code, Cursor, VS Code and Codex — health checks, tool safety scan, profiles, secrets and local backups. Native macOS (Swift) and Windows (.NET), no cloud, no telemetry.
Install / Use
claude mcp add heyitsjakub -- npx -y github:heyitsjakub/KyttoMCPIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of KyttoMCP
KyttoMCP scores 76/100 on our quality scale, 3670th of 4,624 Development & Engineering skills we index.
Its MCP Server is 14 KB long, well organised into 23 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so KyttoMCP is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
KyttoMCP compared with similar skills
All 4 of these similar skills score higher than KyttoMCP; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| KyttoMCP (this skill)by heyitsjakub | 76 | 10 | 1d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 111.3k | 2d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.7k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 79.0k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 70.1k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install KyttoMCP?
- Run
claude mcp add heyitsjakub -- npx -y github:heyitsjakub/KyttoMCP. The install tabs above show the steps for each supported agent. - Which AI agents does KyttoMCP work with?
- It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is KyttoMCP safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is KyttoMCP still maintained?
- The repository was last updated yesterday, so KyttoMCP is actively maintained.
Skill content
View source on GitHubKyttoMCP
A local control panel for MCP servers across the AI clients you already use.
Free and open source under the MIT License — the full source of both the macOS and the Windows app lives in this repository. Read it, build it, or send a pull request.
Download the beta · Website · Source code · Contributing · Changelog · Report a bug

See it work — 72 seconds, no narration
https://github.com/user-attachments/assets/e8e91309-8f4a-4ba5-9a1d-ac306b51d664
Eleven MCP servers across four clients, one of them refusing to start. Kytto switches a server on for Claude Code, shows the stderr behind the failing one, and measures what each server costs in context. Recorded unedited on Windows with Beta 1.0.2 — also on the site.
The problem
Once you run more than two or three MCP servers, the configuration is spread across files that share nothing but the idea:
| Client | macOS | Windows |
|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | ~/.claude.json (servers); ~/.claude/settings.json (deniedMcpServers) | %USERPROFILE%\.claude.json (servers); %USERPROFILE%\.claude\settings.json (deniedMcpServers) |
| Cursor | ~/.cursor/mcp.json | %USERPROFILE%\.cursor\mcp.json |
| VS Code | ~/Library/Application Support/Code/User/mcp.json | %APPDATA%\Code\User\mcp.json |
| Codex | ~/.codex/config.toml | %USERPROFILE%\.codex\config.toml |
| Antigravity | ~/.gemini/config/mcp_config.json | %USERPROFILE%\.gemini\config\mcp_config.json |
| Devin Desktop (formerly Windsurf) | ~/.config/devin/mcp_config.json | %APPDATA%\devin\mcp_config.json |
| OpenCode | ~/.config/opencode/opencode.json (mcp) | %USERPROFILE%\.config\opencode\opencode.json (mcp) |
Different formats, different locations, different rules about what a valid entry looks like. And the question that keeps coming back has no single place to answer it: what is actually enabled, where?
What Kytto does
Kytto reads those files locally and turns them into one workspace.
See and change what is enabled Every server against every client in one matrix. Toggle a server on or off, edit a definition across every client that uses it, or remove it from one client without touching the others — Kytto writes each client in that client's own format and respects its rules. Add servers by hand or from a built-in catalog. Since 1.0.5, Kytto explains the first matrix write before it happens and offers Undo after successful changes, including exact backup restoration for a server that was previously absent.
Handle secrets without surprises Find sensitive environment values while keeping them masked by default. Reveal on request, rotate one value everywhere it appears, keep an optional Keychain copy, or tighten config file permissions.
Attach custom sources without writing them Attach multiple named JSON, JSONC or TOML configuration files as read-only custom sources with Global, Profile or Workspace display scope. Kytto discovers and watches their servers without rewriting, creating or deleting the selected files, and keeps them distinct from the built-in writable clients.
Find out why a server fails
Run an on-demand MCP handshake and read what the server actually reports: tools, prompts, resources, protocol details and stderr. MCP Doctor turns that evidence into concrete findings — missing environment values, relative paths, failed handshakes, executables that only resolve inside one client's PATH — and previews any fix before writing it. A package a server fetches by name without an exact version (npx some-package, @latest, uvx) is flagged, and once you check the latest release Doctor can pin that exact version in every client that uses it. Package names that imitate an official server (mcp-server-github) and archived reference servers that get no more fixes (@modelcontextprotocol/server-github, -puppeteer, -slack and others) are flagged offline; "Check package safety" asks osv.dev about known malware and vulnerabilities and the npm registry about install scripts and deprecation, only when you click.
Read what a server tells your model A tool's name, description and input schema go straight into the model's context, so an MCP server can give instructions without ever being called. The Tool Safety Scanner reads them the way the model does and reports what a person would not see: hidden or direction-override characters, wording that addresses the model instead of describing the tool ("ignore previous instructions"), markup that imitates a system message, a tool advertised as read-only that names credential files, and two enabled servers claiming the same tool name in one client. Contract Guard remembers each server's tool contract between health checks and reports tools that were added or removed and changed descriptions, input schemas or safety annotations. Acknowledge a change and the contract you reviewed becomes the new baseline.
Both are advice. Nothing is switched off and no config is edited, the scan is deliberately narrow so a finding is worth reading, and a clean scan does not mean a server is trustworthy. Version 1.0.7.1 fixed reordered schema keys (#12) and detection of bidi isolate characters (#13). Source: macOS · Windows.



Kytto 1.0.7 on Windows after two health checks of a test server whose description changed between them. drift-fixture is a harmless server written for this demonstration; the instruction in its description is a sample and does nothing.
Compare tool-schema footprint Clients differ in how and when they load MCP tool definitions. Kytto estimates the full-schema footprint of each server and profile as a consistent comparison, not exact per-conversation usage, and flags heavy definitions, unmeasured entries and duplicate tool names for review. For clients with a known tool limit — VS Code refuses a chat request with more than 128 tools — Kytto shows how many tools the servers switched on there offer against that limit and warns when you are near or over it.
Switch between setups Save local profiles such as Coding, Research or Minimal. Preview exactly what a switch will change, then apply it to one client with the normal backup and restart safeguards.
Undo anything Every write checks whether the file changed outside Kytto, makes a timestamped backup, and writes atomically. Browse those backups in the app and restore an earlier configuration — the version being replaced is backed up too.
Optional Gateway mode For supported stdio servers, preview a local Gateway route, move the direct definition and credentials into native storage, and restore Direct mode with one click. Live Activity shows sessions, tool calls, latency and failures as metadata only — arguments, results and payloads stay out of the log.
Supported clients
| Client | Status | |---|---| | Claude Desktop | Supported | | Claude Code | Supported | | Cursor | Supported | | VS Code | Supported | | Codex | Supported | | Antigravity | Supported | | Devin Desktop (formerly Windsurf) | Supported | | OpenCode | Supported |
Custom sources are read-only and are not an additional writable client. Want another built-in client supported? Open an issue — the roadmap is driven by what people actually ask for.
Install
Download from kytto.jakubhecht.sk or from GitHub Releases: Beta 1.0.9.2 for macOS (v1.0.9.2) and Beta 1.0.9.2 for Windows (v1.0.9.2-windows).
macOS
Universal build — runs on both Apple Silicon and Intel Macs. Open the DMG and drag KyttoMCP into Applications.
The beta is not signed with a paid Apple Developer certificate, so Gatekeeper will show an "unidentified developer" warning. Control-click the app and choose Open, then Open again. If macOS still blocks it, go to System Settings → Privacy & Security → Open Anyway.
Kytto is distributed unsigned: there is no paid Apple Developer or Windows signing certificate, and none is planned for now (#4). The code is open instead. Only open a build you downloaded from the official site or this repository's Releases page and verify the checksum below — or build it yourself from source, which needs no warning bypass at all.
Windows
Run the setup file. Microsoft Defender SmartScreen will appear for the same reason — choose More info → Run anyway.
Verify your download
# macOS
shasum -a 256 KyttoMCP-1.0.9.2.dmg
# 5cbb4f0810ad9fb6985ef7163be2ed69ba80ca18428d18097c7e2d7e9995440e
# Windows (PowerShell)
Get-FileHash Kytto-Setup-win-x64-1.0.9.2.exe -Algorithm SHA256
# fa24c7ff8d80a312a41e86959047f3d9c5bf3486712523485216a3f2d1243618
Local by design
Kytto works with the files already on your computer.
- No account, no sign-up, no cloud sync
- MCP configurations and credentials never leave your machine
- Backups and configuration changes are handled locally
- No telemetry or analytics. The only request the app makes on its own is the update check; a package version lookup and a package safety check (osv.dev, and the npm registry for npm packages) happen only when you ask for them. The platform READMEs list every request. (Builds up to 1.0.6.3 included opt-in anonymous diagnostics, off by default; the source here has removed them.)
- Gateway activity is metadata-only; payload capture is off
See the privacy policy for details.
Source code
Kytto is free and open source under the MIT License. This repository holds both apps:
| Folder | Platform | Stack | Start here |
|---|---|---|---|
| macos/ | macOS 15+ | Swift 6, SwiftUI/AppKit shell, WKWebView | macos/README.md |
| windows/ | Windows 10/11 | .NET 10, WPF shell, WebView2 | windows/README.md |
Both are a native shell around a web UI (vanilla HTML/CSS/JS, no build step), talking over a typed IPC contract, and both follow the same design document: macos/README.md (§1–§12) and windows/docs/design.md. Each folder builds and tests on its own:
git clone https://github.com/heyitsjakub/KyttoMCP.git
# macOS (Xcode 16+)
cd KyttoMCP/macos/Kytt
Truncated for display — read the full file on GitHub.
Related Skills
taste-skill
111.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
79.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
70.1kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
