// developers · partner tools
Your MCP server, inside the merchant's allowlist.
A partner supplies facts, never actions. You run an MCP server on your own infrastructure; the merchant approves it and names which of its tools Magistry may call.
// register
One source per server.
curl -X POST https://app.magistry.io/api/v1/partner-tools \
-H "Authorization: Bearer mag_sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "label": "Supplier stock levels",
"endpoint_url": "https://mcp.your-company.example/mcp",
"allowed_tools": ["get_stock_level"] }'Registering a source needs automation:write. The endpoint must be https, carry no credentials in its URL and resolve to a public address. allowed_tools must name at least one tool: an empty allowlist is refused rather than read as “everything”.
Today the Theme Studio agent loads a store’s approved partner tools into its sessions. A lookup that fails is logged and the session carries on without them.
// bounds
The limits a source runs inside.
- Sources per store
- 5
- Timeout per call
- 8,000 ms by default (timeout_ms)
- Calls per day
- 500 by default (max_calls_per_day)
- Response size
- 64 KB at most
- Disabled after
- 25 consecutive failures
Read-only, by constraint
A partner source can only ever be read-only: the database refuses any other kind, so it is not a setting that can be switched. A partner tool cannot declare intent, publish an event or reach an executor. Anything that changes a store still goes through Magistry’s own tools and approvals.
Build on the same tools the product uses.
Create a sandbox key on demo data, or start free and connect a real store.
MCP + REST · OAuth 2.1 or API keys · every call audited
