mcphub-server 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. mcphub_server-3.0.0/LICENSE +21 -0
  2. mcphub_server-3.0.0/PKG-INFO +343 -0
  3. mcphub_server-3.0.0/README.md +296 -0
  4. mcphub_server-3.0.0/core/__init__.py +103 -0
  5. mcphub_server-3.0.0/core/api_keys.py +499 -0
  6. mcphub_server-3.0.0/core/audit_log.py +565 -0
  7. mcphub_server-3.0.0/core/auth.py +126 -0
  8. mcphub_server-3.0.0/core/context.py +40 -0
  9. mcphub_server-3.0.0/core/dashboard/__init__.py +75 -0
  10. mcphub_server-3.0.0/core/dashboard/auth.py +278 -0
  11. mcphub_server-3.0.0/core/dashboard/routes.py +2075 -0
  12. mcphub_server-3.0.0/core/endpoints/__init__.py +63 -0
  13. mcphub_server-3.0.0/core/endpoints/config.py +350 -0
  14. mcphub_server-3.0.0/core/endpoints/factory.py +295 -0
  15. mcphub_server-3.0.0/core/endpoints/middleware.py +350 -0
  16. mcphub_server-3.0.0/core/endpoints/registry.py +226 -0
  17. mcphub_server-3.0.0/core/health.py +683 -0
  18. mcphub_server-3.0.0/core/i18n.py +194 -0
  19. mcphub_server-3.0.0/core/middleware/__init__.py +12 -0
  20. mcphub_server-3.0.0/core/oauth/__init__.py +65 -0
  21. mcphub_server-3.0.0/core/oauth/client_registry.py +154 -0
  22. mcphub_server-3.0.0/core/oauth/csrf.py +123 -0
  23. mcphub_server-3.0.0/core/oauth/pkce.py +91 -0
  24. mcphub_server-3.0.0/core/oauth/schemas.py +145 -0
  25. mcphub_server-3.0.0/core/oauth/server.py +396 -0
  26. mcphub_server-3.0.0/core/oauth/storage.py +221 -0
  27. mcphub_server-3.0.0/core/oauth/token_manager.py +313 -0
  28. mcphub_server-3.0.0/core/project_manager.py +245 -0
  29. mcphub_server-3.0.0/core/rate_limiter.py +414 -0
  30. mcphub_server-3.0.0/core/site_manager.py +539 -0
  31. mcphub_server-3.0.0/core/site_registry.py +371 -0
  32. mcphub_server-3.0.0/core/tool_generator.py +511 -0
  33. mcphub_server-3.0.0/core/tool_registry.py +228 -0
  34. mcphub_server-3.0.0/core/unified_tools.py +362 -0
  35. mcphub_server-3.0.0/mcphub_server.egg-info/PKG-INFO +343 -0
  36. mcphub_server-3.0.0/mcphub_server.egg-info/SOURCES.txt +174 -0
  37. mcphub_server-3.0.0/mcphub_server.egg-info/dependency_links.txt +1 -0
  38. mcphub_server-3.0.0/mcphub_server.egg-info/entry_points.txt +2 -0
  39. mcphub_server-3.0.0/mcphub_server.egg-info/requires.txt +20 -0
  40. mcphub_server-3.0.0/mcphub_server.egg-info/top_level.txt +2 -0
  41. mcphub_server-3.0.0/plugins/__init__.py +50 -0
  42. mcphub_server-3.0.0/plugins/appwrite/__init__.py +6 -0
  43. mcphub_server-3.0.0/plugins/appwrite/client.py +1611 -0
  44. mcphub_server-3.0.0/plugins/appwrite/handlers/__init__.py +29 -0
  45. mcphub_server-3.0.0/plugins/appwrite/handlers/databases.py +809 -0
  46. mcphub_server-3.0.0/plugins/appwrite/handlers/documents.py +752 -0
  47. mcphub_server-3.0.0/plugins/appwrite/handlers/functions.py +629 -0
  48. mcphub_server-3.0.0/plugins/appwrite/handlers/messaging.py +579 -0
  49. mcphub_server-3.0.0/plugins/appwrite/handlers/storage.py +685 -0
  50. mcphub_server-3.0.0/plugins/appwrite/handlers/system.py +298 -0
  51. mcphub_server-3.0.0/plugins/appwrite/handlers/teams.py +374 -0
  52. mcphub_server-3.0.0/plugins/appwrite/handlers/users.py +384 -0
  53. mcphub_server-3.0.0/plugins/appwrite/plugin.py +166 -0
  54. mcphub_server-3.0.0/plugins/base.py +290 -0
  55. mcphub_server-3.0.0/plugins/directus/__init__.py +6 -0
  56. mcphub_server-3.0.0/plugins/directus/client.py +1335 -0
  57. mcphub_server-3.0.0/plugins/directus/handlers/__init__.py +38 -0
  58. mcphub_server-3.0.0/plugins/directus/handlers/access.py +466 -0
  59. mcphub_server-3.0.0/plugins/directus/handlers/automation.py +573 -0
  60. mcphub_server-3.0.0/plugins/directus/handlers/collections.py +544 -0
  61. mcphub_server-3.0.0/plugins/directus/handlers/content.py +370 -0
  62. mcphub_server-3.0.0/plugins/directus/handlers/dashboards.py +332 -0
  63. mcphub_server-3.0.0/plugins/directus/handlers/files.py +406 -0
  64. mcphub_server-3.0.0/plugins/directus/handlers/items.py +576 -0
  65. mcphub_server-3.0.0/plugins/directus/handlers/system.py +259 -0
  66. mcphub_server-3.0.0/plugins/directus/handlers/users.py +357 -0
  67. mcphub_server-3.0.0/plugins/directus/plugin.py +166 -0
  68. mcphub_server-3.0.0/plugins/gitea/__init__.py +9 -0
  69. mcphub_server-3.0.0/plugins/gitea/client.py +451 -0
  70. mcphub_server-3.0.0/plugins/gitea/handlers/__init__.py +15 -0
  71. mcphub_server-3.0.0/plugins/gitea/handlers/issues.py +516 -0
  72. mcphub_server-3.0.0/plugins/gitea/handlers/pull_requests.py +629 -0
  73. mcphub_server-3.0.0/plugins/gitea/handlers/repositories.py +709 -0
  74. mcphub_server-3.0.0/plugins/gitea/handlers/users.py +245 -0
  75. mcphub_server-3.0.0/plugins/gitea/handlers/webhooks.py +216 -0
  76. mcphub_server-3.0.0/plugins/gitea/plugin.py +161 -0
  77. mcphub_server-3.0.0/plugins/gitea/schemas/__init__.py +127 -0
  78. mcphub_server-3.0.0/plugins/gitea/schemas/common.py +73 -0
  79. mcphub_server-3.0.0/plugins/gitea/schemas/issue.py +184 -0
  80. mcphub_server-3.0.0/plugins/gitea/schemas/pull_request.py +215 -0
  81. mcphub_server-3.0.0/plugins/gitea/schemas/repository.py +196 -0
  82. mcphub_server-3.0.0/plugins/gitea/schemas/user.py +98 -0
  83. mcphub_server-3.0.0/plugins/gitea/schemas/webhook.py +163 -0
  84. mcphub_server-3.0.0/plugins/n8n/__init__.py +6 -0
  85. mcphub_server-3.0.0/plugins/n8n/client.py +401 -0
  86. mcphub_server-3.0.0/plugins/n8n/handlers/__init__.py +23 -0
  87. mcphub_server-3.0.0/plugins/n8n/handlers/credentials.py +161 -0
  88. mcphub_server-3.0.0/plugins/n8n/handlers/executions.py +437 -0
  89. mcphub_server-3.0.0/plugins/n8n/handlers/projects.py +228 -0
  90. mcphub_server-3.0.0/plugins/n8n/handlers/system.py +150 -0
  91. mcphub_server-3.0.0/plugins/n8n/handlers/tags.py +160 -0
  92. mcphub_server-3.0.0/plugins/n8n/handlers/users.py +167 -0
  93. mcphub_server-3.0.0/plugins/n8n/handlers/variables.py +186 -0
  94. mcphub_server-3.0.0/plugins/n8n/handlers/workflows.py +680 -0
  95. mcphub_server-3.0.0/plugins/n8n/plugin.py +145 -0
  96. mcphub_server-3.0.0/plugins/openpanel/__init__.py +14 -0
  97. mcphub_server-3.0.0/plugins/openpanel/client.py +1027 -0
  98. mcphub_server-3.0.0/plugins/openpanel/handlers/__init__.py +44 -0
  99. mcphub_server-3.0.0/plugins/openpanel/handlers/clients.py +244 -0
  100. mcphub_server-3.0.0/plugins/openpanel/handlers/dashboards.py +455 -0
  101. mcphub_server-3.0.0/plugins/openpanel/handlers/events.py +671 -0
  102. mcphub_server-3.0.0/plugins/openpanel/handlers/export.py +900 -0
  103. mcphub_server-3.0.0/plugins/openpanel/handlers/funnels.py +378 -0
  104. mcphub_server-3.0.0/plugins/openpanel/handlers/profiles.py +441 -0
  105. mcphub_server-3.0.0/plugins/openpanel/handlers/projects.py +334 -0
  106. mcphub_server-3.0.0/plugins/openpanel/handlers/reports.py +527 -0
  107. mcphub_server-3.0.0/plugins/openpanel/handlers/system.py +259 -0
  108. mcphub_server-3.0.0/plugins/openpanel/handlers/utils.py +27 -0
  109. mcphub_server-3.0.0/plugins/openpanel/plugin.py +186 -0
  110. mcphub_server-3.0.0/plugins/supabase/__init__.py +6 -0
  111. mcphub_server-3.0.0/plugins/supabase/client.py +676 -0
  112. mcphub_server-3.0.0/plugins/supabase/handlers/__init__.py +23 -0
  113. mcphub_server-3.0.0/plugins/supabase/handlers/admin.py +625 -0
  114. mcphub_server-3.0.0/plugins/supabase/handlers/auth.py +540 -0
  115. mcphub_server-3.0.0/plugins/supabase/handlers/database.py +940 -0
  116. mcphub_server-3.0.0/plugins/supabase/handlers/functions.py +383 -0
  117. mcphub_server-3.0.0/plugins/supabase/handlers/storage.py +484 -0
  118. mcphub_server-3.0.0/plugins/supabase/handlers/system.py +342 -0
  119. mcphub_server-3.0.0/plugins/supabase/plugin.py +156 -0
  120. mcphub_server-3.0.0/plugins/woocommerce/__init__.py +19 -0
  121. mcphub_server-3.0.0/plugins/woocommerce/plugin.py +226 -0
  122. mcphub_server-3.0.0/plugins/wordpress/__init__.py +5 -0
  123. mcphub_server-3.0.0/plugins/wordpress/client.py +448 -0
  124. mcphub_server-3.0.0/plugins/wordpress/handlers/__init__.py +72 -0
  125. mcphub_server-3.0.0/plugins/wordpress/handlers/comments.py +365 -0
  126. mcphub_server-3.0.0/plugins/wordpress/handlers/coupons.py +495 -0
  127. mcphub_server-3.0.0/plugins/wordpress/handlers/customers.py +373 -0
  128. mcphub_server-3.0.0/plugins/wordpress/handlers/media.py +418 -0
  129. mcphub_server-3.0.0/plugins/wordpress/handlers/menus.py +401 -0
  130. mcphub_server-3.0.0/plugins/wordpress/handlers/orders.py +449 -0
  131. mcphub_server-3.0.0/plugins/wordpress/handlers/posts.py +1156 -0
  132. mcphub_server-3.0.0/plugins/wordpress/handlers/products.py +1425 -0
  133. mcphub_server-3.0.0/plugins/wordpress/handlers/reports.py +299 -0
  134. mcphub_server-3.0.0/plugins/wordpress/handlers/seo.py +617 -0
  135. mcphub_server-3.0.0/plugins/wordpress/handlers/site.py +243 -0
  136. mcphub_server-3.0.0/plugins/wordpress/handlers/taxonomy.py +689 -0
  137. mcphub_server-3.0.0/plugins/wordpress/handlers/users.py +134 -0
  138. mcphub_server-3.0.0/plugins/wordpress/handlers/wp_cli.py +520 -0
  139. mcphub_server-3.0.0/plugins/wordpress/plugin.py +390 -0
  140. mcphub_server-3.0.0/plugins/wordpress/plugin_old_backup.py +5784 -0
  141. mcphub_server-3.0.0/plugins/wordpress/schemas/__init__.py +68 -0
  142. mcphub_server-3.0.0/plugins/wordpress/schemas/common.py +45 -0
  143. mcphub_server-3.0.0/plugins/wordpress/schemas/media.py +56 -0
  144. mcphub_server-3.0.0/plugins/wordpress/schemas/order.py +152 -0
  145. mcphub_server-3.0.0/plugins/wordpress/schemas/post.py +102 -0
  146. mcphub_server-3.0.0/plugins/wordpress/schemas/product.py +140 -0
  147. mcphub_server-3.0.0/plugins/wordpress/schemas/seo.py +80 -0
  148. mcphub_server-3.0.0/plugins/wordpress/wp_cli.py +1263 -0
  149. mcphub_server-3.0.0/plugins/wordpress_advanced/__init__.py +12 -0
  150. mcphub_server-3.0.0/plugins/wordpress_advanced/handlers/__init__.py +26 -0
  151. mcphub_server-3.0.0/plugins/wordpress_advanced/handlers/bulk.py +687 -0
  152. mcphub_server-3.0.0/plugins/wordpress_advanced/handlers/database.py +589 -0
  153. mcphub_server-3.0.0/plugins/wordpress_advanced/handlers/system.py +580 -0
  154. mcphub_server-3.0.0/plugins/wordpress_advanced/plugin.py +263 -0
  155. mcphub_server-3.0.0/plugins/wordpress_advanced/schemas/__init__.py +34 -0
  156. mcphub_server-3.0.0/plugins/wordpress_advanced/schemas/bulk.py +250 -0
  157. mcphub_server-3.0.0/plugins/wordpress_advanced/schemas/database.py +173 -0
  158. mcphub_server-3.0.0/plugins/wordpress_advanced/schemas/system.py +140 -0
  159. mcphub_server-3.0.0/pyproject.toml +257 -0
  160. mcphub_server-3.0.0/setup.cfg +4 -0
  161. mcphub_server-3.0.0/tests/test_api_keys.py +376 -0
  162. mcphub_server-3.0.0/tests/test_auth.py +115 -0
  163. mcphub_server-3.0.0/tests/test_auth_logic.py +181 -0
  164. mcphub_server-3.0.0/tests/test_community_build.py +270 -0
  165. mcphub_server-3.0.0/tests/test_dashboard.py +348 -0
  166. mcphub_server-3.0.0/tests/test_oauth_client_registry.py +74 -0
  167. mcphub_server-3.0.0/tests/test_oauth_integration.py +339 -0
  168. mcphub_server-3.0.0/tests/test_oauth_pkce.py +50 -0
  169. mcphub_server-3.0.0/tests/test_oauth_schemas.py +44 -0
  170. mcphub_server-3.0.0/tests/test_oauth_storage.py +71 -0
  171. mcphub_server-3.0.0/tests/test_oauth_token_manager.py +78 -0
  172. mcphub_server-3.0.0/tests/test_rate_limiter.py +166 -0
  173. mcphub_server-3.0.0/tests/test_site_manager.py +239 -0
  174. mcphub_server-3.0.0/tests/test_tool_registry.py +183 -0
  175. mcphub_server-3.0.0/tests/test_woocommerce_plugin.py +303 -0
  176. mcphub_server-3.0.0/tests/test_wordpress_plugin.py +535 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 MCP Hub Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,343 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcphub-server
