Skip to main content
Glama
README.md
# MCPHub — Desktop App

English | [Français](README.fr.md) | [中文版](README.zh.md)

MCPHub is a desktop application that aggregates multiple MCP (Model Context Protocol) servers behind a single, easy-to-manage hub. It bundles an Electron shell, a Node.js/Express backend, and a React dashboard — install it, add your MCP servers, and expose them to AI clients (Claude Desktop, Cursor, etc.) through simple HTTP/SSE endpoints.

![Dashboard Preview](assets/dashboard.png)

## ✨ Features

- **Centralized Management** - Monitor and control all MCP servers from a unified dashboard
- **Flexible Routing** - Access all servers, specific groups, or individual servers via HTTP/SSE
- **Granular Group Visibility** - Control Tool, Prompt, and Resource visibility per server inside a group
- **Per-Server Sharing** - Keep servers private, share them with selected users, or make them public
- **Smart Routing** - AI-powered tool discovery using vector semantic search
- **MCP Apps Proxy** - Transparently forward interactive MCP Apps on single-server routes
- **Tool Result Compression** - Reduce large text tool outputs before they reach clients
- **Hot-Swappable Config** - Add, remove, or update servers without downtime
- **OAuth 2.0 Support** - Client and server modes for secure authentication
- **System Tray** - Quick access to the dashboard, logs, and quit from the tray icon

## 📦 Download & Install

Download the latest Windows installer from the [Releases page](https://github.com/GW19ddd/MCPHub-desktop/releases):

- `MCPHub-<version>-setup.exe` — NSIS installer (recommended)

Install steps:

1. Run the installer and follow the wizard (you can choose the install directory).
2. Launch **MCPHub** from the desktop or Start Menu shortcut.
3. The app starts the built-in server on port `3000` and opens the dashboard.

> If your security software warns about the installer, add it to the whitelist — the app is unsigned (no code-signing certificate).

## 🚀 Quick Start

1. Log in with the default credentials: `admin` / `admin123`.
2. Go to **Servers** and add your MCP servers (e.g. `npx -y time-mcp`, `uvx mcp-server-fetch`), or edit `mcp_settings.json` in the app data folder.
3. Connect your AI clients:

```
http://localhost:3000/mcp           # All servers
http://localhost:3000/mcp/{group}   # Specific group
http://localhost:3000/mcp/{server}  # Specific server
http://localhost:3000/mcp/$smart    # Smart routing
```

> **Security note**: MCP endpoints require authentication by default. To allow unauthenticated MCP access, disable **Enable Bearer Authentication** in the Keys section. Use only in trusted environments.

## 📚 Documentation

- [中文使用文档](https://github.com/GW19ddd/MCPHub-desktop/blob/main/README.zh.md)
- [Developer docs (docs/)](https://github.com/GW19ddd/MCPHub-desktop/tree/main/docs)
- [Report a bug / Request a feature](https://github.com/GW19ddd/MCPHub-desktop/issues)

## 🧑‍💻 Local Development

```bash
git clone https://github.com/GW19ddd/MCPHub-desktop.git
cd MCPHub-desktop
pnpm install
pnpm dev
```

Local development uses `admin` / `admin123` and stores its writable settings copy at `data/mcp_settings.dev.json`.

> Windows users: start backend and frontend separately with `pnpm backend:dev` and `pnpm frontend:dev`.

Build the desktop app:

```bash
cd electron
pnpm install
pnpm build        # compile Electron main process
cd ..
npx electron-builder --config electron/electron-builder.yml
```

The installer is written to `release/MCPHub-<version>-setup.exe`.

## 🔍 Tech Stack

- **Desktop shell**: Electron
- **Backend**: Node.js, Express, TypeScript (ESM)
- **Frontend**: React, Vite, Tailwind CSS
- **Storage**: file-based `mcp_settings.json` by default; optional PostgreSQL (TypeORM + pgvector) for Smart Routing
- **Auth**: JWT + bcrypt; bearer keys; built-in OAuth 2.0 server (`@node-oauth/oauth2-server`)
- **Protocol**: Model Context Protocol SDK

## 📄 License

Licensed under the [Apache 2.0 License](LICENSE).