Model or dataset
mcp-router/mcp-router avatar
mcp-router/mcp-router

MCP Router: A Desktop Control Plane for Model Context Protocol Servers

A Unified MCP Server Management App (MCP Manager).

2,143 stars175 forksTypeScriptNOASSERTION

At a glance

What is it?
MCP Router is a Windows and macOS desktop app that centralises MCP server configuration, tool toggling and request logging behind one dashboard, then exposes the result to clients through a CLI token. It solves configuration sprawl, but the Sustainable Use License and the GUI-first workflow are constraints worth checking before adoption.
Who is it for?
Adopt MCP Router if you run several MCP servers across more than one client and want a GUI to toggle servers and individual tools without editing JSON by hand. Skip it if you need a headless Linux server, if a single static config file already covers your setup, or if the Sustainable Use License does not fit how you intend to redistribute the code.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 43 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The configuration sprawl MCP Router is built to absorb

Every MCP client keeps its own list of servers. Point Claude, Cursor, Cline and Windsurf at the same machine and you maintain four configuration files that drift apart. Add a fifth server, and you edit four files. Disable one tool because it keeps getting called by mistake, and you do it four times. MCP Router's stated purpose is to collapse that into one place: the README describes it as "a desktop application for simplifies the management of Model Context Protocol (MCP) servers" and lists a single dashboard for toggling servers on and off, enabling or disabling individual tools, and organising servers into Projects and Workspaces. The target user is someone running enough MCP servers that per-client editing has become the bottleneck, not someone with two servers and one client. The README's own framing of the problem is context management: keeping "growing MCP server contexts organized." That is a real problem once a server list passes roughly a handful of entries, because each client's context window pays for every tool definition it loads.

How the pieces fit: desktop app, local store, CLI bridge

The architecture visible in the repository is a desktop application plus a separate CLI package. The desktop app is where servers are added, grouped and toggled; the README states that all data, including request logs, configurations, API keys and authentication credentials, is stored locally and never transmitted externally. The CLI, published as @mcp_router/cli, is the bridge between that local store and your AI client. You add a custom app inside MCP Router, the app issues a token, and the client is pointed at the CLI with that token in the environment. The CLI then connects to the running desktop app. This means the desktop app is not a passive settings editor; it is a live component in the request path, and logs are captured because traffic passes through it. The README's logging and analytics section shows request logs and statistics displayed in the app, which is consistent with that routing role. Projects and Workspaces are the two organisational axes: Projects group servers, Workspaces act as profiles, described in the README as being "like browser profiles." The distinction matters because it lets one machine serve different tool sets to different clients without re-editing server definitions.

Getting it running: the token and the connect command

Installation starts outside the terminal. The README directs users to the releases page to download the desktop application, and only after setup does the CLI come into play. The documented flow is three steps. First, set the token issued when adding a custom app: export MCPR_TOKEN="mcpr_your_token". Second, run the connect command: npx -y @mcp_router/cli connect. Third, if you want a specific project rather than the default, append the project flag: npx -y @mcp_router/cli connect --project <project-name>. Those two config surfaces, the MCPR_TOKEN environment variable and the --project flag, are the entire documented command-line interface. Everything else happens in the GUI: adding servers manually or via DXT or JSON, toggling tools, creating projects and workspaces. The README lists Windows and macOS as the supported platforms, so the desktop app is a prerequisite, not an optional convenience. There is no documented headless mode, no server-side deployment path, and no configuration file format described for the router itself.

Where the design creates friction

The desktop app sits in the request path, and that has consequences the README does not address. If the app is not running, the CLI has nothing to connect to; the documented flow assumes a live GUI process on the same machine. That makes MCP Router a poor fit for remote development, CI jobs, containerised agents, or any Linux environment, since only Windows and macOS are listed as supported. The privacy claim is also narrower than it first reads. "All data is stored locally" is a statement about storage location, and the README supports it by pointing at the publicly available application source as a way to verify the claim. It does not describe an audit, and the project invites "security improvements and audits" from the community, which implies none has been published. For anyone handling production credentials, the honest position is that local storage is a design choice you can inspect, not a guarantee you can rely on without reading the code. Finally, the feature list is GUI-bound. Toggling individual tools is a headline capability, but the only documented way to do it is through the dashboard, which limits scripted or reproducible configuration.

The alternative: a checked-in config file

The obvious comparison is not another router but the plain configuration file each MCP client already ships. A JSON file checked into a repository gives you version history, code review, diffable changes and reproducibility across machines, and it costs nothing to run. MCP Router trades those properties for a GUI, live logging and per-tool toggles that do not require editing JSON. The difference in approach is stateful versus declarative. A config file is declarative: the file is the truth, and any machine that reads it behaves the same way. MCP Router is stateful: the truth lives in a local database inside the desktop app, and the CLI is a client of that running process. That is why the README's logging and statistics features exist at all; you cannot log requests from a static file. It is also why the router cannot be provisioned by copying a file. If your team already reviews MCP configuration in pull requests, adopting MCP Router means moving that configuration out of version control and into individual machines, which is a real loss unless the GUI saves more time than the review process costs.

Licence and maintenance: what the material actually says

The repository metadata reports the licence as NOASSERTION, and the README resolves that: the project is licensed under the Sustainable Use License, with details in LICENSE.md. This is not an OSI-approved open source licence, and the README's own description of the app as having "publicly available" source is consistent with that. The practical implication is that the freedoms you expect from an MIT or Apache-2.0 project may not all be present, particularly around redistribution and commercial use. The README does not summarise the terms, so the only responsible step is to read LICENSE.md directly before building the app into anything you ship. On maintenance, the release history shows v0.6.1 in November 2025, v0.6.2 in January 2026 and v0.6.3 in June 2026, with the last push to the default branch in August 2026. That is a maintained project on a roughly quarterly cadence, and the version numbers still sit below 1.0, which is worth weighing if you depend on stable interfaces. Upgrades are manual: the README's installation path is downloading from the releases page, and no auto-update mechanism or migration notes are described. The CLI is versioned separately as an npm package, so a desktop upgrade and a CLI upgrade are two different operations, and the README does not state whether they must match.

Who should adopt it, and what to check first

MCP Router fits a specific profile: a developer on Windows or macOS, running several MCP servers across two or more AI clients, who wants to disable individual tools without editing each client's JSON and who values seeing request logs. It does not fit headless servers, Linux workstations, containerised agents, or teams that treat MCP configuration as reviewed infrastructure-as-code. Before adopting, check three concrete things. Open LICENSE.md and read the Sustainable Use License terms against your intended use, since this is not an OSI licence and the README does not paraphrase it. Confirm your client and operating system appear in the releases page, because the supported platform list is Windows and macOS only. And run the documented connect flow once with a throwaway token before wiring it into a working setup, since the CLI depends on the desktop app being live and the README documents no fallback when it is not. If those three checks pass, the tool does what it claims. If any of them fails, a hand-edited JSON file is still a perfectly good MCP manager.

Editorial conclusion

Adopt MCP Router if you run several MCP servers across more than one client and want a GUI to toggle servers and individual tools without editing JSON by hand. Skip it if you need a headless Linux server, if a single static config file already covers your setup, or if the Sustainable Use License does not fit how you intend to redistribute the code. Before committing, verify three things: the exact terms in LICENSE.md, whether your target OS and client appear on the releases page, and whether the CLI token flow works with your client's transport expectations.

Official sources

  1. Issues
  2. mcp-router/mcp-router on GitHub
  3. Project website
  4. README
  5. Releases
Community notes

Community notes