mcp-hub
A TUI package manager for MCP servers. It detects which AI coding agents are installed on your machine (Claude Code, Codex, Antigravity), shows what MCP servers each one already has connected, and lets you add or remove a server across every detected agent from one wizard — instead of hand-editing three different config files in three different formats.
Table of Contents
Features
- Auto-detect — scans for Claude Code, Codex, and Antigravity config files on startup; no setup needed.
- One dashboard — see every agent's MCP servers, and whether its config file even parses, in one table.
- Add wizard — pick a server from the bundled catalog or enter one by hand, choose which detected agents to write it to, confirm.
- Edit in place — update a server's command, args, or env (and rename it) without deleting and re-adding it; asks before overwriting another server with the same name.
- Safe writes — every add, edit, or remove backs up the config file
(
.bak) before touching it, and never crashes on a malformed or empty config. - Confirm before delete — removing a server asks first.
- i18n — full English/Russian UI, toggle at runtime with
l. - Themeable — built-in Textual command palette (
ctrl+p); your choice of theme and language persists between runs.
Installation
pip install mcp-hub-tui
mcp-hub
Requires Python 3.11+. Published on PyPI as mcp-hub-tui (the mcp-hub
name was taken); the command is still mcp-hub.
From source
git clone git@github.com:d2202/mcp-hub.git
cd mcp-hub
./run.sh
run.sh creates a .venv on first run, installs the package, and launches
the TUI.
Usage
Launch with ./run.sh, then:
- Dashboard — one row per agent: detected or not, how many servers, where its config file lives. Select a row to open it.
- Server List — the MCP servers configured for that agent. Invalid entries show why parsing failed instead of crashing.
- Add Wizard (
a) — pick a server from the bundled catalog or enter one by hand, choose target agents, confirm. - Edit (
e) — opens the same wizard pre-filled with the selected server's command/args/env, scoped to the agent it's already on. Renaming asks to confirm if the new name collides with another server.
Keybindings
| Key | Action |
|---|---|
enter |
open the selected row |
a |
add server (from a server list) |
e |
edit selected server (from a server list) |
r |
remove server, asks to confirm (from a server list) |
l |
toggle language (English / Russian) |
? |
help screen |
ctrl+p |
command palette (change theme, and more) |
escape |
go back |
q |
quit |
Supported Agents
| Agent | Config file | Format |
|---|---|---|
| Claude Code | ~/.claude.json |
JSON, mcpServers |
| Codex CLI | ~/.codex/config.toml |
TOML, [mcp_servers.<name>] |
| Antigravity | ~/.gemini/config/mcp_config.json |
JSON, mcpServers |
Adding another agent is one new adapter file under mcp_hub/adapters/; the
rest of the app doesn't need to change.
Configuration
mcp-hub's own settings (language, theme) live in
~/.config/mcp-hub/settings.json and are written automatically — nothing to
configure by hand. The bundled MCP server catalog is
mcp_hub/catalog.yaml.
Development
python3.11 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/pytest
Contributing
Issues and PRs welcome. Keep changes covered by tests (pytest) and follow
the existing adapter/screen structure — see mcp_hub/adapters/ for the
pattern a new agent adapter should follow.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_hub_tui-0.3.0.tar.gz.
File metadata
- Download URL: mcp_hub_tui-0.3.0.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
988bef4b19b7dd8e8d694ef641f68491f0c9e2f824b3b07a96233402520c0fdf
|
|
| MD5 |
024b8327c0414bd2fa6a9f403e989be6
|
|
| BLAKE2b-256 |
21fefeffd7ec5f99c8d12af51a7ac6596459b40b04192204efc47a768857ed44
|
File details
Details for the file mcp_hub_tui-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcp_hub_tui-0.3.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7705497f61f85679e3fc54e2a711bc7cf46d1c866a51c8fdea10b32f0fa4e17b
|
|
| MD5 |
72bcfac7dc8c28cfbf014b810165fdf1
|
|
| BLAKE2b-256 |
6b3185a2acf4e1735a009fc25652aaa30c16269f2fd728259a71715214d2e7f6
|