Connectors · Accounting & finance
Polar MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Polar and the rest of your systems. It gives your agent 126 Polar actions (61 reads, 48 writes and 17 that wait for a confirmation) and holds the Polar credential itself, so the agent never does. It paces Polar's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "polar.products.list", intent: "check which Polar account is connected"}# List Products · read · 1 upstream call- 126actionsin one signed file
- 61readlook, never change
- 48writecreate and update
- 17wait for a yesdestructive, confirmed first
Set up
Connect Polar in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Polar.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
access_tokenPolar Organization Access Token (Polar dashboard > organization Settings > Developers > New Token, with the scopes…hostWhere your Polar lives: your host
account { op: "connections.requirements", service: "polar" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "polar.products.list" }# list products · read · 1 upstream callcheck { action: "polar.products.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Polar at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
access_token- Setup fields
host- Limits we pace to
- 500 calls a minute, per connection
- API covered
- Polar API v1 (OpenAPI 2026-04)
api.polar.sh - Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 60 of 61 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line Polar up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Polar.
126 actions in 30 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 61readlook, never change
- 48writecreate and update
- 17destructivewait for a confirmation
Customers
127 read · 3 write · 2 destructive
List Customers · Create Customer · Get Customer · Update Customer
Customer members
82 read · 4 write · 2 destructive
Create Member · Create Member by Customer External ID · Get Member · Get Member by External ID
Orders
84 read · 4 write · 0 destructive
List Orders · Create Order · Get Order · Update Order
Benefits
74 read · 2 write · 1 destructive
Create Benefit · List Benefits · List Benefit Files · List Benefit Grants
License keys
74 read · 2 write · 1 destructive
Activate License Key · List License Keys · Validate License Key · Get License Key
Webhook endpoints
62 read · 3 write · 1 destructive
Create Webhook Endpoint · List Webhook Endpoints · Update Webhook Endpoint · Get Webhook Endpoint
Checkout links
52 read · 2 write · 1 destructive
Create Checkout Link · List Checkout Links · Get Checkout Link · Update Checkout Link
Custom fields
52 read · 2 write · 1 destructive
List Custom Fields · Create Custom Field · Update Custom Field · Get Custom Field
22 more areas · 68 actions
- Discounts 5
- Files 5
- Meters 5
- Metric dashboards 5
- Products 5
- Subscriptions 5
- Checkouts 4
- Customer seats 4
- Events 4
- Oauth2 clients 4
- Organizations 4
- Disputes 3
- Customer meters 2
- Event types 2
- Metrics 2
- Payments 2
- Refunds 2
- Benefit grants 1
- Customer sessions 1
- Members 1
- Webhook deliveries 1
- Webhook events 1
Top actions
The Polar API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 56 of Polar's 56 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
polar.products.listList Products | List Products. | read | commerce.product.list112 connectors |
polar.orders.listList Orders | List Orders. | read | commerce.order.list82 connectors |
polar.customers.listList Customers | List Customers. | read | commerce.customer.list45 connectors |
polar.products.createCreate Product | Create Product. | write | commerce.product.create92 connectors |
polar.orders.createCreate Order | Create Order. | write | commerce.order.create67 connectors |
polar.subscriptions.listList Subscriptions | List Subscriptions. | read | finance.subscription.list37 connectors |
polar.customers.createCreate Customer | Create Customer. | write | commerce.customer.create43 connectors |
polar.customers.deleteDelete Customer | Delete Customer. | destructive | commerce.customer.delete31 connectors |
polar.subscriptions.createCreate Subscription | Create Subscription. | write | finance.subscription.create27 connectors |
polar.discounts.listList Discounts | List Discounts. | read | commerce.coupon.list29 connectors |
polar.discounts.createCreate Discount | Create Discount. | write | commerce.coupon.create29 connectors |
polar.payments.listList Payments | List Payments. | read | finance.payment.list75 connectors |
Try it
Prompts to paste into Claude.
Each one names the Polar actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Polar orders from the last seven days are still unfulfilled?
calls
polar.orders.list - Writewrite
Create Product in Polar. Show me exactly what you will send before you save it.
calls
polar.products.create
Governance for Polar
Destructive actions wait for a yes.
17 Polar actions are destructive. These are all of them:
- Delete Customer
polar.customers.delete - Delete Discount
polar.discounts.delete - Create Refund
polar.refunds.create - Delete File
polar.files.delete - Delete Webhook Endpoint
polar.webhook_endpoints.delete - Delete Metric Dashboard
polar.metric_dashboards.delete - Delete Custom Field
polar.custom_fields.delete - Accept Dispute
polar.disputes.accept - Delete Benefit
polar.benefits.delete - Revoke Subscription
polar.subscriptions.revoke - Delete Checkout Link
polar.checkout_links.delete - Revoke Seat
polar.customer_seats.revoke - Delete Client
polar.oauth2_clients.delete - Delete Member
polar.customer_members.delete - Deactivate License Key
polar.license_keys.deactivate - Delete Customer by External ID
polar.customers.delete_external - Delete Member by External ID
polar.customer_members.delete_external
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Customer?
intent: the user asked me to delete Customer
account { op: "keys.create", name: "polar-agent", allowed_actions: ["polar.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "polar.customers.delete", approver: "[email protected]" }, { match: "polar.discounts.delete", approver: "[email protected]" }, { match: "polar.refunds.create", approver: "[email protected]" } ]}Cost
What Polar costs on actionlake.
Every Polar action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Polar refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 126 Polar actions
- 126actions pageeach page of a long list is one call
- 60reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Polar action.
126 actions by area: the id your agent calls, what it does, and its effect.
Customers12
polar.customers.createCreate Customerwritepolar.customers.deleteDelete Customerdestructivepolar.customers.delete_externalDelete Customer by External IDdestructivepolar.customers.getGet Customerreadpolar.customers.get_externalGet Customer by External IDreadpolar.customers.get_stateGet Customer Statereadpolar.customers.get_state_externalGet Customer State by External IDreadpolar.customers.listList Customersreadpolar.customers.list_payment_methodsList Customer Payment Methodsreadpolar.customers.list_payment_methods_externalList Customer Payment Methods by External IDreadpolar.customers.updateUpdate Customerwritepolar.customers.update_externalUpdate Customer by External IDwrite
Customer members8
polar.customer_members.createCreate Memberwritepolar.customer_members.create_externalCreate Member by Customer External IDwritepolar.customer_members.deleteDelete Memberdestructivepolar.customer_members.delete_externalDelete Member by External IDdestructivepolar.customer_members.getGet Memberreadpolar.customer_members.get_externalGet Member by External IDreadpolar.customer_members.updateUpdate Memberwritepolar.customer_members.update_externalUpdate Member by External IDwrite
Orders8
polar.orders.createCreate Orderwritepolar.orders.finalizeFinalize Orderwritepolar.orders.generate_invoiceGenerate Order Invoicewritepolar.orders.getGet Orderreadpolar.orders.get_invoiceGet Order Invoicereadpolar.orders.get_receiptGet Order Receiptreadpolar.orders.listList Ordersreadpolar.orders.updateUpdate Orderwrite
Benefits7
polar.benefits.createCreate Benefitwritepolar.benefits.deleteDelete Benefitdestructivepolar.benefits.getGet Benefitreadpolar.benefits.listList Benefitsreadpolar.benefits.list_filesList Benefit Filesreadpolar.benefits.list_grantsList Benefit Grantsreadpolar.benefits.updateUpdate Benefitwrite
License keys7
polar.license_keys.activateActivate License Keywritepolar.license_keys.deactivateDeactivate License Keydestructivepolar.license_keys.getGet License Keyreadpolar.license_keys.get_activationGet Activationreadpolar.license_keys.listList License Keysreadpolar.license_keys.updateUpdate License Keywritepolar.license_keys.validateValidate License Keyread
Webhook endpoints6
polar.webhook_endpoints.createCreate Webhook Endpointwritepolar.webhook_endpoints.deleteDelete Webhook Endpointdestructivepolar.webhook_endpoints.getGet Webhook Endpointreadpolar.webhook_endpoints.listList Webhook Endpointsreadpolar.webhook_endpoints.reset_secretReset Webhook Endpoint Secretwritepolar.webhook_endpoints.updateUpdate Webhook Endpointwrite
Checkout links5
polar.checkout_links.createCreate Checkout Linkwritepolar.checkout_links.deleteDelete Checkout Linkdestructivepolar.checkout_links.getGet Checkout Linkreadpolar.checkout_links.listList Checkout Linksreadpolar.checkout_links.updateUpdate Checkout Linkwrite
Custom fields5
polar.custom_fields.createCreate Custom Fieldwritepolar.custom_fields.deleteDelete Custom Fielddestructivepolar.custom_fields.getGet Custom Fieldreadpolar.custom_fields.listList Custom Fieldsreadpolar.custom_fields.updateUpdate Custom Fieldwrite
Discounts5
polar.discounts.createCreate Discountwritepolar.discounts.deleteDelete Discountdestructivepolar.discounts.getGet Discountreadpolar.discounts.listList Discountsreadpolar.discounts.updateUpdate Discountwrite
Files5
polar.files.complete_uploadComplete File Uploadwritepolar.files.createCreate Filewritepolar.files.deleteDelete Filedestructivepolar.files.listList Filesreadpolar.files.updateUpdate Filewrite
Meters5
polar.meters.createCreate Meterwritepolar.meters.getGet Meterreadpolar.meters.get_quantitiesGet Meter Quantitiesreadpolar.meters.listList Metersreadpolar.meters.updateUpdate Meterwrite
Metric dashboards5
polar.metric_dashboards.createCreate Metric Dashboardwritepolar.metric_dashboards.deleteDelete Metric Dashboarddestructivepolar.metric_dashboards.getGet Metric Dashboardreadpolar.metric_dashboards.listList Metric Dashboardsreadpolar.metric_dashboards.updateUpdate Metric Dashboardwrite
Products5
polar.products.createCreate Productwritepolar.products.getGet Productreadpolar.products.listList Productsreadpolar.products.updateUpdate Productwritepolar.products.update_benefitsUpdate Product Benefitswrite
Subscriptions5
polar.subscriptions.createCreate Subscriptionwritepolar.subscriptions.getGet Subscriptionreadpolar.subscriptions.listList Subscriptionsreadpolar.subscriptions.revokeRevoke Subscriptiondestructivepolar.subscriptions.updateUpdate Subscriptionwrite
Checkouts4
polar.checkouts.createCreate Checkout Sessionwritepolar.checkouts.getGet Checkout Sessionreadpolar.checkouts.listList Checkout Sessionsreadpolar.checkouts.updateUpdate Checkout Sessionwrite
Customer seats4
polar.customer_seats.assignAssign Seatwritepolar.customer_seats.listList Seatsreadpolar.customer_seats.resend_invitationResend Invitationwritepolar.customer_seats.revokeRevoke Seatdestructive
Events4
polar.events.getGet Eventreadpolar.events.ingestIngest Eventswritepolar.events.listList Eventsreadpolar.events.list_namesList Event Namesread
Oauth2 clients4
polar.oauth2_clients.createCreate Clientwritepolar.oauth2_clients.deleteDelete Clientdestructivepolar.oauth2_clients.getGet Clientreadpolar.oauth2_clients.updateUpdate Clientwrite
Organizations4
polar.organizations.createCreate Organizationwritepolar.organizations.getGet Organizationreadpolar.organizations.listList Organizationsreadpolar.organizations.updateUpdate Organizationwrite
Disputes3
polar.disputes.acceptAccept Disputedestructivepolar.disputes.getGet Disputereadpolar.disputes.listList Disputesread
Customer meters2
polar.customer_meters.getGet Customer Meterreadpolar.customer_meters.listList Customer Metersread
Event types2
polar.event_types.listList Event Typesreadpolar.event_types.updateUpdate Event Typewrite
Metrics2
polar.metrics.getGet Metricsreadpolar.metrics.get_limitsGet Metrics Limitsread
Payments2
polar.payments.getGet Paymentreadpolar.payments.listList Paymentsread
Refunds2
polar.refunds.createCreate Refunddestructivepolar.refunds.listList Refundsread
Benefit grants1
polar.benefit_grants.listList Benefit Grantsread
Customer sessions1
polar.customer_sessions.createCreate Customer Sessionwrite
Members1
polar.members.listList Membersread
Webhook deliveries1
polar.webhook_deliveries.listList Webhook Deliveriesread
Webhook events1
polar.webhook_events.redeliverRedeliver Webhook Eventwrite
Questions
The Polar MCP server, answered.
Is there a Polar MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 126 Polar actions across customers, customer members, orders and benefits, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Polar.
What do I need to connect Polar?
Polar Organization Access Token (Polar dashboard > organization Settings > Developers > New Token, with the scopes…. Plus your host. The free call account { op: "connections.requirements", service: "polar" } lists exactly what to paste.
Can an AI agent delete or change things in Polar?
Only if its key allows it, and only with an explicit confirmation. 17 Polar actions are destructive, including delete Customer, delete Discount and create Refund. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Polar API limit?
actionlake paces every call to the limits in the Polar service file: 500 calls a minute per connection. Repeated reads are answered from cache (60 Polar actions can be), which never reaches Polar.
What does a Polar action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (126 Polar actions page). Cache hits, searches, dry runs and calls Polar refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Polar API does it cover?
The Polar API v1 (OpenAPI 2026-04) at api.polar.sh by default, or the base URL set when you connect. It is built from Polar's documentation as read on 23 October 2026. 126 actions in 30 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Polar data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Polar credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Polar today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.