Settings fixes:
- MAX_SITES_PER_USER, USER_RATE_LIMIT_PER_MIN/HR now read from DB settings
table (DB > ENV > default), so dashboard/settings changes apply without
restart. Sync cache refreshed on every save or delete.
- /api/me reports the live DB value for max_sites_per_user.
Admin improvements:
- Admin users bypass per-user rate limiting entirely (role=admin or ADMIN_EMAILS).
- Admin Overview now shows platform stats: registered users, new users (7d),
total user sites, available tools.
Plugin cleanup:
- Appwrite and Directus plugins removed from the active registry (8 plugins
now: WordPress, WooCommerce, WordPress Specialist, Gitea, n8n, Supabase,
OpenPanel, Coolify). Plugin code is retained for future re-enabling.
- Settings page plugin visibility list updated to match.
Mobile onboarding:
- Stepper steps on narrow viewports stack vertically with correct full border
and rounded corners on each step.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix tool count: 596→565 (OpenPanel reduced from 73→42 in v3.4.0)
- Update DOCKER_README: dashboard-first site configuration
- Update .env.example version to 3.4.0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- fix(seo): REST API namespace seo-api-bridge/v1 → airano-mcp-seo-bridge/v1
- fix(config): add transport type field (streamableHttp/http) to config snippets
- feat(dashboard): support section for OAuth users, connect page guidance
- docs: hosted option, test count 481, WP plugin link, OAuth env vars, per-user endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- routes.py: fallback reads from importlib.metadata instead of hardcoded
- login.html: remove hardcoded default version
- README: use dynamic GitHub Release badge from shields.io
- DOCKER_README: remove hardcoded version string
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- docker-compose: OAuth vars commented out by default
- env.example: added WordPress Advanced section with CONTAINER docs
- DOCKER_README: added CONTAINER to env var table with usage notes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- docker-compose: ports "8000:8000" active by default
- README: fix /wordpress_advanced → /wordpress-advanced
- DOCKER_README: add version 3.0.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CI: Fix black formatting in core/site_registry.py
Code: list_projects uses SiteManager, WP Advanced health uses REST API
Docs: Fix transport types, endpoint guide, env var reference for all plugins
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Code fixes:
- Rename "Coolify Admin" to "MCP Hub Admin" in endpoints
- Enrich list_projects with alias and endpoint URL
- Downgrade OAuth InvalidTokenError log from WARNING to DEBUG
- Add 7 missing health tools to /system/mcp endpoint (now 24 tools)
- Remove "Phase 7.2" from health monitor log
- Fix WP Advanced health check to pass with REST API only
- Downgrade duplicate alias warnings to INFO
Documentation fixes:
- Document SSE transport and Bearer auth requirement
- Recommend plugin-specific endpoints to save tokens
- Document plugin vs project endpoint differences
- WordPress plugin requirements for SEO/WP-CLI tools
- Docker socket mounting guide for WP-CLI
- Mark MASTER_API_KEY as recommended (auto-generates temp key)
- Env var naming convention with prefix table
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously any Bearer token (even invalid) passed the HTTP middleware and
got a session with access to tools/list and resources/list. Now the
OAuthRequiredMiddleware validates tokens against master key, API keys,
and OAuth JWT before allowing initialize.
Also fixes:
- WordPress Advanced env prefix: WORDPRESS_ → WORDPRESS_ADVANCED_ in docs
- Bump version to 3.0.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add DOCKER_README.md for Docker Hub overview page
- Fix docker-compose.yaml port mapping for local users ("8000:8000")
- Add "Verify It Works" section with dashboard URL to README
- Restructure env.example with clear REQUIRED section
- Add post-Docker verification checklist to getting-started.md
- Fix 4 OpenPanel tools: parameter ordering (non-default before default)
- Rebrand all "Coolify Projects" to "MCP Hub" in server and Dockerfile
- Make MCP namespace prefix stripping generic
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>