Install
$ agentstack add mcp-airano-ir-mcphub ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
MCP Hub
The AI-native management hub for WordPress, WooCommerce, and self-hosted services.
Connect your sites, stores, repos, and databases — manage them all through Claude, ChatGPT, Cursor, or any MCP client.
[](https://github.com/airano-ir/mcphub/releases) [](LICENSE) [](https://www.python.org/) [](https://pypi.org/project/mcphub-server/) [](https://hub.docker.com/r/airano/mcphub) []() [](https://github.com/airano-ir/mcphub/actions/workflows/ci.yml)
Why MCP Hub?
WordPress powers 43% of the web. WooCommerce runs 36% of online stores. Yet no MCP server existed for managing them through AI — until now.
MCP Hub is the first MCP server that lets you manage WordPress, WooCommerce, and 8 other self-hosted services through any AI assistant. Instead of clicking through dashboards, just tell your AI what to do:
> "Update the SEO meta description for all WooCommerce products that don't have one" > > "Create a new blog post about our Black Friday sale and schedule it for next Monday" > > "Check the health of all 12 WordPress sites and report any with slow response times"
What Makes MCP Hub Different
| Feature | ManageWP | MainWP | AI Content Plugins | MCP Hub | |---------|----------|--------|---------------------|-------------| | Multi-site management | Yes | Yes | No | Yes | | AI agent integration | No | No | No | Native (MCP) | | Full WordPress API | Dashboard | Dashboard | Content only | 67 tools | | WooCommerce management | No | Limited | No | 28 tools | | Git/CI management | No | No | No | 65 tools (Gitea) | | Automation workflows | No | No | No | 56 tools (n8n) | | Self-hosted | No | Yes | N/A | Yes | | Open source | No | Core only | Varies | Fully open | | Price | $0.70-8/site/mo | $29-79/yr | $19-79/mo | Free |
8 Public Plugins, Hundreds of Tools
The exact tool count grows as new plugins ship and existing ones gain endpoints. What you actually expose is controlled by your ENABLED_PLUGINS setting and per-key scope — pick a plugin-specific endpoint to keep the surface area small.
| Plugin | Approx. Tools | What You Can Do | |--------|---------------:|-----------------| | WordPress | ~70 | Posts, pages, media (incl. AI image generation), users, menus, taxonomies, SEO (Rank Math/Yoast) | | WooCommerce | ~30 | Products, orders, customers, coupons, reports, shipping | | WordPress Specialist | ~50 | Plugins, themes, users, options, cron, page editing, site config + layout, db inspection, bulk fan-out (companion-backed; no Docker socket) | | Gitea | ~65 | Repos, issues, pull requests, releases, webhooks, organizations, labels, batch files, tree, search, compare | | n8n | ~55 | Workflows, executions, credentials, variables, audit | | Supabase | ~70 | Database, auth, storage, edge functions, realtime | | OpenPanel | ~40 | Events, export, insights, profiles, projects, system | | Coolify | ~65 | Applications, deployments, servers, projects, databases, services | | System | ~25 | Health monitoring, API keys, OAuth management, audit |
> Per-site duplication does not inflate the tool count — adding a second > WordPress site reuses the same WordPress tools with a different site argument.
Quick Start
Option 1: Docker (Recommended)
git clone https://github.com/airano-ir/mcphub.git
cd mcphub
cp env.example .env
# Edit .env — set MASTER_API_KEY, then add sites via the web dashboard
docker compose up -d
Option 2: Docker Hub (No Clone)
# Create a .env file with MASTER_API_KEY (see "Configure Your Sites" below)
docker run -d --name mcphub -p 8000:8000 --env-file .env airano/mcphub:latest
Option 3: From Source
git clone https://github.com/airano-ir/mcphub.git
cd mcphub
pip install -e .
cp env.example .env
# Edit .env — set MASTER_API_KEY
python server.py --transport streamable-http --port 8000
Verify It Works
After starting the server, wait ~30 seconds then:
# Check server health
curl http://localhost:8000/health
Open the web dashboard in your browser: http://localhost:8000/dashboard
You should see the login page. Log in with your MASTER_API_KEY or via GitHub/Google OAuth (if configured).
Try It Now (No Setup Required)
Don't want to self-host? Use the hosted instance at mcp.example.com:
- Log in with GitHub or Google
- Add your sites via the dashboard (My Sites → Add Service)
- Go to Connect page — generate config for your AI client
- Copy-paste the config into Claude Desktop, VS Code, or Claude Code
Your personal MCP endpoint: https://mcp.example.com/u/{your-user-id}/{alias}/mcp
Configure Your Sites
Sites are managed via the web dashboard — no environment variables needed.
- Set
MASTER_API_KEYin your.envfile - Start the server and open the dashboard
- Add sites with their credentials (URL, username, password/token)
# .env — only system configuration needed
MASTER_API_KEY=your-secure-key-here
Full Environment Variable Reference
System Configuration:
| Variable | Required | Default | Description | |----------|----------|---------|-------------| | MASTER_API_KEY | Recommended | Auto-generated | Master API key for admin access | | LOG_LEVEL | No | INFO | Logging level (DEBUG, INFO, WARNING, ERROR) | | ENCRYPTION_KEY | For Live Platform | — | AES-256-GCM key for credential encryption | | OAUTH_JWT_SECRET_KEY | For OAuth | — | JWT secret for ChatGPT auto-registration (not needed for Claude/Cursor) | | OAUTH_BASE_URL | For OAuth | — | Public URL of your server (not needed for Claude/Cursor) |
> OAuth is only needed for ChatGPT Remote MCP auto-registration. For Claude Desktop, Claude Code, Cursor, and VS Code — just use MASTER_API_KEY with Bearer token auth.
Plugin Credential Reference — when adding sites via dashboard, you'll need:
| Plugin | Required Credentials | Notes | |--------|---------------------|-------| | WordPress | URL, Username, App Password | How to create App Password | | WooCommerce | URL, Consumer Key, Consumer Secret | WooCommerce → Settings → Advanced → REST API | | WordPress Specialist | URL, Username, App Password | Requires [Airano MCP Bridge v2.18.0+](wordpress-plugin/airano-mcp-bridge.zip) on the WP site; user must have manage_options | | Gitea | URL, Token | Settings → Applications → Personal Access Token | | n8n | URL, API Key | Settings → API → Create API Key | | Supabase | URL, Service Role Key | Supabase Dashboard → Settings → API | | OpenPanel | URL, Client ID, Client Secret | OpenPanel Dashboard → Project Settings |
Connect Your AI Client
All MCP clients use Bearer token authentication: Authorization: Bearer YOUR_API_KEY
> Use a plugin-specific endpoint (e.g., /wordpress/mcp) instead of /mcp to reduce tool count and save tokens. See [Architecture](#architecture) below.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"mcphub-wordpress": {
"type": "streamableHttp",
"url": "http://your-server:8000/wordpress/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Code
Add to .mcp.json in your project:
{
"mcpServers": {
"mcphub-wordpress": {
"type": "http",
"url": "http://your-server:8000/wordpress/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Cursor
Go to Settings > MCP Servers > Add Server:
- Name: MCP Hub WordPress
- URL:
http://your-server:8000/wordpress/mcp - Headers:
Authorization: Bearer YOUR_API_KEY
VS Code + Copilot
Add to .vscode/mcp.json:
{
"servers": {
"mcphub-wordpress": {
"type": "http",
"url": "http://your-server:8000/wordpress/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
ChatGPT (Remote MCP)
MCP Hub supports Open Dynamic Client Registration (RFC 7591). ChatGPT can auto-register as an OAuth client:
- Deploy MCP Hub with
OAUTH_BASE_URLset - In ChatGPT, add MCP server:
https://your-server:8000/mcp - ChatGPT auto-discovers OAuth metadata and registers
> Transport types: Use "type": "streamableHttp" for Claude Desktop and "type": "http" for VS Code/Claude Code. Using "type": "sse" will cause 400 Bad Request errors.
Architecture
/mcp → Admin endpoint (every enabled tool)
/system/mcp → System tools only
/wordpress/mcp → WordPress tools
/woocommerce/mcp → WooCommerce tools
/wordpress-specialist/mcp → WordPress Specialist tools (companion-backed)
/gitea/mcp → Gitea tools
/n8n/mcp → n8n tools
/supabase/mcp → Supabase tools
/openpanel/mcp → OpenPanel tools
/coolify/mcp → Coolify tools
/project/{alias}/mcp → Per-project endpoint (auto-injects site)
/u/{user_id}/{alias}/mcp → Per-user endpoint (hosted/OAuth users)
Recommendation: Use plugin-specific endpoints instead of the all-tools /mcp admin endpoint to keep your AI client's tool window small (and your token bill lower).
| Endpoint | Use Case | |----------|----------| | /u/{user_id}/{alias}/mcp | Hosted users (OAuth login) — single service | | /project/{alias}/mcp | Single-site workflow (recommended) | | /{plugin}/mcp | Multi-site management for one service | | /mcp | Admin & discovery only — every enabled tool |
Security
- OAuth 2.1 + PKCE (RFC 8414, 7591, 7636) with auto-registration for Claude/ChatGPT
- Per-project API keys with scoped permissions (read/write/admin)
- Rate limiting: 60/min, 1,000/hr, 10,000/day per client
- GDPR-compliant audit logging with automatic sensitive data filtering
- Web dashboard with real-time health monitoring (8 pages, EN/FA i18n)
> Compatibility Note: MCP Hub requires FastMCP 3.x (>=3.0.0,<4.0.0). The legacy multi-endpoint server and ProjectManager have been removed in v3.5.0.
WordPress Plugin Requirements
Some MCP Hub tools require companion WordPress plugins:
| Tools | Requirement | |-------|-------------| | SEO + capability/audit tools (wordpress_get_post_seo, capability probe, audit hook, etc.) | Airano MCP Bridge ([GitHub](wordpress-plugin/airano-mcp-bridge/)) + Rank Math or Yoast SEO | | WP-CLI tools (15 tools: wp_cache_*, wp_db_*, etc.) | Docker socket + CONTAINER config | | WordPress Specialist (~50 tools: plugins / themes / users / options / cron / page editing / site config + layout / db inspection / bulk fan-out) | [Airano MCP Bridge v2.18.0+](wordpress-plugin/airano-mcp-bridge.zip) (no Docker socket needed) | | OpenPanel analytics integration | [OpenPanel Self-Hosted](wordpress-plugin/openpanel-self-hosted/) ([Download ZIP](wordpress-plugin/openpanel-self-hosted.zip)) | | WooCommerce tools | WooCommerce plugin installed on your WordPress site |
Docker socket is needed for the legacy WP-CLI tools (15 helpers under wordpress_wp_*). Everything in wordpress_specialist works without it. Add to your docker-compose:
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
Set the container field when adding a WordPress site in the dashboard. Without Docker socket, WP-CLI tools return "not available" but all REST API tools work normally.
Documentation
| Guide | Description | |-------|-------------| | [Getting Started](docs/getting-started.md) | Full setup walkthrough | | [Architecture](docs/ARCHITECTURE.md) | System design and module reference | | [API Keys Guide](docs/APIKEYSGUIDE.md) | Per-project API key management | | [OAuth Guide](docs/OAUTHGUIDE.md) | OAuth 2.1 setup for Claude/ChatGPT | | [Gitea Guide](docs/GITEAGUIDE.md) | Gitea plugin configuration | | [Deployment Guide](docs/DEPLOYMENTGUIDE.md) | Docker and Coolify deployment | | [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions | | [Plugin Development](docs/PLUGINDEVELOPMENT.md) | Build your own plugin |
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format and lint
black . && ruff check --fix .
# Run server locally
python server.py --transport streamable-http --port 8000
Support This Project
MCP Hub is free and open-source. Development is funded by community donations.
Donate with Crypto (NOWPayments) — Global, no geographic restrictions.
| Goal | Monthly | Enables | |------|---------|---------| | Infrastructure | $50/mo | Demo hosting, CI/CD, domain | | Part-time maintenance | $500/mo | Updates, security patches, issue triage | | Active development | $2,000/mo | New plugins, features, community support |
Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
Priority areas:
- New plugin development
- Client setup guides
- Workflow templates and examples
- Test coverage expansion
- Translations (i18n)
License
MIT License. See [LICENSE](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: airano-ir
- Source: airano-ir/mcphub
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.