Developer docs
MCP server
The same service as the REST API, as MCP tools. An agent built on an MCP client can search, show, approve and hand off without writing HTTP calls.
Connect
- Endpoint:
https://mcp.getclickless.ai/mcp, Streamable HTTP. - Auth: your agent’s live API key as
Authorization: Bearer ck_live_…, the same key the REST API takes. - Works with clients that send an API key header: Claude Code, Cursor and most agent frameworks. ChatGPT and Claude.ai custom connectors sign in with OAuth, which the MCP server doesn’t support yet, so they can’t connect today.
- It’s stateless: no session to keep, and every request is rate limited per key.
From Claude Code:
claude mcp add --transport http clickless https://mcp.getclickless.ai/mcp \ --header "Authorization: Bearer $CLICKLESS_API_KEY"Clients that take a JSON config with a URL and headers look like this (in Claude Code, a project’s .mcp.json); check your client’s docs for where the file lives and whether it wants the type field.
{ "mcpServers": { "clickless": { "type": "http", "url": "https://mcp.getclickless.ai/mcp", "headers": { "Authorization": "Bearer ck_live_…" } } }}Tools
- search_offers
- Offers matching what the person wants, with deal, commission preview, disclosure text, token and checkout link. Returns at most three. POST /v1/offers/search
- get_offer
- Re-checks one offer’s price, deal and availability. No token: search again to show it. GET /v1/offers/{offer_id}
- approve
- Records that the person said yes to one offer. Only after they do. POST /v1/attribution/approve
- checkout_handoff
- The brand’s checkout link for an approved offer, with any discount code. POST /v1/checkout/handoff
- report_conversion
- Reports an order the person completed, from the confirmation. A claim, not a sale. POST /v1/conversions/report
- earnings
- Accrued, pending, payable, in transit and paid, for a month or week. GET /v1/earnings
- provision_product_expert
- Drafts a store’s Product Expert from its URL and returns its private preview, final check and claim link for the store’s owner. Listed once provisioning is switched on (for every developer at once). POST /v1/brand-agents/provision
What the tools tell the model
Each tool’s description carries the rules, so a model using them follows the same showing offers rules as your own code would: show the disclosure text with every offer, present no more than three, never invent prices, and approve only after the person says yes.
Errors
A tool error comes back as a result marked isError, with text like token_expired: Attribution token is past its 60-day window. The codes are the REST API’s; the API reference lists them. A missing or wrong key gets HTTP 401 before any tool runs.