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

MCP Router: a desktop manager for MCP servers, projects and workspaces

A Unified MCP Server Management App (MCP Manager).

2,148 stars178 forksTypeScriptNOASSERTION

At a glance

What is it?
MCP Router is an Electron desktop app that centralizes MCP server connections behind a local dashboard, with projects, workspaces and per-tool toggles. It is cross-platform for Windows and macOS only, and its Sustainable Use License is not a standard open source licence.
Who is it for?
Adopt MCP Router if you run several MCP servers across more than one AI client and want per-tool toggles plus local request logs, and if Windows or macOS covers your machines. Do not adopt it if you work on Linux, if you need a headless gateway on a shared host, or if a non-standard licence is a blocker for your organization.
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?
No. The owners have archived the repository on GitHub, so it is read-only and no longer receives changes.
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 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The problem MCP Router targets: too many servers, too many clients

Once you connect more than a handful of MCP servers, the configuration stops being a single file you can reason about. Every client keeps its own server list, every server exposes its own tools, and turning one tool off for a specific task means editing config in the client rather than in one place. MCP Router is built for that situation. The README describes it as "a desktop application for simplifies the management of Model Context Protocol (MCP) servers", and the feature list is organized around exactly the pain points: toggling servers on and off, enabling or disabling individual tools, and grouping servers into Projects and Workspaces.

The audience is narrow but real. You need to be running multiple MCP servers, and you need to be switching between contexts (a work project, a side project, a debugging session) often enough that per-client configuration files have become a maintenance task. A single-server setup gains little from a management layer. The README does not present a headless or server-side deployment mode, so teams looking for a shared gateway should read the rest of this review before downloading anything.

How the routing layer is put together

The repository is a pnpm and Turborepo monorepo. The package.json defines workspaces under apps/ and packages/, and the dev script filters on three packages: @mcp_router/shared, @mcp_router/ui and @mcp_router/electron. That tells you the shape of the system: a shared library, a UI layer, and an Electron shell that hosts both. The build and publish scripts run through turbo, and postinstall triggers electron-rebuild, which is the standard signal that native modules are compiled against Electron's Node version.

On the data side, the README states that request logs, configurations and server data stay on the device, and that API keys and authentication credentials are stored locally and never transmitted externally. The privacy section frames this as verifiable because the desktop application source is public. The repository's devDependencies include @types/better-sqlite3, which points to a local SQLite database as the storage engine for at least part of that state, though the README does not document the schema.

Connectivity is described as universal: remote or local servers, with DXT, JSON and manual configuration paths. Clients attach through a CLI rather than by editing each client's own MCP configuration. That is the core architectural bet. Instead of N clients each holding N server definitions, the client holds one connection to MCP Router and MCP Router holds the server definitions.

Installing MCP Router and making a first connection

The README's installation section is short. It says to download from the releases page, with no package manager command for the desktop app itself. So the first step is a manual download of the build for your platform, and the README lists Windows and macOS as the supported platforms. There is no Linux build mentioned in the README, which matters if your team is standardized on Linux workstations.

After the app is set up, the client side goes through the CLI. The README gives this example. The first line exports the token you receive when adding a custom app inside MCP Router, and the second connects the CLI to the running app:

bash
export MCPR_TOKEN="mcpr_your_token"
npx -y @mcp_router/cli connect

If you have organized your servers into a Project, the README shows a project flag. Replace the placeholder with the project name you created in the dashboard:

bash
npx -y @mcp_router/cli connect --project <project-name>

What you should see is a CLI that reports a successful connection to the local MCP Router instance. From that point, the servers and tools enabled in the dashboard are what the client sees. The README does not document the CLI's output format, its exit codes, or a disconnect command, so treat the connect step as the documented surface and check the CLI's own help output for anything beyond it.

Projects and workspaces are the actual differentiator

Two concepts carry most of the product's value, and they are easy to conflate. Projects group MCP servers. Workspaces are described in the README as working "like browser profiles", which is a useful analogy: a workspace is a mode you switch into, carrying its own set of active servers and tool states. The CLI's --project flag is how a client attaches to a specific grouping rather than to everything.

The practical effect is that you can keep a large library of configured servers while exposing only a small subset to a given client session. That reduces the context the model has to reason about, and it reduces the chance of a tool firing in the wrong context. The trade-off is statefulness. Because the dashboard holds the source of truth, a client that connects through MCP Router depends on the app running and on the token being valid. If the app is closed, the connection has nothing to attach to. The README does not describe a fallback path where the client reads server definitions directly, so this is a hard dependency rather than a convenience layer.

Where MCP Router is the wrong tool

The clearest limitation is platform. The README lists Windows and macOS under cross-platform support, and there is no Linux artifact described. Anyone searching for a Linux build will not find one documented here.

