Skip to content

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 Code
claude mcp add --transport http blacklabelbots https://blacklabelbots.com/mcp
Claude / ChatGPT custom connector
https://blacklabelbots.com/mcp
# Authentication: none
Cursor ~/.cursor/mcp.json
{
  "mcpServers": {
    "blacklabelbots": { "url": "https://blacklabelbots.com/mcp" }
  }
}
VS Code .vscode/mcp.json
{
  "servers": {
    "blacklabelbots": { "type": "http", "url": "https://blacklabelbots.com/mcp" }
  }
}
curl: list the tools
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

ToolWhat it does
site_infoWhat Black Label Bots is, with links to its sitemap, docs, contact and every discovery document.
search_pagesFind pages on blacklabelbots.com by words in their URL path (sitemap search).
read_pageRead one blacklabelbots.com page as Markdown or stripped text, up to 40,000 characters.

Buy from this store

ToolWhat it does
list_productsEverything an agent can buy here, with Stripe-verified prices, billing terms, delivery and live availability.
create_checkoutStart a purchase of one offer. Returns a continue_url where the buyer pays on the Stripe-hosted checkout page. Charges nothing.
get_checkoutRead a checkout started with create_checkout.

Website services

ToolWhat it does
list_servicesCurrent service prices, availability and payment requirements. Free; does not request payment.
run_ai_search_auditAI search readiness audit. Paid over x402: without payment_signature it returns the payment requirements and charges nothing.
run_structured_data_packStructured data pack. Paid over x402, same flow.
run_llms_txt_draftllms.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.

MethodPathWhat it does
GET/agent/site.jsonSite identity and every discovery link
GET/agent/searchSearch the sitemap for pages by words in the URL path
GET/agent/readRead one page on this host as Markdown or stripped text
GET/agent/commerce/productsEverything agents can buy here, with Stripe-verified prices and live availability
POST/agent/commerce/ucp/checkout-sessionsUCP checkout session for one offer (answers with a continue_url)
POST/agent/commerce/acp/checkout_sessionsACP checkout session for one offer (answers with a continue_url)
POST/agent/a2aA2A 1.0 JSON-RPC with a structured public site skill
GET/v1/servicesWebsite 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

MethodPathWhat it does
GET/catalogPublic app catalog, no key
GET/apps?search=Search apps with your connection status
POST/apps/{app}/connectSign-in link that connects the app
GET/connectionsYour connected apps
POST/tools/findFind tools for a task in plain words
POST/tools/{tool}/runRun it in a connected app
POST/custom-connectorsAdd any company’s MCP server or REST API with your own key
POST/triggersWatch an event in a connected app and get a signed webhook
Claude Code: Ace MCP
claude mcp add --transport http ace https://tryacee.com/mcp --header "Authorization: Bearer ace_sk_YOUR_KEY"

Install

SDKs

npm
npm install https://tryacee.com/sdk/tryacee-sdk-1.0.0.tgz
pip
pip install https://tryacee.com/sdk/tryacee-1.0.0-py3-none-any.whl
JavaScript
import { 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" });
Python
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().