You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Strip the README down to what matters: problem, fix, 3 steps, features
with inline screenshots. Dashboard hero shot, Spaces and Settings as
feature callouts. Remove verbose sections and collapse project structure
into a <details> block.
https://claude.ai/code/session_01W32JdTpYeN92qNrHPgMyVo
Copy file name to clipboardExpand all lines: README.md
+52-96Lines changed: 52 additions & 96 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,49 +5,45 @@
5
5
6
6
### Configure your MCP servers once. Connect every AI client.
7
7
8
-
McpMux is a desktop app that gives you **one place** to manage all your MCP servers — so you never have to copy-paste server configs across Cursor, Claude Desktop, VS Code, or any other AI client again.
Every AI client that supports MCP has its own configuration file. Want to use a GitHub server, a database server, and a Slack server? You configure all three **separately** in every single client.
14
+
Every AI client has its own MCP config file. Same servers, same credentials — duplicated everywhere.
17
15
18
16
```
19
-
Cursor → config.json → github, slack, db servers + credentials
20
-
Claude Desktop → config.json → github, slack, db servers + credentials (again)
21
-
VS Code → settings.json → github, slack, db servers + credentials (again)
Cursor → config.json → github, slack, db + API keys
18
+
Claude Desktop → config.json → github, slack, db + API keys (again)
19
+
VS Code → settings.json → github, slack, db + API keys (again)
20
+
Windsurf → config.json → github, slack, db + API keys (again)
23
21
```
24
22
25
-
Add a new server? Update **every client**. Rotate an API key? Update **every client**. Start a new project with different servers? Reconfigure **everything**.
26
-
27
-
### The other problem: credentials in plain text
23
+
Add a server? **Update every client.** Rotate an API key? **Update every client.** New project? **Reconfigure everything.**
28
24
29
-
MCP configs store API keys and tokens in **plain JSON files on disk**. No encryption, no access control — just raw secrets sitting in your home directory.
25
+
And all those credentials? Sitting in **plain-text JSON files** on disk.
30
26
31
-
###The fix: configure once, connect everywhere
27
+
## The Fix
32
28
33
-
McpMux runs a local gateway on your machine. You configure your servers and credentials **once** inside McpMux, then point all your AI clients to a single local URL. That's it.
29
+
McpMux is a desktop app that runs a local gateway. Configure your servers once, point all clients to one URL.
34
30
35
31
```
36
32
Cursor ─┐
37
-
Claude Desktop ─┤──→ McpMux (localhost:9315) ──→ github, slack, db servers
38
-
VS Code ─┤ manages all credentials
39
-
Windsurf ─┘ one config, one place
33
+
Claude Desktop ─┤──→ McpMux (localhost) ──→ all your MCP servers
34
+
VS Code ─┤ encrypted credentials
35
+
Windsurf ─┘ one config, one place
40
36
```
41
37
42
-
Add a server in McpMux → every client has it instantly. No files to edit. No credentials to copy.
38
+
Add a server in McpMux and every client has it instantly. No files to edit.
43
39
44
40
---
45
41
46
42
## How It Works
47
43
48
-
**1. Install servers** — Browse the built-in registry or add servers manually.
44
+
**1.** Install servers from the built-in registry (or add manually)
49
45
50
-
**2. Copy one config** — McpMux gives you a single JSON snippet to paste into any AI client:
46
+
**2.** Paste one configinto your AI clients:
51
47
52
48
```json
53
49
{
@@ -59,131 +55,91 @@ Add a server in McpMux → every client has it instantly. No files to edit. No c
59
55
}
60
56
```
61
57
62
-
**3. Done**— Every tool, prompt, and resource from all your servers is now available in every connected client.
58
+
**3.**Done. All tools from all servers are available in every client.
63
59
64
-
When an AI client calls a tool, McpMux routes the request to the right server automatically. OAuth tokens refresh in the background. Credentials stay encrypted in your OS keychain. You don't think about it.
60
+
McpMux routes calls to the right server, refreshes OAuth tokens automatically, and keeps credentials encrypted in your OS keychain. You don't think about it.
65
61
66
62
---
67
63
68
64
## Features
69
65
70
-
### One Dashboard for Everything
71
-
See all your servers, their connection status, available tools, and connected clients in one place. Install new servers from the registry with a click. View logs when something goes wrong.
66
+
**Spaces** — Isolated workspaces with their own servers and credentials. Switch between "Work" and "Personal" in one click.
67
+
68
+

69
+
70
+
**Encrypted Credentials** — Stored in your OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) with AES-256-GCM encryption. Not in plain-text JSON files.
72
71
73
-
### Spaces — Switch Contexts Instantly
74
-
Working on multiple projects that need different servers? Create **Spaces** like "Work", "Personal", or "Client Project". Each Space has its own servers, credentials, and permissions. Switch between them in the sidebar — your AI clients follow automatically.
72
+
**OAuth That Just Works** — Handles the full OAuth 2.1 + PKCE flow for remote servers. Automatic token refresh. Authenticate once and forget about it.
75
73
76
-
### Credentials That Aren't in Plain Text
77
-
McpMux stores credentials in your **OS keychain** (macOS Keychain, Windows Credential Manager, Linux Secret Service). Database fields are encrypted with AES-256-GCM. No more API keys sitting in plain JSON files.
74
+
**Server Registry** — Browse, search, and one-click install MCP servers. Cached for offline use.
78
75
79
-
### OAuth That Just Works
80
-
Remote MCP servers that require OAuth? McpMux handles the entire flow — browser-based login, token storage, and **automatic refresh** when tokens expire. You authenticate once and forget about it.
76
+
**Per-Client Permissions** — Control which tools each AI client can access with Feature Sets.
81
77
82
-
### Server Registry
83
-
Browse, search, and install MCP servers from the built-in registry. Filter by category, see what tools each server provides, and install with one click. Servers you've used before are cached for offline access.
78
+
**System Tray** — Runs in the background, starts with your OS. Always available.
84
79
85
-
### Control What Each Client Can Access
86
-
Not every AI client should have access to every tool. Create **Feature Sets** — permission bundles that control which tools, prompts, and resources a client can see. Give Cursor full access but limit VS Code to read-only tools. It's up to you.
80
+

