API key
Minted on the Developers page (Settings → Developers), scoped at creation — ads:read, catalog:write, or the read / write / admin bundles. Sent as a Bearer token on every call.
Authorization: Bearer mag_sk_live_…
// developers
Magistry exposes the same tool registry Otto uses — as a REST API and as a remote MCP server. Every tool is tagged read or write, every write follows the propose-then-approve model, and every call is scoped to exactly what you granted.
// auth
Minted on the Developers page (Settings → Developers), scoped at creation — ads:read, catalog:write, or the read / write / admin bundles. Sent as a Bearer token on every call.
Authorization: Bearer mag_sk_live_…
The MCP server ships a full authorization server with dynamic client registration. On connect you pick the store and the scopes — the client never sees more than you granted. Bearer API keys work here too.
https://app.magistry.io/api/mcp
Writes are either auto_write or propose_write. A propose_write returns an approval card the operator confirms in the dashboard. Auto-apply is opt-in, per credential, in Settings → Developers.
"status": "pending_approval"
// the tool registry
Revenue, spend, profit, open approvals — the same overview the dashboard renders.
POST /api/v1/tools/get_store_overview
Catalog state — lifecycle, tiers, cost confidence, per-product performance.
POST /api/v1/tools/query_products
Order and revenue rollups over any window, per store.
POST /api/v1/tools/get_orders_summary
Daily performance series — spend, revenue, ROAS across channels.
POST /api/v1/tools/query_performance
Draft a discount campaign. Lands as an approval card the operator confirms.
POST /api/v1/tools/propose_discount
Reprice a variant on Shopify. Approval-gated unless auto-apply is opted in.
POST /api/v1/tools/shopify_update_variant_price
// examples
curl -X POST \
https://app.magistry.io/api/v1/tools/query_performance \
-H "Authorization: Bearer mag_sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "days": 30 }'
# writes go through the same shape —
# propose_* returns an approval card,
# the operator confirms it in the dashboard
curl -X POST \
https://app.magistry.io/api/v1/tools/propose_discount \
-H "Authorization: Bearer mag_sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "percent_off": 15, "product_ids": ["…"] }'// Claude Desktop — claude_desktop_config.json
{
"mcpServers": {
"magistry": {
"command": "npx",
"args": [
"mcp-remote",
"https://app.magistry.io/api/mcp"
]
}
}
}
// claude.ai → Settings → Connectors →
// Add custom connector →
// https://app.magistry.io/api/mcp
// OAuth picks your store + scopes on connect.// scopes
| Scope | Covers | Notes |
|---|---|---|
| read | Every read tool | Bundle — full reporting surface, no writes |
| write | Every write tool | Bundle — writes still follow the approval model |
| admin | Everything, including settings | Bundle — for trusted internal integrations only |
| ads:read · catalog:write · … | One resource, one action | Fine-grained — per resource + action, mix freely per key |
// connect your ai
Add the /api/mcp URL as a custom connector. OAuth walks you through store + scope selection.
app.magistry.io/api/mcp
One entry in claude_desktop_config.json via mcp-remote — the config is on the left of this page.
app.magistry.io/api/mcp
Point Cursor's MCP settings at the remote endpoint and your editor can query the store mid-task.
app.magistry.io/api/mcp
Standard Streamable HTTP transport. OAuth 2.1 with dynamic client registration, or a Bearer API key.
app.magistry.io/api/mcp
// reference
The full REST surface — every tool, every input schema, every response shape — is published as an OpenAPI document. Point a generator or an agent at it and go.
GET https://app.magistry.io/api/v1/openapi.json
Settings → Developers in the dashboard is where keys live: mint and revoke API keys, pick scopes, browse the full tool catalog with its read / write / write-approval tags, and opt a credential into auto-apply.
// developers
One registry powers Otto, the MCP server, and the REST API — same scopes, same approval model, same audit trail as everything else in Magistry.
Bearer API keys · OAuth 2.1 + dynamic client registration · Approval-gated writes · 120 req/min
We use cookies to run this site, to see which pages help, and to measure which ads bring people here. You choose per category; everything except the strictly necessary is off until you say otherwise. Cookie policy · Privacy