AceData Cloud MCP: Connect the Entire Platform to Your AI Assistant
AceData Cloud MCP (PyPI package mcp-acedatacloud) is a unified MCP server: it packages AceData Cloud's account management (balance, usage, API Key, orders, platform Token), catalog/documentation (services, APIs, OpenAPI specifications, model lists, pricing, documentation search), and blog management and publishing into tools that AI assistants can call directly.
Unlike our other service-specific MCPs (Suno, Midjourney, Serp…, which call api.acedata.cloud for generation), this MCP uses the management/console APIs (platform.acedata.cloud) — it does not generate content, but helps AI check accounts, check usage, manage Keys, search documentation, search APIs, check pricing, edit and publish blogs.
It replaces the earlier standalone “Docs MCP” (the old address
docs.mcp.acedata.cloudhas been discontinued), and is now unified undermcp.acedata.cloud. To see an overview of connecting Claude to all MCPs, see Overview of Connecting Claude to AceData Cloud MCP.
¶ Step One: Get a Platform Token
Create a Platform Token at platform.acedata.cloud/console/platform-tokens. It starts with platform- and never expires.
Please use a Platform Token, not a usage-billed
api.acedata.cloudToken — the latter will return 401 for management APIs.
¶ Remote Connection (Hosted HTTP, Zero Installation)
You only need one URL, and include the Platform Token in the request header:
https://mcp.acedata.cloud/mcp
¶ Generic JSON Client (Supports Custom Headers)
{
"mcpServers": {
"acedatacloud": {
"url": "https://mcp.acedata.cloud/mcp",
"headers": { "Authorization": "Bearer platform-v1-xxxxxxxx" }
}
}
}
¶ Connect and Publish Blogs in Studio
Connect Ace Data Cloud MCP in Studio's connectors, then log in and confirm as prompted by the OAuth authorization page. The authorization page for the official account management MCP lists scopes based on the permissions actually held by the current account, and no longer uses a fixed list of account permissions. Administrators will see more delegable permissions; accounts that obtain blog permissions through separate authorization or permission groups can also use blog tools. Accounts without blog permissions will not receive blog scopes, and the server will reject corresponding operations.
| Permission | Allowed Operations |
|---|---|
blog:read |
View the editing source content of drafts and published articles |
blog:write |
Create, edit, and delete unpublished drafts |
blog:read + blog:publish |
Approve the current version of a draft, or revoke approval before publishing |
blog:write + blog:publish |
Publish approved drafts, schedule publishing, unpublish, and delete published articles |
Publishing requires another account to approve the current draft version. The creator cannot approve their own draft, and the publisher also cannot be the reviewer of that version. Modifying public content such as the title, body, or cover will invalidate the approval; published articles must be unpublished before modification, and can only be published again after re-approval. It is recommended to proceed in the following order:
Help me write a Chinese blog introducing a new feature, in Markdown. Show me the content for review first, then save it as a draft.
Ask another colleague with
blog:readandblog:publishpermissions to read the full draft, confirm the title, summary, cover, and body, and approve the draft's currentreview_version.
After the draft is approved by another colleague, have a non-reviewer publish this blog.
All blog write operations support preview: without confirm=true, no write request will be sent.
Drafts use zh-cn or en as the source language, and the backend continues to use the blog's automatic translation workflow.
When publishing, you can provide a timezone-aware publish_at, for example 2026-10-10T09:00:00+08:00;
if no time is provided, the current draft will be published.
After an account receives new permissions, it can reconnect OAuth to view the updated authorization list. The Platform Token checks the account's current permissions on every request; revoked blog permissions will not remain effective because an old Token is held.
¶ Local Connection (stdio, via PyPI)
pip install mcp-acedatacloud
# Or run without installation: uvx mcp-acedatacloud
¶ Claude Desktop / VS Code (stdio)
{
"mcpServers": {
"acedatacloud": {
"command": "mcp-acedatacloud",
"env": {
"ACEDATACLOUD_PLATFORM_TOKEN": "platform-v1-xxxxxxxx"
}
}
}
}
¶ Platform Management Capability Coverage
The MCP synchronizes the user and administrative business capabilities of the current Platform management API, covering accounts, subscriptions and deployments,
usage, orders and payments, invoices, top-up cards and allocations, wallets, distribution, websites and homepage sections, catalogs and content,
blogs and announcements, email marketing, feature flags, access control, Webhooks, questionnaires, and administrative statistics.
Specific tools, parameters, and permissions are subject to the MCP's tools/list and usage guide.
The tools use actual permission identifiers such as blog:write, email-marketing:send, and feature-flags:write,
consistent with the backend permission system. Hosted connections filter the tool list according to the account's current permissions; the APIs still perform object ownership,
site management, and business status validation. Adding or revoking permissions will affect the available tools and operations in subsequent requests.
Payment callbacks, device transfer protocols, website asset delivery, internal service APIs, and methods for which the backend explicitly returns 405 are not exposed as business tools. Binary results such as CSV and Wallet cards are returned as Base64 file content with MIME types; MCP direct upload and binary response limits are 2 MiB, while signed download links are returned directly.
¶ Available Tools
¶ Read-Only (Always Safe)
| Tool | Function |
|---|---|
acedatacloud_get_balance |
Remaining Credits and total for each subscription |
acedatacloud_list_applications |
Your subscriptions, including balance/consumption |
acedatacloud_list_services |
List/search available services |
acedatacloud_list_usage |
Recent API call records (status, duration, Credits) |
acedatacloud_usage_summary |
Consumption over the past N days, aggregated by API |
acedatacloud_list_credentials |
Your API Keys (Token values are masked) |
acedatacloud_list_orders |
Top-up orders |
acedatacloud_list_platform_tokens |
Platform Tokens (masked) |
acedatacloud_list_models |
Available chat models |
acedatacloud_list_announcements |
Published announcements |
acedatacloud_list_blog_posts / acedatacloud_get_blog_post |
Published blog list and localized content |
acedatacloud_list_blog_drafts / acedatacloud_get_blog_draft |
Blog editing list and source content, requires blog:read |
acedatacloud_list_distributions |
Your distribution/commission status and commission records |
¶ Directory and Documentation (reads public data, but still requires a Platform Token connection)
Connecting to this MCP always requires a Platform Token; this set of tools only reads the platform's public read-only data and will not expose your account privacy.
| Tool | Function |
|---|---|
acedatacloud_get_service |
Details of a service (type, unit, free quota, price), by alias/id |
acedatacloud_get_pricing |
Billing unit, free quota, and displayed price of a service |
acedatacloud_list_apis |
API endpoint list (can be filtered by service: path, method, cost) |
acedatacloud_get_api_spec |
OpenAPI specification + price of an API, by path |
acedatacloud_list_datasets |
Downloadable datasets (price, download/preview links) |
acedatacloud_list_integrations |
Third-party integrations |
acedatacloud_search_docs |
Full-text search documentation (alias/title/snippet/link) |
acedatacloud_list_docs / acedatacloud_get_doc |
Browse and read complete documentation pages by UUID |
acedatacloud_list_model_catalog / acedatacloud_get_model |
Model catalog + Credits pricing and capabilities |
¶ Write Operations (require confirm=true)
| Tool | Function |
|---|---|
acedatacloud_create_credential / acedatacloud_delete_credential |
Create / revoke an API Key on an application |
acedatacloud_create_order |
Create a top-up order |
acedatacloud_pay_order |
Create a payment session and return pay_url |
acedatacloud_create_platform_token / acedatacloud_delete_platform_token |
Create / revoke a Platform Token |
acedatacloud_create_blog_draft / acedatacloud_update_blog_post |
Save drafts and edit article source content |
acedatacloud_approve_blog_post / acedatacloud_withdraw_blog_approval |
Approve the current version of a draft / withdraw approval |
acedatacloud_publish_blog_post / acedatacloud_unpublish_blog_post |
Publish, schedule publishing / unpublish blogs |
acedatacloud_delete_blog_post |
Delete articles and their translations |
If a write operation is called without
confirm=true, it will only return a dry-run preview and will not make any changes. Administrators (superuser Token) can also useacedatacloud_create_announcementto publish announcements.
¶ Usage
After connecting, simply ask questions in natural language, and the AI will automatically call the tools above:
How many Credits do I have left? How much did I spend on Suno in the past 7 days?
List my API Keys and see which ones have spending limits set.
Help me compare the prices of GPT-5.1 and Claude Opus 4.8 on AceData.
How do I call AceData's Suno music generation API? Give me a Python example.
¶ Its Relationship with llms.txt
The platform already provides a static /llms.txt list; this MCP is its interactive upgraded version — AI can retrieve documentation in real time, read details, obtain actual OpenAPI specifications and pricing, and directly check your account and usage, rather than only reading a static index.
Note: Amounts (
remaining_amount,used_amount, totals, etc.) are in Credits, not US dollars; newly created Credentials / Platform Tokens are returned in full only once at creation, so please save them immediately.
