Monorepo for all AceDataCloud MCP (Model Context Protocol) servers.
| Directory | Standalone Repo | PyPI Package | Status |
|---|---|---|---|
sora/ |
SoraMCP | mcp-sora | Retired; retained for historical reference |
Each MCP is published to multiple channels automatically on every push to main:
| Channel | Status |
|---|---|
| PyPI | Active servers published |
| VS Code Marketplace | Active extensions published |
| JetBrains Marketplace | Active plugins published |
| Smithery | Active servers published |
| MCP Registry | Active servers published |
Versioning uses CalVer (YYYY.M.D.BUILD), auto-generated at publish time.
AceDataCloud/Docs (OpenAPI specs)
│ push to main
▼
dispatch-on-push.yml ──► docs-updated event
│
▼
MCPs/sync-from-docs.yml ──► creates issue for Copilot
│ Copilot compares specs, opens PR
▼ PR auto-merged
MCPs/sync-to-repos.yml ──► pushes to standalone repos
This is a monorepo with MCP servers in subdirectories (luma/, suno/, midjourney/, flux/, etc.).
│
▼
<Repo>/publish.yml ──► PyPI, VS Code, JetBrains, Smithery, MCP Registry
- This monorepo is the source of truth. Do not edit standalone repos directly.
- The mapping between subdirectories and standalone repos is defined in
sync.yaml. - CI runs lint (
ruff) and tests (pytest, Python 3.10/3.11/3.12) on every push and PR.
cd <server>/
pip install -e ".[dev]"
pytest --cov=core --cov=tools
ruff check .