87
81
88
-
### Runs in the Background
89
-
McpMux sits in your system tray and starts automatically with your OS. The gateway is always running, so your AI clients always have their tools available.
82
+
**Auto-Updates** — Signed updates delivered automatically.
90
83
91
84
---
92
85
93
86
## Security
94
87
95
-
MCP's default approach is plain-text JSON config files with raw credentials. McpMux replaces that with proper security:
88
+
MCP defaults to plain-text config files with raw API keys. McpMux replaces that with:
96
89
97
-
-**OS Keychain** — Encryption keys and secrets stored in your platform's native keychain, not on disk
98
-
-**AES-256-GCM Encryption** — Sensitive database fields are encrypted with authenticated encryption
99
-
-**Memory Zeroization** — Secrets are wiped from memory after use
100
-
-**OAuth 2.1 + PKCE** — Industry-standard auth flow for remote servers with automatic token refresh
101
-
-**Local-Only Gateway** — Binds to `127.0.0.1` only — nothing is exposed to the network
102
-
-**Per-Client Permissions** — Access keys and Feature Sets control what each client can do
103
-
-**Sanitized Logs** — Tokens and secrets never appear in log files
90
+
-**OS Keychain** — secrets in platform-native secure storage, not on disk
-**OAuth 2.1 + PKCE** — standard auth with automatic token refresh
93
+
-**Local-only gateway** — binds to `127.0.0.1`, nothing exposed to the network
94
+
-**Per-client access keys** — granular permissions per AI client
95
+
-**Sanitized logs** — tokens never appear in log files
96
+
-**Memory zeroization** — secrets wiped from memory after use
104
97
105
-
All MCP traffic stays on your machine. McpMux never routes tool calls through external services. Cloud sync (optional) only covers configuration metadata — never credentials or MCP payloads.
98
+
All MCP traffic stays on your machine. Cloud sync (optional) only covers config metadata — never credentials or payloads.
106
99
107
100
---
108
101
109
102
## Getting Started
110
103
111
-
### 1. Download McpMux
112
-
113
-
Grab the latest release for your platform from the [Releases page](https://github.com/MCP-Mux/mcp-mux/releases):
114
-
115
-
| Platform | Format |
116
-
|----------|--------|
117
-
| Windows | MSI installer |
118
-
| macOS | DMG |
119
-
| Linux | DEB, RPM, AppImage |
120
-
121
-
### 2. Add Your Servers
104
+
**1. [Download McpMux](https://github.com/MCP-Mux/mcp-mux/releases)** — Windows (MSI), macOS (DMG), Linux (DEB/RPM/AppImage)
122
105
123
-
Open McpMux and head to the **Discover** tab to browse the registry, or add servers manually via **My Servers → Add Server Manually**.
106
+
**2. Add servers** — Discover tab to browse the registry, or add manually
124
107
125
-
### 3. Connect Your AI Clients
126
-
127
-
Copy the gateway config from the Dashboard and paste it into your AI client's MCP settings:
128
-
129
-
```json
130
-
{
131
-
"mcpServers": {
132
-
"mcpmux": {
133
-
"url": "http://localhost:9315/mcp"
134
-
}
135
-
}
136
-
}
137
-
```
108
+
**3. Paste config** — Copy the snippet from the Dashboard into your AI clients
138
109
139
110
That's the last config file you'll need to touch.
140
111
141
112
---
142
113
143
114
## Development
144
115
145
-
### Prerequisites
146
-
147
-
-[Rust](https://rustup.rs/) 1.75+
148
-
-[Node.js](https://nodejs.org/) 18+
149
-
-[pnpm](https://pnpm.io/) 9+
150
-
151
-
Linux also needs: `gnome-keyring libsecret-1-dev librsvg2-dev pkg-config`
152
-
153
-
### Setup
154
-
155
116
```bash
156
-
pnpm setup # First-time: installs all dependencies
117
+
pnpm setup # First-time: install dependencies
157
118
pnpm dev # Start development
158
-
pnpm build # Build for production
119
+
pnpm build # Production build
120
+
pnpm test# Run all tests
159
121
```
160
122
161
-
### Testing
123
+
**Prerequisites:** Rust 1.75+, Node.js 18+, pnpm 9+. Linux also needs `gnome-keyring libsecret-1-dev librsvg2-dev pkg-config`.
162
124
163
-
```bash
164
-
pnpm test# All tests
165
-
pnpm test:rust:unit # Rust unit tests
166
-
pnpm test:ts # TypeScript tests
167
-
pnpm test:e2e:web # E2E tests (all platforms)
168
-
```
125
+
Built with **Tauri 2** (Rust + React 19), **Axum** for the gateway, **ring** for encryption, **rmcp** for MCP.
0 commit comments