Quick Start • Why OctopusMCP? • Features • Client Configs • CLI Reference • Meta-MCP • Architecture
🐙 OctopusMCP Dashboard (Fluent UI) ─┐
💻 Terminal CLI (`octopusmcp`) ──┼──▶ 🔒 JSON-RPC Bridge ──▶ 🐍 Isolated Python Venvs
🤖 Meta-MCP Server (`mcp.run`) ─┘ (Stdio & HTTP Supervised)
OctopusMCP is the unified runtime manager, package installer, and lifecycle controller for Model Context Protocol (MCP) tools.
Think of it as "Docker Desktop + Homebrew for MCP Servers":
- 🛡️ Zero Dependency Hell: Every MCP server runs in its own isolated Python virtual environment with sandboxed storage, models, logs, and configs.
- ⚡ Instant Client Configs: 1-click JSON snippet generator for Claude Desktop, Cursor, Claude Code, Zed, Windsurf, LibreChat, and Cline.
- 🚀 Dual Transport (Stdio + Supervised HTTP/SSE): Run servers with native high-speed stdio or spin up background HTTP microservices with automated port checking.
- 🖥️ Desktop App + CLI + Meta-MCP: Use the modern Fluent UI dashboard, power-user terminal CLI, or let your AI agent manage its own MCP toolset via the built-in OctopusMCP Meta-Server!
- Python >= 3.11
- Node.js >= 20 & npm
# Clone the repository
git clone https://github.com/yourusername/octopusmcp-manager.git
cd "octopusmcp manager"
# Setup Python backend virtual environment
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
# Install Electron dependencies & launch
npm install
npm startActivate your virtual environment and manage MCP servers instantly:
# Browse the curated catalog
octopusmcp catalog
# Install an MCP server into an isolated sandbox
octopusmcp install echo-lab
# Inspect installed servers & status
octopusmcp installed
# Generate 1-click configuration for Claude / Cursor
octopusmcp connect echo-lab
# Start a background HTTP/SSE endpoint with port management
octopusmcp http start echo-lab --port 8765
# Stop the HTTP service
octopusmcp http stop echo-labInstall rich MCP tools like OmniVoice (Voice AI / Speech synthesis), Echo Lab (test suite), and custom community packages with zero global package collisions.
Every installed MCP server gets a dedicated directory structure under your OS application directory:
~/.local/share/OctopusMCP/ # (or %LOCALAPPDATA%/OctopusMCP on Windows)
├── octopus.db # SQLite registry & operational audit logs
├── staging/ # Atomic installation sandbox
└── servers/
└── <server-id>/
├── releases/<version>/
│ ├── source/ # Isolated package code
│ └── venv/ # Dedicated Python virtual environment
├── config/ # Environment variables & JSON settings
├── models/ # Local ML weights (Whisper, Kokoro, etc.)
├── data/ # Local persistence & SQLite stores
├── output/ # Generated audio, charts, artifacts
├── logs/ # Per-server execution logs
└── runtime/ # Process state & HTTP lockfiles
Never handcraft brittle JSON configuration files again. OctopusMCP exports validated schemas for:
- 🟣 Claude Desktop (
claude_desktop_config.json) - ⚡ Cursor IDE (
Settings > MCP) - 🤖 Claude Code CLI (
claude mcp add) - 🪁 Zed Editor, Windsurf, Cline, Roo Code, and LibreChat
- Default Stdio: Zero-latency, spawned on-demand by host LLM clients.
- Persistent HTTP / SSE: Spin up long-running daemon servers with automatic
psutilport discovery, health-checking, and graceful teardown.
Need to build a brand-new MCP server?
octopusmcp generate my-custom-tool --description "Supercharged DB query MCP tool"OctopusMCP creates a production-ready FastMCP project skeleton with dependencies, entrypoints, and packaging ready to test immediately.
OctopusMCP exposes its own MCP Server via octopusmcp mcp. Plug it into Claude or Cursor, and your AI assistant can dynamically discover, install, and start MCP servers on demand!
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"octopusmcp-manager": {
"command": "/path/to/octopusmcp-manager/.venv/bin/octopusmcp",
"args": ["mcp"]
}
}
}Usage: octopusmcp [OPTIONS] COMMAND [ARGS]...
Install and manage isolated local MCP servers.
Commands:
catalog List available MCP servers in the catalog (--json for raw output)
install Install an MCP package into its own virtual environment
installed List all installed MCP servers and their current status
connect Print connection JSON config for Claude Desktop / Cursor
remove Uninstall a package (--purge-data to remove local weights/data)
generate Scaffold a new FastMCP server project
http Manage persistent HTTP background services (start / stop)
mcp Run the OctopusMCP Meta-Server over stdio
{
"mcpServers": {
"echo-lab": {
"command": "/home/user/.local/share/OctopusMCP/servers/echo-lab/releases/0.1.0/venv/bin/python",
"args": ["-m", "echo_lab"]
}
}
}Navigate to Cursor Settings → MCP → Add New MCP Server:
- Name:
echo-lab - Type:
command - Command:
~/.local/share/OctopusMCP/servers/echo-lab/releases/0.1.0/venv/bin/python -m echo_lab
{
"mcpServers": {
"echo-lab-http": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}┌─────────────────────────────────────────────────────────────────────────┐
│ OctopusMCP Desktop Frontend │
│ (Frameless Fluent UI, Command Palette, Dark/Light) │
└────────────────────────────────────┬────────────────────────────────────┘
│ ContextBridge (IPC JSON-Lines)
┌────────────────────────────────────▼────────────────────────────────────┐
│ Electron Main Supervisor (Node.js) │
│ - Process lifecycle, strict CSP, native window controls │
└────────────────────────────────────┬────────────────────────────────────┘
│ Stdio JSON-RPC Bridge
┌────────────────────────────────────▼────────────────────────────────────┐
│ Python Sidecar Engine (FastMCP) │
│ - Catalog Manager - Environment Isolation Engine - SQLite Registry │
│ - Process Monitor - Dynamic Port Broker - Code Scaffolder │
└────────────────────────────────────┬────────────────────────────────────┘
│ Spawns & Supervises
┌───────────────────────────┴───────────────────────────┐
▼ ▼
┌───────────────────────────────┐ ┌───────────────────────────────┐
│ MCP Server #1 │ │ MCP Server #2 │
│ (Isolated Venv + Stdio) │ │ (Supervised HTTP Daemon) │
└───────────────────────────────┘ └───────────────────────────────┘
- Zero Cloud Telemetry: 100% offline-first; all configurations and data stay on your local disk.
- Strict Chromium Sandbox: Content Security Policy (
default-src 'self'), context isolation enabled, node integration strictly disabled. - Confirmation Guards: Mutating actions triggered via AI Meta-MCP require explicit confirmation flags (
confirm=true).
Package standalone native desktop binaries for Linux, Windows, and macOS:
# Freeze the Python sidecar backend with PyInstaller
npm run build:python
# Package Electron desktop application
npm run package
# Build native installers (.deb, .rpm, .zip, .exe)
npm run makeOctopusMCP is tested across Python backend and Electron frontend layers:
# Run Python backend unit and integration tests
npm run test:python
# Run Electron security and preload bridge tests
npm run testWe love community contributions! To add a new server to the official catalog:
- Create a manifest JSON under
catalog/packages/<your-server-id>.json. - Define package metadata, required Python dependencies, entrypoint, and default environment variables.
- Submit a Pull Request!
Distributed under the Apache 2.0 License. See LICENSE for details.