The second limitation is deployment shape. This is a desktop application with a dashboard, not a service you run on a shared host. The privacy claims depend on data staying on your device, which is a strength for individual developers and a constraint for teams that want a centralized, multi-user MCP endpoint. If your requirement is one gateway that a whole team's agents connect to over the network, this design is pointed the other way.

The third is licensing. The README states the project is licensed under the Sustainable Use License and points to LICENSE.md, while package.json carries "SEE LICENSE IN LICENSE" and the repository metadata reports the licence as NOASSERTION. A Sustainable Use License is not an OSI-approved open source licence, and the README's own framing ("the desktop application source code is publicly available") is about source availability, not open source terms. If your procurement process requires an approved open source licence, check LICENSE.md before you build anything on top of this.

Finally, documentation depth is uneven. The README covers features at the level of screenshots and bullet points. It does not document rollback, migration between versions, the SQLite schema, or what happens to configured servers when the app updates.

How it compares with running a gateway such as Nacos MCP Router

The natural alternative category is a server-side MCP gateway, and Nacos MCP Router is the comparison people search for. The difference is architectural rather than feature-level. A gateway is a service: it runs somewhere reachable, holds the server registry, and clients point at its address. MCP Router is a local desktop app that a CLI connects to on the same machine.

That changes who can use it. A gateway fits a team that wants one registry shared across machines and CI jobs. MCP Router fits a single developer who wants a visual dashboard, per-tool switches and local request logs without standing up infrastructure. The logging and analytics screen in MCP Router is a desktop convenience; a gateway typically expects you to wire up your own observability. Neither approach is strictly better, but they are not interchangeable, and choosing MCP Router when you actually need a shared endpoint means you will end up maintaining a desktop app on a server, which the README does not describe as a supported pattern.

Maintenance, upgrades and what the release history shows

The repository is not archived, and the last push was on 2026-08-03. The most recent release listed is v0.6.3 from 2026-06-24, preceded by v0.6.2 on 2026-01-19 and v0.6.1 on 2025-11-19. The gap between v0.6.1 and v0.6.2 is roughly two months, and between v0.6.2 and v0.6.3 roughly five months. That is a slow, versioned cadence rather than a continuous stream, and the version numbers staying in the 0.6.x range means the project has not declared a 1.0 stability commitment.

For upgrade cost, the practical question is what happens to your configured servers and stored credentials across a version bump. The README does not document a migration path, a config export, or a backup procedure, so verify that before upgrading a working setup. The monorepo structure means contributors need Node 20 or newer and pnpm 8 or newer per the engines field, with pnpm pinned at 10.22.0 via packageManager; the dev, build and make scripts all run through turbo, and postinstall rebuilds native modules for Electron.

On licence implications, the Sustainable Use License is the fact to check, and LICENSE.md is where the terms live. I am not going to characterize what it permits beyond noting that it is not a standard OSI licence and that the repository metadata does not assert one. If you plan to redistribute the app or embed it in a commercial product, read the file rather than relying on the README's summary.

Editorial conclusion

Adopt MCP Router if you run several MCP servers across more than one AI client and want per-tool toggles plus local request logs, and if Windows or macOS covers your machines. Do not adopt it if you work on Linux, if you need a headless gateway on a shared host, or if a non-standard licence is a blocker for your organization. Before committing, verify three things: that your platform is in the releases page, that the Sustainable Use License in LICENSE.md suits your distribution plans, and that the MCPR_TOKEN flow in the @mcp_router/cli is how your client will authenticate.

Frequently asked questions

What is MCP Router?

It is a desktop application for managing Model Context Protocol servers, described in the README as "A Unified MCP Server Management App". It provides a dashboard for toggling servers and individual tools, grouping servers into Projects, and switching between Workspaces.

Is MCP like an API gateway?

MCP Router is not a network gateway service. It is a local desktop app that clients reach through the @mcp_router/cli, and the README states that request logs, configurations and credentials stay on your device rather than being served from a shared endpoint.

Why do we need a MCP gateway?

The README's answer is context management: as the number of MCP servers grows, keeping their contexts organized becomes the problem. MCP Router addresses it by grouping servers into Projects, managing modes with Workspaces, and toggling tools on or off per server.

What is MCP connectivity?

In MCP Router's terms, connectivity means attaching clients to servers through the app rather than configuring each client separately. The README describes support for remote and local servers, added through DXT, JSON or manual configuration.

Is MCP the same as http?

The README does not make that claim and does not describe the transport MCP Router uses between the CLI and the desktop app. It only states that both local and remote MCP servers can be added.

Official sources

  1. Issues
  2. mcp-router/mcp-router on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/mcp-router-mcp-router.svg)](https://hysenlabs.com/projects/mcp-router-mcp-router)