Skip to content

Developers

One key. Every app your account connects.

Call 1,609 apps from your code, hand them to any AI chat over MCP, or ship them inside your own product. The REST API, the MCP server and the SDKs all run on the shared Ace platform and use the connections from Integrations.

Get a key

Keys act as your Ace account. Pick Read, Connect or Run permissions. A key is shown once; only a fingerprint is kept, and you can revoke it any time.

Get an API key

REST API

The platform API.

Base URL https://tryacee.com/api/v1 · Authorization: Bearer ace_sk_… · JSON in and out · errors are {"error":{"code","message"}} · 120 requests a minute per key.

GET/catalog

Public app catalog, no key

GET/apps?search=

Search apps with your connection status

GET/apps/{app}

One app

POST/apps/{app}/connect

Sign-in link that connects the app

POST/apps/{app}/request

Any endpoint of a connected app's API: {method, path, query?, body?}

GET/connections

Your connected apps

DELETE/connections/{id}

Disconnect

GET/tools?app=

Tools in an app, with input schemas

POST/tools/find

Find tools for a task in plain words

GET/tools/{tool}

One tool's schema

POST/tools/{tool}/run

Run it in a connected app

GET/custom-connectors

Your own connectors (any company's MCP server)

POST/custom-connectors

Add an MCP server {name, url, key?} or any REST API {name, spec, base?, key?, keyIn?}

DELETE/custom-connectors/{id}

Remove it

GET/triggers/types?app=

Events an app can send (new payment, new issue, new message…)

POST/triggers

Watch one: {type, config?, webhookUrl}, or take webhooks from any service

GET/triggers

Your triggers

DELETE/triggers/{id}

Stop watching

GET/events?trigger=

The last 50 events and how each delivery went

GET/runs

Your 25 latest runs

GET/me

The account behind the key

curl https://tryacee.com/api/v1/apps?search=slack \
  -H "Authorization: Bearer ace_sk_YOUR_KEY"

curl -X POST https://tryacee.com/api/v1/tools/SLACK_SEND_MESSAGE/run \
  -H "Authorization: Bearer ace_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"arguments":{"channel":"#sales","markdown_text":"Deal closed"}}'

OpenAPI 3.1

The full platform spec is published at https://tryacee.com/openapi.json. Triggers post each event in a connected app to your webhook, signed, with three delivery attempts and the last 50 events kept.

MCP server

Every connected app in every AI chat.

A remote MCP server over streamable HTTP at https://tryacee.com/mcp with Authorization: Bearer <key>, or the URL-only form https://tryacee.com/mcp/k/<key>. Any client that speaks MCP gets six tools.

  • search_apps
  • connect_app
  • list_connections
  • find_tools
  • get_tool
  • run_tool

Claude

Settings → Connectors → Add custom connector. Name it Ace and paste your connector URL.

https://tryacee.com/mcp/k/ace_sk_YOUR_KEY

Claude Code

Run in a terminal:

claude mcp add --transport http ace https://tryacee.com/mcp --header "Authorization: Bearer ace_sk_YOUR_KEY"

ChatGPT

Settings → Apps & Connectors → Advanced → turn on Developer mode, then Create. Paste your connector URL and choose No authentication (the link holds your key).

https://tryacee.com/mcp/k/ace_sk_YOUR_KEY

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ace": {
      "url": "https://tryacee.com/mcp",
      "headers": { "Authorization": "Bearer ace_sk_YOUR_KEY" }
    }
  }
}

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "ace": {
      "type": "http",
      "url": "https://tryacee.com/mcp",
      "headers": { "Authorization": "Bearer ace_sk_YOUR_KEY" }
    }
  }
}

The connector URL carries your key. Treat it like a password. Server card: https://tryacee.com/.well-known/mcp/server-card.json.

SDKs

JavaScript and Python, no dependencies.

JavaScript runs in Node 18+, Deno, Bun, Workers and browsers. Python needs only the standard library.

npm install https://tryacee.com/sdk/tryacee-sdk-1.0.0.tgz
import { Ace } from "@tryacee/sdk";
const ace = new Ace({ apiKey: process.env.ACE_API_KEY });

// 1. Connect an app (send your user to the link once)
const { url } = await ace.apps.connect("slack");
// 2. Find the tool for a task, in plain words
const { tools } = await ace.tools.find("post a message in #sales on Slack");
// 3. Run it
const result = await ace.tools.run("SLACK_SEND_MESSAGE", {
  channel: "#sales",
  markdown_text: "Deal closed",
});
pip install https://tryacee.com/sdk/tryacee-1.0.0-py3-none-any.whl
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")
result = ace.tools.run("HUBSPOT_CREATE_CONTACT", {"email": "pat@example.com"})

Bring your own model

tools.definitions() returns OpenAI or Anthropic tool definitions for the apps a user connected; pass the model's tool call back to tools.run().

On this site

Public facts, no key required.

blacklabeltec.com also serves a read-only public evidence API and a site MCP server for developers, journalists, analysts, search systems and AI retrieval systems that need stable BlackLabel facts. Fields can be added without a version change; removals or semantic changes require a documented version update.

GET/api/company-facts

Canonical organization, location, capabilities, ownership, and evidence URLs.

GET/api/products

The current public product catalog and function counts.

GET/api/products/{slug}

One product record and its public function inventory.

GET/api/research/build-evidence

Versioned research registry in JSON; add ?format=csv for CSV.

Site MCP · no authentication

Streamable HTTP at https://blacklabeltec.com/mcp with three read-only tools: site_info, search_pages and read_page. Server card at /.well-known/mcp/server-card.json; agent notes at /auth.md.

curl -s https://blacklabeltec.com/api/company-facts

curl -s 'https://blacklabeltec.com/api/research/build-evidence?format=csv'

curl -s https://blacklabeltec.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Open source

The evidence contract is independently testable.

The BlackLabel Discoverability Evidence Kit validates organization facts, evidence sources, dates, duplicates, placeholder claims, and fixed AI-search prompt panels. It is dependency-free, MIT licensed, documented, tested, and released publicly.

Need a production API or workflow integration?

The platform covers connected apps. BlackLabel also designs authenticated APIs, webhooks, data systems, and automation for operating businesses.

BlackLabel Tech is a trade name of Black Label Trading L.L.C., Newnan, Georgia.