MCP
An endpoint for agents that cannot make an arbitrary HTTP request.
Every other path into the serving plane assumes the agent can issue an arbitrary HTTP request. A command-line agent can; a hosted chat assistant cannot — it reaches external tools through a connector, where the vendor's own cloud speaks MCP to a public endpoint on the user's behalf.
Without one of those, "works with a hosted assistant" would mean "can be told about Super Artifacts and then do nothing".
The endpoint
https://api.superart.page/mcp
The credential is a creator key, sent either as Authorization: Bearer or as a path segment
(/mcp/sa_live_…). The path form exists because the connector interfaces accept a URL and,
without OAuth, offer no way to attach a header.
A key in a URL is a real trade — it lands in the client's stored configuration — so it is a deploy credential scoped to one account's own artifacts, revocable from the dashboard, and never an admin secret. That is the same trade the deploy endpoint already makes, made visible.
Both protocol revisions
Revision 2026-07-28 removed the initialize handshake, protocol-level sessions and the GET
stream. The shipping clients still open with initialize and a session header. A server that
implements only one era fails against half the clients it was written for, so this one
answers initialize when it arrives and does not require it, accepts a request with or
without a protocol version header, and echoes back a version it recognises.
Failures come back as results
A tool that fails returns a result describing the failure rather than a protocol fault. The caller is a model: a result it can read and act on is worth more than an error frame its runtime swallows.
Reading collected data back
This is built. An artifact that shipped with a data policy hands its rows back to the agent that published it, over this same endpoint and with the same key:
super_get_responses— one artifact's rows, with the declared schema of every version alongside them, so a field added in v3 is legible next to a row written under v1.super_get_collection_responses— every artifact sharing acollectionlabel, read over one window. Use this rather than calling the single-artifact tool in a loop: no member is missed because a slug was forgotten, and no two are compared over different spans.super_get_analytics— totals and distributions rather than rows, for when the question is "how many" and not "which".
super_publish takes the policy that switches all of this on. An artifact deployed without
one collects nothing, so the tool says what the artifact collects in its own reply — that
response is the only place it is ever stated. See
Collecting data.