Autumn MCP by usefulapi
Server Details
MCP server for Autumn — read customers, plans, balances & invoices; track usage and attach plans.
- Status
- Healthy
- Uptime
- 69.3% over 53 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 18 tools
Each tool targets a distinct resource or action: customer vs entity vs plan vs feature vs invoice vs billing operations. The only potential overlap is attach_plan vs preview_attach, but the read-only vs mutating distinction is explicit and clear. The autumn_request escape hatch is well-defined and read-only, so it doesn't create ambiguity.
Most tools follow a consistent snake_case verb_noun pattern (get_customer, list_entities, create_entity, update_customer, attach_plan, track_usage). However, 'autumn_request' and 'check' deviate from the pattern, being generic or single-word, which slightly breaks the uniformity.
With 18 tools, the server is well-scoped for a billing and entitlement management domain. Each tool covers a specific operation without redundancy, and the count is within the ideal 3-15+ range for a comprehensive API surface. The number feels appropriate for the breadth of functionality.
The tool surface covers core lifecycle operations: customer management (get, create, update, list), entity management (get, create, list), plan/feature retrieval, listing invoices, attaching plans, tracking usage, and checking entitlements. However, there is no explicit detach_plan, delete operations, or a get_invoice by ID, which are minor gaps that agents can work around but could cause friction in certain workflows.
Available Tools
18 toolsattach_planAttach a planDestructiveInspect
MUTATES Autumn billing data — attaches (subscribes) a plan to a customer; may create an invoice / return a payment URL. Autumn API: POST /v1/billing.attach. Returns { customer_id, invoice, payment_url, required_action }.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | The ID of the plan. | |
| version | No | The version of the plan to attach. | |
| customize | No | Optional plan overrides (price, items, licenses, free trial). | |
| entity_id | No | The ID of the entity to attach the plan to. | |
| customer_id | Yes | The ID of the customer to attach the plan to. | |
| success_url | No | URL to redirect to after a successful checkout. | |
| invoice_mode | No | Invoice-mode configuration object (send an invoice instead of auto-charging). | |
| redirect_mode | No | Checkout redirect mode: always, if_required, or never. | |
| feature_quantities | No | Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }. | |
| checkout_session_params | No | Extra Stripe checkout session params (can carry metadata). |
autumn_requestRaw read requestRead-onlyInspect
Power-user escape hatch: POST to any Autumn read/preview endpoint not wrapped by a dedicated tool. READ-ONLY — the path is validated to only allow .get / .list / .check / .preview_* actions; write actions are rejected. Autumn API: POST {path}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | JSON body object to POST (the endpoint's params). | |
| path | Yes | Full API path, e.g. "/v1/customers.get". Only read/preview suffixes are allowed. |
checkCheck feature access / balanceRead-onlyInspect
READ-ONLY entitlement check: does a customer have access to (or enough balance of) a feature? Autumn API: POST /v1/balances.check. This tool never records usage — it does not expose send_event or lock.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | No | Entity id for entity-scoped balances (e.g. per-seat limits). | |
| feature_id | Yes | The ID of the feature to check. | |
| customer_id | Yes | The ID of the customer. | |
| with_preview | No | Include upgrade/upsell (paywall) info in the response when access is denied. | |
| required_balance | No | Minimum balance required for access. Returns allowed:false if below. Defaults to 1. |
create_entityCreate an entityDestructiveInspect
MUTATES Autumn billing data — creates an entity (e.g. a seat) under a customer, tied to a feature. Autumn API: POST /v1/entities.create.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the entity. | |
| entity_id | Yes | The ID of the entity. | |
| feature_id | Yes | The ID of the feature this entity is associated with. | |
| customer_id | Yes | The ID of the customer to create the entity for. | |
| billing_controls | No | Optional billing controls for the entity (spend/usage limits). |
get_customerGet a customerRead-onlyInspect
Fetch a single Autumn customer by id, optionally expanding related data (invoices, entities, subscriptions, balances). Autumn API: POST /v1/customers.get.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. | |
| customer_id | Yes | Your unique identifier for the customer. |
get_entityGet an entityRead-onlyInspect
Fetch a single entity (e.g. a seat) belonging to a customer. Autumn API: POST /v1/entities.get.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. | |
| entity_id | Yes | The ID of the entity. | |
| customer_id | Yes | The ID of the customer that owns the entity. |
get_featureGet a featureRead-onlyInspect
Fetch a single feature by id. Autumn API: POST /v1/features.get.
| Name | Required | Description | Default |
|---|---|---|---|
| feature_id | Yes | The ID of the feature. |
get_or_create_customerGet or create a customerDestructiveInspect
MUTATES Autumn billing data — fetches a customer by id, creating them if they do not exist. Autumn API: POST /v1/customers.get_or_create.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Customer's name. | |
| No | Customer's email address. | ||
| expand | No | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. | |
| currency | No | Currency to bill this customer in (e.g. usd, eur). | |
| metadata | No | Arbitrary key/value metadata for the customer. | |
| stripe_id | No | Existing Stripe customer id, if any. | |
| customer_id | Yes | Your unique identifier for the customer (null to create an anonymous customer). | |
| fingerprint | No | Unique identifier to detect duplicate customers / prevent free-trial abuse. | |
| create_in_stripe | No | Whether to create the customer in Stripe. |
get_planGet a planRead-onlyInspect
Fetch a single plan by id (optionally a specific version). Autumn API: POST /v1/plans.get.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | The ID of the plan to retrieve. | |
| version | No | The plan version to get. Defaults to the latest. |
list_customersList customersRead-onlyInspect
List/filter customers with cursor pagination. Autumn API: POST /v1/customers.list. Returns { list, next_cursor }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-5000. Default 50. | |
| plans | No | Filter by plan: array of { id, versions? } objects. | |
| search | No | Search customers by id, name, or email. | |
| processors | No | Filter by processor type: stripe, revenuecat, vercel. | |
| start_cursor | No | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). | |
| subscription_status | No | Filter by status: "active" or "scheduled". Defaults to both. |
list_entitiesList entitiesRead-onlyInspect
List a customer's entities with cursor pagination and optional filters. Autumn API: POST /v1/entities.list. Returns { list, next_cursor }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-5000. Default 50. | |
| plans | No | Filter by plan: array of { id, versions? } objects. | |
| search | No | Search entities by id or name. | |
| processors | No | Filter by parent customer processor: stripe, revenuecat, vercel. | |
| customer_id | Yes | Restrict the response to entities owned by this customer id. | |
| start_cursor | No | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). | |
| subscription_status | No | Filter by status: "active" or "scheduled". Defaults to both. |
list_featuresList featuresRead-onlyInspect
List all features in the current environment. Autumn API: POST /v1/features.list. Returns { list }.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_invoicesList invoicesRead-onlyInspect
List invoices with cursor pagination and optional filters. Autumn API: POST /v1/invoices.list. Returns { list, next_cursor }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-5000. Default 50. | |
| status | No | Filter by invoice status: draft, open, paid, void, uncollectible. | |
| entity_id | No | Filter to a single entity by id (must be paired with customer_id). | |
| customer_id | No | Filter to a single customer by id. | |
| start_cursor | No | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). | |
| processor_types | No | Filter by processor: stripe, revenuecat. |
list_plansList plansRead-onlyInspect
List all plans (products) in the current environment. Autumn API: POST /v1/plans.list. Returns { list }.
| Name | Required | Description | Default |
|---|---|---|---|
| entity_id | No | Entity id for entity-scoped plans. | |
| customer_id | No | Include eligibility info (trial availability, attach scenario) for this customer. | |
| all_versions | No | If true, include all plan versions. | |
| include_archived | No | If true, include archived plans. |
open_customer_portalOpen customer billing portalDestructiveInspect
MUTATES Autumn billing data — creates a Stripe billing-portal session for a customer to manage their subscription. Autumn API: POST /v1/billing.open_customer_portal. Returns { customer_id, url }.
| Name | Required | Description | Default |
|---|---|---|---|
| return_url | No | URL to redirect to when the back button is clicked in the portal. | |
| customer_id | Yes | The ID of the customer to open the billing portal for. | |
| configuration_id | No | Stripe billing-portal configuration id. |
preview_attachPreview attaching a planRead-onlyInspect
Preview the cost/effect of attaching a plan to a customer WITHOUT charging or changing anything. Read-only. Autumn API: POST /v1/billing.preview_attach.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | The ID of the plan. | |
| version | No | The version of the plan to attach. | |
| customize | No | Optional plan overrides (price, items, licenses, free trial). | |
| entity_id | No | The ID of the entity to attach the plan to. | |
| customer_id | Yes | The ID of the customer to attach the plan to. | |
| feature_quantities | No | Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }. |
track_usageTrack usageDestructiveInspect
MUTATES Autumn billing data — records a usage event (deducts/credits a feature balance). Provide EITHER feature_id OR event_name. Autumn API: POST /v1/balances.track.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Amount of usage to record. Defaults to 1. Negative values credit the balance. | |
| entity_id | No | Entity id for entity-scoped balances. | |
| timestamp | No | Unix timestamp (ms) for the event. Defaults to now. | |
| event_name | No | Event name to track usage for. Provide this OR feature_id. | |
| feature_id | No | The feature to track usage for. Provide this OR event_name. | |
| properties | No | Additional properties to attach to the usage event. | |
| customer_id | Yes | The ID of the customer. | |
| idempotencyKey | No | Optional key to dedupe retried events. |
update_customerUpdate a customerDestructiveInspect
MUTATES Autumn billing data — partially updates a customer. Only provided fields change. Autumn API: POST /v1/customers.update.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Customer's name. | |
| No | Customer's email address. | ||
| currency | No | Currency to bill this customer in (e.g. usd, eur). | |
| metadata | No | Arbitrary key/value metadata for the customer. | |
| stripe_id | No | Stripe customer id. | |
| customer_id | Yes | ID of the customer to update. | |
| fingerprint | No | Duplicate-detection fingerprint. | |
| new_customer_id | No | New id for the customer. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
18 tool updates
- Changed
attach_plan1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
autumn_request1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
check1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
create_entity3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / name / typeAdded value: +[ + "string", + "null" +]
- Changed
get_customer1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_entity1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_feature1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
get_or_create_customer3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / customer_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / customer_id / typeAdded value: +[ + "string", + "null" +]
- Changed
get_plan1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_customers1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_entities1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_features1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_invoices1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
list_plans1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
open_customer_portal1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
preview_attach1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
track_usage1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
update_customer11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / currency / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / currency / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / email / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / email / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / fingerprint / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / fingerprint / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / name / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / stripe_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / stripe_id / typeAdded value: +[ + "string", + "null" +]
18 tool updates
- First observed
attach_plan - First observed
autumn_request - First observed
check - First observed
create_entity - First observed
get_customer - First observed
get_entity - First observed
get_feature - First observed
get_or_create_customer - First observed
get_plan - First observed
list_customers - First observed
list_entities - First observed
list_features - First observed
list_invoices - First observed
list_plans - First observed
open_customer_portal - First observed
preview_attach - First observed
track_usage - First observed
update_customer
Related MCP Connectors
MCP server for Recurly — accounts, subscriptions, invoices, plans; cancel & pause subs.
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
MCP server for Codat — companies, connections, invoices, bills and financial statements.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn unofficial MCP server that provides an interface to access the Autumn pricing API for managing customers, entitlements, invoices, and generating billing portal links.9MIT
- AlicenseAqualityBmaintenanceMCP server wrapping the Chargebee REST API to manage customers, subscriptions, invoices, and transactions.10Apache 2.0
- AlicenseBqualityCmaintenanceMCP server for the DataGate billing platform API, providing read-only tools to manage customers, invoices, products, agreements, sites, and payments.13MIT
- FlicenseNot gradedqualityCmaintenanceMCP server providing guarded access to a B2B SaaS billing database (customers, subscriptions, invoices, credit notes) and live ECB exchange rates, with read-only tools and one capped, idempotent write for issuing credit notes.-
Glama MCP Gateway
Add one secure layer between your agents and this server.