3
+ Version: 3.0.0
4
+ Summary: AI-native management hub for WordPress, WooCommerce, and self-hosted services via Model Context Protocol (MCP)
5
+ Author-email: MCP Hub <contact@mcphub.dev>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/airano-ir/mcphub
8
+ Project-URL: Repository, https://github.com/airano-ir/mcphub
9
+ Project-URL: Documentation, https://github.com/airano-ir/mcphub#readme
10
+ Project-URL: Issues, https://github.com/airano-ir/mcphub/issues
11
+ Project-URL: Changelog, https://github.com/airano-ir/mcphub/releases
12
+ Keywords: mcp,wordpress,woocommerce,ai,self-hosted,gitea,n8n,supabase,appwrite,directus,model-context-protocol,claude,automation
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: System Administrators
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: System :: Systems Administration
23
+ Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
24
+ Requires-Python: >=3.11
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: fastmcp<3.0.0,>=2.14.0
28
+ Requires-Dist: httpx>=0.25.0
29
+ Requires-Dist: aiohttp>=3.9.0
30
+ Requires-Dist: pydantic>=2.5.0
31
+ Requires-Dist: python-dotenv>=1.0.0
32
+ Requires-Dist: docker>=7.0.0
33
+ Requires-Dist: authlib>=1.5.0
34
+ Requires-Dist: PyJWT>=2.8.0
35
+ Requires-Dist: cryptography>=46.0.0
36
+ Requires-Dist: jinja2>=3.1.2
37
+ Provides-Extra: dev
38
+ Requires-Dist: pytest>=7.4.0; extra == "dev"
39
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
40
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
41
+ Requires-Dist: pytest-mock>=3.11.0; extra == "dev"
42
+ Requires-Dist: black>=24.1.0; extra == "dev"
43
+ Requires-Dist: ruff>=0.1.0; extra == "dev"
44
+ Requires-Dist: mypy>=1.7.0; extra == "dev"
45
+ Requires-Dist: pre-commit>=3.5.0; extra == "dev"
46
+ Dynamic: license-file
47
+
48
+ # MCP Hub
49
+
50
+ <div align="center">
51
+
52
+ **The AI-native management hub for WordPress, WooCommerce, and self-hosted services.**
53
+
54
+ Connect your sites, stores, repos, and databases — manage them all through Claude, ChatGPT, Cursor, or any MCP client.
55
+
56
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
57
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-3776ab.svg)](https://www.python.org/)
58
+ [![Tests: 289 passing](https://img.shields.io/badge/tests-289%20passing-brightgreen.svg)]()
59
+ [![Tools: 589](https://img.shields.io/badge/tools-589-orange.svg)]()
60
+ [![CI](https://github.com/airano-ir/mcphub/actions/workflows/ci.yml/badge.svg)](https://github.com/airano-ir/mcphub/actions/workflows/ci.yml)
61
+
62
+ </div>
63
+
64
+ ---
65
+
66
+ ## Why MCP Hub?
67
+
68
+ WordPress powers 43% of the web. WooCommerce runs 36% of online stores. Yet **no MCP server existed** for managing them through AI — until now.
69
+
70
+ MCP Hub is the first MCP server that lets you manage WordPress, WooCommerce, and 7 other self-hosted services through any AI assistant. Instead of clicking through dashboards, just tell your AI what to do:
71
+
72
+ > *"Update the SEO meta description for all WooCommerce products that don't have one"*
73
+ >
74
+ > *"Create a new blog post about our Black Friday sale and schedule it for next Monday"*
75
+ >
76
+ > *"Check the health of all 12 WordPress sites and report any with slow response times"*
77
+
78
+ ### What Makes MCP Hub Different
79
+
80
+ | Feature | ManageWP | MainWP | AI Content Plugins | **MCP Hub** |
81
+ |---------|----------|--------|---------------------|-------------|
82
+ | Multi-site management | Yes | Yes | No | **Yes** |
83
+ | AI agent integration | No | No | No | **Native (MCP)** |
84
+ | Full WordPress API | Dashboard | Dashboard | Content only | **67 tools** |
85
+ | WooCommerce management | No | Limited | No | **28 tools** |
86
+ | Git/CI management | No | No | No | **56 tools (Gitea)** |
87
+ | Automation workflows | No | No | No | **56 tools (n8n)** |
88
+ | Self-hosted | No | Yes | N/A | **Yes** |
89
+ | Open source | No | Core only | Varies | **Fully open** |
90
+ | Price | $0.70-8/site/mo | $29-79/yr | $19-79/mo | **Free** |
91
+
92
+ ---
93
+
94
+ ## 589 Tools Across 9 Plugins
95
+
96
+ | Plugin | Tools | What You Can Do |
97
+ |--------|-------|-----------------|
98
+ | **WordPress** | 67 | Posts, pages, media, users, menus, taxonomies, SEO (Rank Math/Yoast) |
99
+ | **WooCommerce** | 28 | Products, orders, customers, coupons, reports, shipping |
100
+ | **WordPress Advanced** | 22 | Database ops, bulk operations, WP-CLI, system management |
101
+ | **Gitea** | 56 | Repos, issues, pull requests, releases, webhooks, organizations |
102
+ | **n8n** | 56 | Workflows, executions, credentials, variables, audit |
103
+ | **Supabase** | 70 | Database, auth, storage, edge functions, realtime |
104
+ | **OpenPanel** | 73 | Events, funnels, profiles, dashboards, projects |
105
+ | **Appwrite** | 100 | Databases, auth, storage, functions, teams, messaging |
106
+ | **Directus** | 100 | Collections, items, users, files, flows, permissions |
107
+ | **System** | 17 | Health monitoring, API keys, project discovery |
108
+ | **Total** | **589** | Constant count — scales to unlimited sites |
109
+
110
+ ---
111
+
112
+ ## Quick Start
113
+
114
+ ### Option 1: Docker (Recommended)
115
+
116
+ ```bash
117
+ git clone https://github.com/airano-ir/mcphub.git
118
+ cd mcphub
119
+ cp env.example .env
120
+ # Edit .env with your site credentials
121
+ docker compose up -d
122
+ ```
123
+
124
+ ### Option 2: Python
125
+
126
+ ```bash
127
+ git clone https://github.com/airano-ir/mcphub.git
128
+ cd mcphub
129
+ pip install -e .
130
+ cp env.example .env
131
+ # Edit .env with your site credentials
132
+ python server.py --transport sse --port 8000
133
+ ```
134
+
135
+ ### Configure Your Sites
136
+
137
+ Add site credentials to `.env`:
138
+
139
+ ```bash
140
+ # Master API Key (required)
141
+ MASTER_API_KEY=your-secure-key-here
142
+
143
+ # WordPress Site
144
+ WORDPRESS_SITE1_URL=https://myblog.com
145
+ WORDPRESS_SITE1_USERNAME=admin
146
+ WORDPRESS_SITE1_APP_PASSWORD=xxxx xxxx xxxx xxxx
147
+ WORDPRESS_SITE1_ALIAS=myblog
148
+
149
+ # WooCommerce Store
150
+ WOOCOMMERCE_STORE1_URL=https://mystore.com
151
+ WOOCOMMERCE_STORE1_CONSUMER_KEY=ck_xxxxx
152
+ WOOCOMMERCE_STORE1_CONSUMER_SECRET=cs_xxxxx
153
+ WOOCOMMERCE_STORE1_ALIAS=mystore
154
+
155
+ # Gitea Instance
156
+ GITEA_REPO1_URL=https://git.example.com
157
+ GITEA_REPO1_TOKEN=your_gitea_token
158
+ GITEA_REPO1_ALIAS=mygitea
159
+ ```
160
+
161
+ ### Connect Your AI Client
162
+
163
+ <details>
164
+ <summary><b>Claude Desktop</b></summary>
165
+
166
+ Add to `claude_desktop_config.json`:
167
+
168
+ ```json
169
+ {
170
+ "mcpServers": {
171
+ "mcphub": {
172
+ "url": "https://your-server:8000/mcp",
173
+ "headers": {
174
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
175
+ }
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ </details>
182
+
183
+ <details>
184
+ <summary><b>Claude Code</b></summary>
185
+
186
+ Add to `.mcp.json` in your project:
187
+
188
+ ```json
189
+ {
190
+ "mcpServers": {
191
+ "mcphub": {
192
+ "type": "sse",
193
+ "url": "https://your-server:8000/mcp",
194
+ "headers": {
195
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
196
+ }
197
+ }
198
+ }
199
+ }
200
+ ```
201
+
202
+ </details>
203
+
204
+ <details>
205
+ <summary><b>Cursor</b></summary>
206
+
207
+ Go to **Settings > MCP Servers > Add Server**:
208
+
209
+ - **Name**: MCP Hub
210
+ - **URL**: `https://your-server:8000/mcp`
211
+ - **Headers**: `Authorization: Bearer YOUR_MASTER_API_KEY`
212
+
213
+ </details>
214
+
215
+ <details>
216
+ <summary><b>VS Code + Copilot</b></summary>
217
+
218
+ Add to `.vscode/mcp.json`:
219
+
220
+ ```json
221
+ {
222
+ "servers": {
223
+ "mcphub": {
224
+ "type": "sse",
225
+ "url": "https://your-server:8000/mcp",
226
+ "headers": {
227
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
228
+ }
229
+ }
230
+ }
231
+ }
232
+ ```
233
+
234
+ </details>
235
+
236
+ <details>
237
+ <summary><b>ChatGPT (Remote MCP)</b></summary>
238
+
239
+ MCP Hub supports **Open Dynamic Client Registration** (RFC 7591). ChatGPT can auto-register as an OAuth client:
240
+
241
+ 1. Deploy MCP Hub with `OAUTH_BASE_URL` set
242
+ 2. In ChatGPT, add MCP server: `https://your-server:8000/mcp`
243
+ 3. ChatGPT auto-discovers OAuth metadata and registers
244
+
245
+ </details>
246
+
247
+ ---
248
+
249
+ ## Architecture
250
+
251
+ ```
252
+ /mcp → Admin endpoint (all 589 tools)
253
+ /system/mcp → System tools only (17 tools)
254
+ /wordpress/mcp → WordPress tools (67 tools)
255
+ /woocommerce/mcp → WooCommerce tools (28 tools)
256
+ /gitea/mcp → Gitea tools (56 tools)
257
+ /n8n/mcp → n8n tools (56 tools)
258
+ /supabase/mcp → Supabase tools (70 tools)
259
+ /openpanel/mcp → OpenPanel tools (73 tools)
260
+ /appwrite/mcp → Appwrite tools (100 tools)
261
+ /directus/mcp → Directus tools (100 tools)
262
+ /project/{alias}/mcp → Per-project endpoint (auto-injects site)
263
+ ```
264
+
265
+ **Multi-endpoint architecture**: Give each team member or AI agent access to only the tools they need.
266
+
267
+ ### Security
268
+
269
+ - **OAuth 2.1 + PKCE** (RFC 8414, 7591, 7636) with auto-registration for Claude/ChatGPT
270
+ - **Per-project API keys** with scoped permissions (read/write/admin)
271
+ - **Rate limiting**: 60/min, 1,000/hr, 10,000/day per client
272
+ - **GDPR-compliant audit logging** with automatic sensitive data filtering
273
+ - **Web dashboard** with real-time health monitoring (8 pages, EN/FA i18n)
274
+
275
+ > **Compatibility Note**: MCP Hub requires FastMCP 2.x (`>=2.14.0,<3.0.0`). FastMCP 3.0 introduced breaking changes and is not yet supported. If you install dependencies manually, ensure you don't upgrade to FastMCP 3.x.
276
+
277
+ ---
278
+
279
+ ## Documentation
280
+
281
+ | Guide | Description |
282
+ |-------|-------------|
283
+ | [Getting Started](docs/getting-started.md) | Full setup walkthrough |
284
+ | [Architecture](docs/ARCHITECTURE.md) | System design and module reference |
285
+ | [API Keys Guide](docs/API_KEYS_GUIDE.md) | Per-project API key management |
286
+ | [OAuth Guide](docs/OAUTH_GUIDE.md) | OAuth 2.1 setup for Claude/ChatGPT |
287
+ | [Gitea Guide](docs/GITEA_GUIDE.md) | Gitea plugin configuration |
288
+ | [Deployment Guide](docs/DEPLOYMENT_GUIDE.md) | Docker and Coolify deployment |
289
+ | [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions |
290
+ | [Plugin Development](docs/PLUGIN_DEVELOPMENT.md) | Build your own plugin |
291
+
292
+ ---
293
+
294
+ ## Development
295
+
296
+ ```bash
297
+ # Install with dev dependencies
298
+ pip install -e ".[dev]"
299
+
300
+ # Run tests (289 tests)
301
+ pytest
302
+
303
+ # Format and lint
304
+ black . && ruff check --fix .
305
+
306
+ # Run server locally
307
+ python server.py --transport sse --port 8000
308
+ ```
309
+
310
+ ---
311
+
312
+ ## Support This Project
313
+
314
+ MCP Hub is free and open-source. Development is funded by community donations.
315
+
316
+ [**Donate with Crypto (NOWPayments)**](https://nowpayments.io/donation/airano) — Global, no geographic restrictions.
317
+
318
+ | Goal | Monthly | Enables |
319
+ |------|---------|---------|
320
+ | Infrastructure | $50/mo | Demo hosting, CI/CD, domain |
321
+ | Part-time maintenance | $500/mo | Updates, security patches, issue triage |
322
+ | Active development | $2,000/mo | New plugins, features, community support |
323
+
324
+ ---
325
+
326
+ ## Contributing
327
+
328
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
329
+
330
+ **Priority areas:**
331
+ - New plugin development
332
+ - Client setup guides
333
+ - Workflow templates and examples
334
+ - Test coverage expansion
335
+ - Translations (i18n)
336
+
337
+ ---
338
+
339
+ ## License
340
+
341
+ MIT License. See [LICENSE](LICENSE).
342
+
343
+ ---
@@ -0,0 +1,296 @@
1
+ # MCP Hub
2
+
3
+ <div align="center">
4
+
5
+ **The AI-native management hub for WordPress, WooCommerce, and self-hosted services.**
6
+
7
+ Connect your sites, stores, repos, and databases — manage them all through Claude, ChatGPT, Cursor, or any MCP client.
8
+
9
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
10
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-3776ab.svg)](https://www.python.org/)
11
+ [![Tests: 289 passing](https://img.shields.io/badge/tests-289%20passing-brightgreen.svg)]()
12
+ [![Tools: 589](https://img.shields.io/badge/tools-589-orange.svg)]()
13
+ [![CI](https://github.com/airano-ir/mcphub/actions/workflows/ci.yml/badge.svg)](https://github.com/airano-ir/mcphub/actions/workflows/ci.yml)
14
+
15
+ </div>
16
+
17
+ ---
18
+
19
+ ## Why MCP Hub?
20
+
21
+ WordPress powers 43% of the web. WooCommerce runs 36% of online stores. Yet **no MCP server existed** for managing them through AI — until now.
22
+
23
+ MCP Hub is the first MCP server that lets you manage WordPress, WooCommerce, and 7 other self-hosted services through any AI assistant. Instead of clicking through dashboards, just tell your AI what to do:
24
+
25
+ > *"Update the SEO meta description for all WooCommerce products that don't have one"*
26
+ >
27
+ > *"Create a new blog post about our Black Friday sale and schedule it for next Monday"*
28
+ >
29
+ > *"Check the health of all 12 WordPress sites and report any with slow response times"*
30
+
31
+ ### What Makes MCP Hub Different
32
+
33
+ | Feature | ManageWP | MainWP | AI Content Plugins | **MCP Hub** |
34
+ |---------|----------|--------|---------------------|-------------|
35
+ | Multi-site management | Yes | Yes | No | **Yes** |
36
+ | AI agent integration | No | No | No | **Native (MCP)** |
37
+ | Full WordPress API | Dashboard | Dashboard | Content only | **67 tools** |
38
+ | WooCommerce management | No | Limited | No | **28 tools** |
39
+ | Git/CI management | No | No | No | **56 tools (Gitea)** |
40
+ | Automation workflows | No | No | No | **56 tools (n8n)** |
41
+ | Self-hosted | No | Yes | N/A | **Yes** |
42
+ | Open source | No | Core only | Varies | **Fully open** |
43
+ | Price | $0.70-8/site/mo | $29-79/yr | $19-79/mo | **Free** |
44
+
45
+ ---
46
+
47
+ ## 589 Tools Across 9 Plugins
48
+
49
+ | Plugin | Tools | What You Can Do |
50
+ |--------|-------|-----------------|
51
+ | **WordPress** | 67 | Posts, pages, media, users, menus, taxonomies, SEO (Rank Math/Yoast) |
52
+ | **WooCommerce** | 28 | Products, orders, customers, coupons, reports, shipping |
53
+ | **WordPress Advanced** | 22 | Database ops, bulk operations, WP-CLI, system management |
54
+ | **Gitea** | 56 | Repos, issues, pull requests, releases, webhooks, organizations |
55
+ | **n8n** | 56 | Workflows, executions, credentials, variables, audit |
56
+ | **Supabase** | 70 | Database, auth, storage, edge functions, realtime |
57
+ | **OpenPanel** | 73 | Events, funnels, profiles, dashboards, projects |
58
+ | **Appwrite** | 100 | Databases, auth, storage, functions, teams, messaging |
59
+ | **Directus** | 100 | Collections, items, users, files, flows, permissions |
60
+ | **System** | 17 | Health monitoring, API keys, project discovery |
61
+ | **Total** | **589** | Constant count — scales to unlimited sites |
62
+
63
+ ---
64
+
65
+ ## Quick Start
66
+
67
+ ### Option 1: Docker (Recommended)
68
+
69
+ ```bash
70
+ git clone https://github.com/airano-ir/mcphub.git
71
+ cd mcphub
72
+ cp env.example .env
73
+ # Edit .env with your site credentials
74
+ docker compose up -d
75
+ ```
76
+
77
+ ### Option 2: Python
78
+
79
+ ```bash
80
+ git clone https://github.com/airano-ir/mcphub.git
81
+ cd mcphub
82
+ pip install -e .
83
+ cp env.example .env
84
+ # Edit .env with your site credentials
85
+ python server.py --transport sse --port 8000
86
+ ```
87
+
88
+ ### Configure Your Sites
89
+
90
+ Add site credentials to `.env`:
91
+
92
+ ```bash
93
+ # Master API Key (required)
94
+ MASTER_API_KEY=your-secure-key-here
95
+
96
+ # WordPress Site
97
+ WORDPRESS_SITE1_URL=https://myblog.com
98
+ WORDPRESS_SITE1_USERNAME=admin
99
+ WORDPRESS_SITE1_APP_PASSWORD=xxxx xxxx xxxx xxxx
100
+ WORDPRESS_SITE1_ALIAS=myblog
101
+
102
+ # WooCommerce Store
103
+ WOOCOMMERCE_STORE1_URL=https://mystore.com
104
+ WOOCOMMERCE_STORE1_CONSUMER_KEY=ck_xxxxx
105
+ WOOCOMMERCE_STORE1_CONSUMER_SECRET=cs_xxxxx
106
+ WOOCOMMERCE_STORE1_ALIAS=mystore
107
+
108
+ # Gitea Instance
109
+ GITEA_REPO1_URL=https://git.example.com
110
+ GITEA_REPO1_TOKEN=your_gitea_token
111
+ GITEA_REPO1_ALIAS=mygitea
112
+ ```
113
+
114
+ ### Connect Your AI Client
115
+
116
+ <details>
117
+ <summary><b>Claude Desktop</b></summary>
118
+
119
+ Add to `claude_desktop_config.json`:
120
+
121
+ ```json
122
+ {
123
+ "mcpServers": {
124
+ "mcphub": {
125
+ "url": "https://your-server:8000/mcp",
126
+ "headers": {
127
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
128
+ }
129
+ }
130
+ }
131
+ }
132
+ ```
133
+
134
+ </details>
135
+
136
+ <details>
137
+ <summary><b>Claude Code</b></summary>
138
+
139
+ Add to `.mcp.json` in your project:
140
+
141
+ ```json
142
+ {
143
+ "mcpServers": {
144
+ "mcphub": {
145
+ "type": "sse",
146
+ "url": "https://your-server:8000/mcp",
147
+ "headers": {
148
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
149
+ }
150
+ }
151
+ }
152
+ }
153
+ ```
154
+
155
+ </details>
156
+
157
+ <details>
158
+ <summary><b>Cursor</b></summary>
159
+
160
+ Go to **Settings > MCP Servers > Add Server**:
161
+
162
+ - **Name**: MCP Hub
163
+ - **URL**: `https://your-server:8000/mcp`
164
+ - **Headers**: `Authorization: Bearer YOUR_MASTER_API_KEY`
165
+
166
+ </details>
167
+
168
+ <details>
169
+ <summary><b>VS Code + Copilot</b></summary>
170
+
171
+ Add to `.vscode/mcp.json`:
172
+
173
+ ```json
174
+ {
175
+ "servers": {
176
+ "mcphub": {
177
+ "type": "sse",
178
+ "url": "https://your-server:8000/mcp",
179
+ "headers": {
180
+ "Authorization": "Bearer YOUR_MASTER_API_KEY"
181
+ }
182
+ }
183
+ }
184
+ }
185
+ ```
186
+
187
+ </details>
188
+
189
+ <details>
190
+ <summary><b>ChatGPT (Remote MCP)</b></summary>
191
+
192
+ MCP Hub supports **Open Dynamic Client Registration** (RFC 7591). ChatGPT can auto-register as an OAuth client:
193
+
194
+ 1. Deploy MCP Hub with `OAUTH_BASE_URL` set
195
+ 2. In ChatGPT, add MCP server: `https://your-server:8000/mcp`
196
+ 3. ChatGPT auto-discovers OAuth metadata and registers
197
+
198
+ </details>
199
+
200
+ ---
201
+
202
+ ## Architecture
203
+
204
+ ```
205
+ /mcp → Admin endpoint (all 589 tools)
206
+ /system/mcp → System tools only (17 tools)
207
+ /wordpress/mcp → WordPress tools (67 tools)
208
+ /woocommerce/mcp → WooCommerce tools (28 tools)
209
+ /gitea/mcp → Gitea tools (56 tools)
210
+ /n8n/mcp → n8n tools (56 tools)
211
+ /supabase/mcp → Supabase tools (70 tools)
212
+ /openpanel/mcp → OpenPanel tools (73 tools)
213
+ /appwrite/mcp → Appwrite tools (100 tools)
214
+ /directus/mcp → Directus tools (100 tools)
215
+ /project/{alias}/mcp → Per-project endpoint (auto-injects site)
216
+ ```
217
+
218
+ **Multi-endpoint architecture**: Give each team member or AI agent access to only the tools they need.
219
+
220
+ ### Security
221
+
222
+ - **OAuth 2.1 + PKCE** (RFC 8414, 7591, 7636) with auto-registration for Claude/ChatGPT
223
+ - **Per-project API keys** with scoped permissions (read/write/admin)
224
+ - **Rate limiting**: 60/min, 1,000/hr, 10,000/day per client
225
+ - **GDPR-compliant audit logging** with automatic sensitive data filtering
226
+ - **Web dashboard** with real-time health monitoring (8 pages, EN/FA i18n)
227
+
228
+ > **Compatibility Note**: MCP Hub requires FastMCP 2.x (`>=2.14.0,<3.0.0`). FastMCP 3.0 introduced breaking changes and is not yet supported. If you install dependencies manually, ensure you don't upgrade to FastMCP 3.x.
229
+
230
+ ---
231
+
232
+ ## Documentation
233
+
234
+ | Guide | Description |
235
+ |-------|-------------|
236
+ | [Getting Started](docs/getting-started.md) | Full setup walkthrough |
237
+ | [Architecture](docs/ARCHITECTURE.md) | System design and module reference |
238
+ | [API Keys Guide](docs/API_KEYS_GUIDE.md) | Per-project API key management |
239
+ | [OAuth Guide](docs/OAUTH_GUIDE.md) | OAuth 2.1 setup for Claude/ChatGPT |
240
+ | [Gitea Guide](docs/GITEA_GUIDE.md) | Gitea plugin configuration |
241
+ | [Deployment Guide](docs/DEPLOYMENT_GUIDE.md) | Docker and Coolify deployment |
242
+ | [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions |
243
+ | [Plugin Development](docs/PLUGIN_DEVELOPMENT.md) | Build your own plugin |
244
+
245
+ ---
246
+
247
+ ## Development
248
+
249
+ ```bash
250
+ # Install with dev dependencies
251
+ pip install -e ".[dev]"
252
+
253
+ # Run tests (289 tests)
254
+ pytest
255
+
256
+ # Format and lint
257
+ black . && ruff check --fix .
258
+
259
+ # Run server locally
260
+ python server.py --transport sse --port 8000
261
+ ```
262
+
263
+ ---
264
+
265
+ ## Support This Project
266
+
267
+ MCP Hub is free and open-source. Development is funded by community donations.
268
+
269
+ [**Donate with Crypto (NOWPayments)**](https://nowpayments.io/donation/airano) — Global, no geographic restrictions.
270
+
271
+ | Goal | Monthly | Enables |
272
+ |------|---------|---------|
273
+ | Infrastructure | $50/mo | Demo hosting, CI/CD, domain |
274
+ | Part-time maintenance | $500/mo | Updates, security patches, issue triage |
275
+ | Active development | $2,000/mo | New plugins, features, community support |
276
+
277
+ ---
278
+
279
+ ## Contributing
280
+
281
+ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
282
+
283
+ **Priority areas:**
284
+ - New plugin development
285
+ - Client setup guides
286
+ - Workflow templates and examples
287
+ - Test coverage expansion
288
+ - Translations (i18n)
289
+
290
+ ---
291
+
292
+ ## License
293
+
294
+ MIT License. See [LICENSE](LICENSE).
295
+
296
+ ---