Arcalotls MCP-server
Arcalotl exponerar sin data om prenumerationer, medlemmar, förmåner och statistik för AI-agenter över Model Context Protocol, med samma API-nycklar och samma scopes som REST-API:et.
Arcalotl kör en server för Model Context Protocol på https://api.arcalotl.com/mcp. En MCP-klient som Claude Code, Claude Desktop eller Cursor ansluter direkt till den, så att en assistent kan svara på en fråga som "vilka prenumeranter ligger efter med betalningen" eller skapa en kassalänk för en plan utan att någon först behöver bygga en egen integration.
Det finns elva läsverktyg och ett skrivverktyg. Skrivverktyget skapar en kassalänk. Destruktiva skrivningar exponeras medvetet inte för agenter.
Varje verktygsanrop är avgränsat till den community som äger API-nyckeln, och kräver samma scope som sin motsvarighet i REST. En nyckel som saknar det scope som krävs får ett namngivet fel om nekat scope i stället för data.
En endpoint, en bearer-nyckel
Servern ligger på https://api.arcalotl.com/mcp och talar transporten streamable HTTP. Autentiseringen är samma bearer-nyckel som REST-API:et använder, skickad som en Authorization-header. Nycklar skapas och återkallas i dashboarden under Developers och sedan API Keys.
Tretton läsverktyg täcker communityns data
En agent kan anropa list_subscriptions, get_subscription, get_switch_options, list_plans, list_members, get_member_entitlements, check_entitlement, list_purchases, get_analytics_summary, list_discounts, list_events, list_webhook_endpoints och list_webhook_deliveries. Verktygens svar är samma publika JSON-objekt som REST-endpointerna returnerar.
Två skrivverktyg: en kassalänk och ett planbyte
create_checkout_link tar ett tier_id och antingen platform och platform_uid eller din egen namespace och external_user_id, plus ett plan_id när nivån har mer än en aktiv plan. Den returnerar URL:en till en riktig kassasida för just den köparen. switch_subscription flyttar en prenumeration till en plan från get_switch_options. Båda kräver ett skriv-scope och ingen av dem är destruktiv.
Det finns inget destruktivt verktyg
Servern exponerar inget verktyg för cancel_subscription. Destruktiva skrivningar som drivs av en agent ligger medvetet utanför omfattningen. Uppsägning fungerar fortfarande över REST med POST /v1/subscriptions/{id}/cancel, där en människa eller en tjänst håller i nyckeln.
Svaren är avgränsade till en community
Varje svar begränsas till den community som äger API-nyckeln, så en agent kan inte läsa en annan communitys prenumeranter eller intäkter. Ett id som tillhör en annan community rapporteras som inte funnet snarare än som förbjudet.
Ett saknat scope ger ett namngivet fel
När en nyckel saknar det scope ett verktyg behöver svarar verktygsanropet med ett fel om nekat scope som namnger scopet, till exempel missing_scope: members:read. Det är samma utfall som en 403 missing_scope över REST, så en agent kan tala om exakt vilken behörighet som ska läggas till.
Läsverktygen är märkta som skrivskyddade
Varje läsverktyg bär annoteringen readOnlyHint, så MCP-klienter som följer annoteringar kan anropa det utan att be användaren bekräfta. create_checkout_link och switch_subscription är annoterade som icke-destruktiva.
Att lägga till servern tar ett kommando
I Claude Code kör du claude mcp add --transport http arcalotl https://api.arcalotl.com/mcp med en Authorization-header som bär din nyckel. Klienter som använder ett mcpServers-konfigurationsobjekt tar emot samma server som en url plus en headers-objekt.
MCP kostar inget extra
MCP-servern är en del av produkten. Arcalotl tar $0/månad plus 2 % av varje genomförd betalning, på kreatörens eget Stripe-konto genom direktbetalningar via Stripe Connect. Det finns ingen separat API- eller agentplan.
Verktyg som MCP-servern exponerar
| Verktyg | Indata | Scope |
|---|---|---|
| list_subscriptions | status, plan_id, member_id, cursor, limit (alla frivilliga) | subscriptions:read |
| get_subscription | subscription_id | subscriptions:read |
| get_switch_options | subscription_id | subscriptions:read |
| list_plans | Inga | plans:read |
| list_members | cursor, limit (frivilliga) | members:read |
| get_member_entitlements | member_id | members:read |
| check_entitlement | platform och platform_uid, eller namespace och external_user_id; tier_id (frivilligt) | members:read |
| list_purchases | cursor, limit (frivilliga) | purchases:read |
| get_analytics_summary | Inga | analytics:read |
| list_events | types, after_id, limit (alla frivilliga) | events:read |
| list_webhook_endpoints | Inga | webhooks:read |
| list_webhook_deliveries | endpoint_id, cursor (frivilligt) | webhooks:read |
| create_checkout_link | tier_id, plan_id (frivilligt), platform och platform_uid, eller namespace, external_user_id och return_url | checkout:write |
| switch_subscription | subscription_id, plan_id | subscriptions:write |
En tjänst bakom två protokoll
MCP-verktygen anropar samma interna applikationstjänst som REST-handlarna anropar, i samma process, i stället för att anropa det publika REST-API:et över HTTP. Varje resurs, filter och scope-kontroll beter sig likadant oavsett om du når Arcalotl med curl eller genom en agent.
Det betyder också att en rättning eller ett nytt fält landar på båda ytorna samtidigt. Listan med MCP-verktyg följer REST-API:et i stället för att släpa efter det.
Eftersom datan är densamma kan ett agentflöde blanda de två. En assistent kan läsa planer och medlemmar över MCP och sedan lämna en kassalänk till en människa, medan en backend-tjänst använder REST-API:et och webhooks för de delar som måste vara varaktiga.
Frågor
Läs vidare
Peka din agent mot din egen community-data
Skapa en API-nyckel i dashboarden, ge den de scopes du vill att agenten ska ha, och anslut den till https://api.arcalotl.com/mcp.
Skapa ett konto