Developers
Plug into Black Label.
Two ways in. This store runs an open MCP server and agent API that any AI can call with no key. And one Ace API key opens the 1,609 apps your account connects, over REST, MCP and SDKs.
No key needed
This store's MCP server
Streamable HTTP at https://blacklabelbots.com/mcp. Stateless JSON-RPC 2.0, no authentication, protocol versions 2025-06-18, 2025-03-26 and 2024-11-05. Ten tools: read the site, buy from it, and run the website services.
claude mcp add --transport http blacklabelbots https://blacklabelbots.com/mcphttps://blacklabelbots.com/mcp
# Authentication: none{
"mcpServers": {
"blacklabelbots": { "url": "https://blacklabelbots.com/mcp" }
}
}{
"servers": {
"blacklabelbots": { "type": "http", "url": "https://blacklabelbots.com/mcp" }
}
}curl https://blacklabelbots.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Read the site
| Tool | What it does |
|---|---|
site_info | What Black Label Bots is, with links to its sitemap, docs, contact and every discovery document. |
search_pages | Find pages on blacklabelbots.com by words in their URL path (sitemap search). |
read_page | Read one blacklabelbots.com page as Markdown or stripped text, up to 40,000 characters. |
Buy from this store
| Tool | What it does |
|---|---|
list_products | Everything an agent can buy here, with Stripe-verified prices, billing terms, delivery and live availability. |
create_checkout | Start a purchase of one offer. Returns a continue_url where the buyer pays on the Stripe-hosted checkout page. Charges nothing. |
get_checkout | Read a checkout started with create_checkout. |
Website services
| Tool | What it does |
|---|---|
list_services | Current service prices, availability and payment requirements. Free; does not request payment. |
run_ai_search_audit | AI search readiness audit. Paid over x402: without payment_signature it returns the payment requirements and charges nothing. |
run_structured_data_pack | Structured data pack. Paid over x402, same flow. |
run_llms_txt_draft | llms.txt draft. Paid over x402, same flow. |
Buying never happens inside a tool: create_checkout returns a continue_url and the buyer pays on the Stripe-hosted checkout page. Paid run_* tools only execute with a payer-authorized x402 payment_signature; read list_services for current prices. Stay under one request per second; over-limit clients get HTTP 429. Server card: /.well-known/mcp/server-card.json · credentials and buying rules: /auth.md.
OpenAPI
Agent HTTP API
The same capabilities over plain HTTP, described in /openapi.json. Open endpoints, no registration, no key.
| Method | Path | What it does |
|---|---|---|
GET | /agent/site.json | Site identity and every discovery link |
GET | /agent/search | Search the sitemap for pages by words in the URL path |
GET | /agent/read | Read one page on this host as Markdown or stripped text |
GET | /agent/commerce/products | Everything agents can buy here, with Stripe-verified prices and live availability |
POST | /agent/commerce/ucp/checkout-sessions | UCP checkout session for one offer (answers with a continue_url) |
POST | /agent/commerce/acp/checkout_sessions | ACP checkout session for one offer (answers with a continue_url) |
POST | /agent/a2a | A2A 1.0 JSON-RPC with a structured public site skill |
GET | /v1/services | Website service catalog with current prices (free) |
Discovery: /.well-known/api-catalog · /agent/connect.json · /llms.txt · /sitemap.xml.
One key, 1,609 apps
Build with the Ace platform
Ace is Black Label's assistant platform. Connect Gmail, Slack, GitHub, Notion, HubSpot and the rest on Integrations, then call them from your code or hand them to any AI chat. Keys act as your account; you choose Read, Connect and Run permissions and can revoke a key any time.
REST API
Base URL https://tryacee.com/api/v1, Authorization: Bearer ace_sk_…, JSON in and out, 120 requests a minute per key. Full spec: https://tryacee.com/openapi.json.
MCP server
https://tryacee.com/mcp with your key as a Bearer header. Six tools: search_apps, connect_app, list_connections, find_tools, get_tool, run_tool. Client setup.
SDKs
JavaScript (Node 18+, Deno, Bun, Workers, browsers) and Python (standard library only). No dependencies. SDK reference.
Triggers
Pick an event in a connected app, give Ace your webhook, and each event is posted to you signed. The last 50 events per trigger are kept; each delivery is tried three times.
Core endpoints
| Method | Path | What it does |
|---|---|---|
GET | /catalog | Public app catalog, no key |
GET | /apps?search= | Search apps with your connection status |
POST | /apps/{app}/connect | Sign-in link that connects the app |
GET | /connections | Your connected apps |
POST | /tools/find | Find tools for a task in plain words |
POST | /tools/{tool}/run | Run it in a connected app |
POST | /custom-connectors | Add any company’s MCP server or REST API with your own key |
POST | /triggers | Watch an event in a connected app and get a signed webhook |
claude mcp add --transport http ace https://tryacee.com/mcp --header "Authorization: Bearer ace_sk_YOUR_KEY"Install
SDKs
npm install https://tryacee.com/sdk/tryacee-sdk-1.0.0.tgzpip install https://tryacee.com/sdk/tryacee-1.0.0-py3-none-any.whlimport { Ace } from "@tryacee/sdk";
const ace = new Ace({ apiKey: process.env.ACE_API_KEY });
const { url } = await ace.apps.connect("slack"); // send your user here once
const { tools } = await ace.tools.find("post a message in #sales on Slack");
await ace.tools.run("SLACK_SEND_MESSAGE", { channel: "#sales", markdown_text: "Deal closed" });from tryacee import Ace
ace = Ace() # reads ACE_API_KEY
link = ace.apps.connect("hubspot")["url"] # send the user here once
found = ace.tools.find("create a contact in HubSpot")
ace.tools.run("HUBSPOT_CREATE_CONTACT", {"email": "pat@example.com"})tools.definitions() returns OpenAI or Anthropic tool definitions for your own model; pass the model's tool call back to tools.run().