MCPMU(1)

NAME

mcpmuTUI-based MCP server multiplexer, configure all your MCP's in a single MCP with profiles

SYNOPSIS

$go install github.com/Bigsy/mcpmu/cmd/mcpmu@latest

INFO

87 stars
2 forks
0 views

DESCRIPTION

TUI-based MCP server multiplexer, configure all your MCP's in a single MCP with profiles

README

mcpmu

mcpmu (μ)

A multiplexing MCP server that aggregates multiple MCP servers behind a single stdio MCP server.

Unlike typical MCP setups where each coding agent needs its own server configurations, mcpmu acts as a meta-server: you configure all your MCP servers once, then expose them as a unified endpoint to any agent that supports the Model Context Protocol. Add one entry to Claude Code, Cursor, Windsurf, or any MCP-compatible tool and instantly gain access to your entire MCP ecosystem.

Key differentiators:

  • Single configuration, universal access — Define servers once, use everywhere
  • Namespace profiles — Group servers by context (work, personal, project) with per-namespace tool permissions
  • Multi-transport — Manage both local stdio processes and remote HTTP/SSE endpoints
  • Registry browser — Search the official MCP registry and install servers with pre-populated config
  • Interactive TUI — Monitor, test, and manage servers with a terminal interface
  • Tool permissions — Block unused tools per-namespace or globally deny dangerous tools at the server level
  • Defense-in-depth — Server-level global deny list that overrides all namespace permissions
  • Resource & prompt passthrough — Optionally expose upstream resources and prompts via --resources and --prompts flags

TUI

imageimage
imageimage

Web

Web UI serversWeb UI server detail
Web UI namespacesWeb UI registry

Installation

Homebrew (macOS/Linux)

brew tap Bigsy/tap
brew install mcpmu

From source

go install github.com/Bigsy/mcpmu/cmd/mcpmu@latest

Quick Start

Let your agent set it up

Install the mcpmu skill, then ask your coding agent to do the rest — it can read your existing MCP config, import your servers into mcpmu, and register mcpmu as your single MCP endpoint:

mcpmu skill install

Then tell your agent: "Read my current MCP config, add all my servers to mcpmu, and register mcpmu as an MCP server"

Or set it up manually

1. Add your MCP servers:

# Add a stdio server
mcpmu add context7 -- npx -y @upstash/context7-mcp

Add an HTTP server

mcpmu add atlassian https://mcp.atlassian.com/mcp --scopes read,write

2. Register mcpmu with your agent:

# Claude Code
claude mcp add mcpmu -- mcpmu serve --stdio

Codex

codex mcp add mcpmu -- mcpmu serve --stdio

Or add directly to any MCP config JSON (Claude Code, Cursor, Windsurf, etc.):

{
  "mcpmu": {
    "command": "mcpmu",
    "args": ["serve", "--stdio"]
  }
}

That's it. Your agent now has access to all your configured MCP servers through a single endpoint.

Namespaces

Namespaces let you create different server profiles — one for work, one for personal projects, a minimal one for keeping context length down.

# Create namespaces
mcpmu namespace add work --description "Work servers"
mcpmu namespace add personal --description "Personal projects"

Assign servers to namespaces

mcpmu namespace assign work atlassian mcpmu namespace assign work context7 mcpmu namespace assign personal context7

Then point each agent at the namespace it needs:

Claude Code:

claude mcp add work -- mcpmu serve --stdio --namespace work

Codex:

codex mcp add personal -- mcpmu serve --stdio --namespace personal

If no namespace is specified, mcpmu uses the default namespace (usually the first namespace created).

Tool Permissions

Control which tools are exposed per namespace — useful for keeping context lean or restricting access. Can also be all configured from the TUI (probably easier there):

# Allow/deny specific tools
mcpmu permission set work atlassian jira_search allow
mcpmu permission set work atlassian confluence_delete deny

Deny all tools by default, then allowlist what you need

mcpmu namespace set-deny-default minimal true mcpmu permission set minimal context7 resolve allow

Per-server deny-default — deny a tool-heavy server, allow the rest

mcpmu permission set-server-default work grafana deny mcpmu permission set work grafana query_loki_logs allow

Server-level global deny

For defense-in-depth, you can deny tools at the server level. Globally denied tools are blocked regardless of namespace permissions — even a namespace explicit allow cannot override a server global deny:

mcpmu server deny-tool filesystem delete_file move_file
mcpmu server allow-tool filesystem move_file   # re-enable
mcpmu server denied-tools filesystem           # list denied tools

Permission resolution order: server global deny > explicit tool permission > server default > namespace default > allow.

A common pattern: keep a lean namespace with only your most-used tools for everyday work, and an "extra" namespace with the full suite that you add as a second MCP server when needed.

Features

  • Stdio process management — Spawn and supervise local MCP servers (npx, binaries, scripts)
  • Streamable HTTP/SSE — Connect to remote MCP endpoints with full SSE support
  • MCP aggregation — Expose all managed servers as a single MCP endpoint via mcpmu serve --stdio
  • OAuth support — Full OAuth 2.1 with PKCE, dynamic client registration, token management, and automatic scope discovery
  • Hot-reload — Serve mode watches the config file and automatically applies changes without restart
  • Lazy or eager startup — Start servers on-demand or pre-start everything with --eager
  • Registry browser — Search the official MCP server registry from the TUI and install with pre-populated config (a → Official Registry)
  • Interactive TUI — Real-time logs, server status, start/stop controls, and namespace switching
  • Web UI — Browser-based management via mcpmu web with live log streaming, CRUD operations, and registry browser

Serve Mode

Expose managed servers as a single MCP endpoint:

mcpmu serve --stdio                          # default namespace
mcpmu serve --stdio --namespace work         # specific namespace
mcpmu serve --stdio -n work --eager          # pre-start all servers
mcpmu serve --stdio --expose-manager-tools   # include mcpmu.* management tools
mcpmu serve --stdio --log-level debug        # verbose logging

Shell Completions

Tab-completion for server names, namespace names, and subcommand arguments. If installed via Homebrew:

mcpmu completion zsh > "$(brew --prefix)/share/zsh/site-functions/_mcpmu"

For bash, fish, and PowerShell setup see docs/completions.md.

Full CLI Reference

For the complete list of commands, flags, config schema, and HTTP server fields see docs/CLI.md.

Agent Skill

mcpmu ships with a built-in agent skill that teaches AI coding agents how to use the mcpmu CLI. Install it with a single command:

mcpmu skill install

This auto-detects which agents you have installed and copies the skill to the right locations:

AgentPath
Claude Code~/.claude/skills/mcpmu/SKILL.md
Codex CLI~/.codex/skills/mcpmu/SKILL.md
Cross-agent~/.agents/skills/mcpmu/SKILL.md

The cross-agent path (~/.agents/) is always created as it's the emerging standard.

To remove the skill from all locations:

mcpmu skill uninstall

Once installed, your agent will automatically know how to use mcpmu commands when you ask about MCP server management.

Building from source

git clone https://github.com/Bigsy/mcpmu.git
cd mcpmu
go build -o mcpmu ./cmd/mcpmu
./mcpmu

Testing

go test ./...
make check            # lint + tests
make test-integration # integration tests

SEE ALSO

clihub4/13/2026MCPMU(1)