MCP server for Autumn — read customers, plans, balances & invoices; track usage and attach plans.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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 }.
The ID of the plan.
The ID of the customer to attach the plan to.
The version of the plan to attach.
Optional plan overrides (price, items, licenses, free trial).
The ID of the entity to attach the plan to.
URL to redirect to after a successful checkout.
Invoice-mode configuration object (send an invoice instead of auto-charging).
Checkout redirect mode: always, if_required, or never.
Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }.
Extra Stripe checkout session params (can carry metadata).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
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 }.
| Argument | Type | Description |
|---|---|---|
| plan_id* | string | The ID of the plan. |
| version | integer | The version of the plan to attach. |
| customize | object | Optional plan overrides (price, items, licenses, free trial). |
| entity_id | string | The ID of the entity to attach the plan to. |
| customer_id* | string | The ID of the customer to attach the plan to. |
| success_url | string | URL to redirect to after a successful checkout. |
| invoice_mode | object | Invoice-mode configuration object (send an invoice instead of auto-charging). |
| redirect_mode | string | Checkout redirect mode: always, if_required, or never. |
| feature_quantities | array | Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }. |
| checkout_session_params | object | Extra Stripe checkout session params (can carry metadata). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id",
"plan_id"
],
"properties": {
"plan_id": {
"type": "string",
"description": "The ID of the plan."
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "The version of the plan to attach."
},
"customize": {
"type": "object",
"description": "Optional plan overrides (price, items, licenses, free trial).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"entity_id": {
"type": "string",
"description": "The ID of the entity to attach the plan to."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer to attach the plan to."
},
"success_url": {
"type": "string",
"description": "URL to redirect to after a successful checkout."
},
"invoice_mode": {
"type": "object",
"description": "Invoice-mode configuration object (send an invoice instead of auto-charging).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"redirect_mode": {
"type": "string",
"description": "Checkout redirect mode: always, if_required, or never."
},
"feature_quantities": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }."
},
"checkout_session_params": {
"type": "object",
"description": "Extra Stripe checkout session params (can carry metadata).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| entity_id | string | Entity id for entity-scoped balances (e.g. per-seat limits). |
| feature_id* | string | The ID of the feature to check. |
| customer_id* | string | The ID of the customer. |
| with_preview | boolean | Include upgrade/upsell (paywall) info in the response when access is denied. |
| required_balance | number | Minimum balance required for access. Returns allowed:false if below. Defaults to 1. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id",
"feature_id"
],
"properties": {
"entity_id": {
"type": "string",
"description": "Entity id for entity-scoped balances (e.g. per-seat limits)."
},
"feature_id": {
"type": "string",
"description": "The ID of the feature to check."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer."
},
"with_preview": {
"type": "boolean",
"description": "Include upgrade/upsell (paywall) info in the response when access is denied."
},
"required_balance": {
"type": "number",
"description": "Minimum balance required for access. Returns allowed:false if below. Defaults to 1."
}
}
}MUTATES Autumn billing data — creates an entity (e.g. a seat) under a customer, tied to a feature. Autumn API: POST /v1/entities.create.
| Argument | Type | Description |
|---|---|---|
| name | string | null | The name of the entity. |
| entity_id* | string | The ID of the entity. |
| feature_id* | string | The ID of the feature this entity is associated with. |
| customer_id* | string | The ID of the customer to create the entity for. |
| billing_controls | object | Optional billing controls for the entity (spend/usage limits). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id",
"entity_id",
"feature_id"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "The name of the entity."
},
"entity_id": {
"type": "string",
"description": "The ID of the entity."
},
"feature_id": {
"type": "string",
"description": "The ID of the feature this entity is associated with."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer to create the entity for."
},
"billing_controls": {
"type": "object",
"description": "Optional billing controls for the entity (spend/usage limits).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Fetch a single Autumn customer by id, optionally expanding related data (invoices, entities, subscriptions, balances). Autumn API: POST /v1/customers.get.
| Argument | Type | Description |
|---|---|---|
| expand | array | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. |
| customer_id* | string | Your unique identifier for the customer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
},
"description": "Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature."
},
"customer_id": {
"type": "string",
"description": "Your unique identifier for the customer."
}
}
}Fetch a single entity (e.g. a seat) belonging to a customer. Autumn API: POST /v1/entities.get.
| Argument | Type | Description |
|---|---|---|
| expand | array | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. |
| entity_id* | string | The ID of the entity. |
| customer_id* | string | The ID of the customer that owns the entity. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id",
"entity_id"
],
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
},
"description": "Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature."
},
"entity_id": {
"type": "string",
"description": "The ID of the entity."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer that owns the entity."
}
}
}Fetch a single feature by id. Autumn API: POST /v1/features.get.
| Argument | Type | Description |
|---|---|---|
| feature_id* | string | The ID of the feature. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"feature_id"
],
"properties": {
"feature_id": {
"type": "string",
"description": "The ID of the feature."
}
}
}MUTATES Autumn billing data — fetches a customer by id, creating them if they do not exist. Autumn API: POST /v1/customers.get_or_create.
| Argument | Type | Description |
|---|---|---|
| name | string | Customer's name. |
| string | Customer's email address. | |
| expand | array | Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature. |
| currency | string | Currency to bill this customer in (e.g. usd, eur). |
| metadata | object | Arbitrary key/value metadata for the customer. |
| stripe_id | string | Existing Stripe customer id, if any. |
| customer_id* | string | null | Your unique identifier for the customer (null to create an anonymous customer). |
| fingerprint | string | Unique identifier to detect duplicate customers / prevent free-trial abuse. |
| create_in_stripe |
Fetch a single plan by id (optionally a specific version). Autumn API: POST /v1/plans.get.
| Argument | Type | Description |
|---|---|---|
| plan_id* | string | The ID of the plan to retrieve. |
| version | integer | The plan version to get. Defaults to the latest. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"plan_id"
],
"properties": {
"plan_id": {
"type": "string",
"description": "The ID of the plan to retrieve."
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "The plan version to get. Defaults to the latest."
}
}
}List/filter customers with cursor pagination. Autumn API: POST /v1/customers.list. Returns { list, next_cursor }.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-5000. Default 50. |
| plans | array | Filter by plan: array of { id, versions? } objects. |
| search | string | Search customers by id, name, or email. |
| processors | array | Filter by processor type: stripe, revenuecat, vercel. |
| start_cursor | string | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). |
| subscription_status | string | Filter by status: "active" or "scheduled". Defaults to both. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 5000,
"minimum": 1,
"description": "Page size, 1-5000. Default 50."
},
"plans": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Filter by plan: array of { id, versions? } objects."
},
"search": {
"type": "string",
"description": "Search customers by id, name, or email."
},
"processors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by processor type: stripe, revenuecat, vercel."
},
"start_cursor": {
"type": "string",
"description": "Pagination cursor from a prior response's `next_cursor` (omit / empty for first page)."
},
"subscription_status": {
"type": "string",
"description": "Filter by status: \"active\" or \"scheduled\". Defaults to both."
}
}
}List a customer's entities with cursor pagination and optional filters. Autumn API: POST /v1/entities.list. Returns { list, next_cursor }.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-5000. Default 50. |
| plans | array | Filter by plan: array of { id, versions? } objects. |
| search | string | Search entities by id or name. |
| processors | array | Filter by parent customer processor: stripe, revenuecat, vercel. |
| customer_id* | string | Restrict the response to entities owned by this customer id. |
| start_cursor | string | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). |
| subscription_status | string | Filter by status: "active" or "scheduled". Defaults to both. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 5000,
"minimum": 1,
"description": "Page size, 1-5000. Default 50."
},
"plans": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Filter by plan: array of { id, versions? } objects."
},
"search": {
"type": "string",
"description": "Search entities by id or name."
},
"processors": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by parent customer processor: stripe, revenuecat, vercel."
},
"customer_id": {
"type": "string",
"description": "Restrict the response to entities owned by this customer id."
},
"start_cursor": {
"type": "string",
"description": "Pagination cursor from a prior response's `next_cursor` (omit / empty for first page)."
},
"subscription_status": {
"type": "string",
"description": "Filter by status: \"active\" or \"scheduled\". Defaults to both."
}
}
}List all features in the current environment. Autumn API: POST /v1/features.list. Returns { list }.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List invoices with cursor pagination and optional filters. Autumn API: POST /v1/invoices.list. Returns { list, next_cursor }.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 1-5000. Default 50. |
| status | array | Filter by invoice status: draft, open, paid, void, uncollectible. |
| entity_id | string | Filter to a single entity by id (must be paired with customer_id). |
| customer_id | string | Filter to a single customer by id. |
| start_cursor | string | Pagination cursor from a prior response's `next_cursor` (omit / empty for first page). |
| processor_types | array | Filter by processor: stripe, revenuecat. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 5000,
"minimum": 1,
"description": "Page size, 1-5000. Default 50."
},
"status": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by invoice status: draft, open, paid, void, uncollectible."
},
"entity_id": {
"type": "string",
"description": "Filter to a single entity by id (must be paired with customer_id)."
},
"customer_id": {
"type": "string",
"description": "Filter to a single customer by id."
},
"start_cursor": {
"type": "string",
"description": "Pagination cursor from a prior response's `next_cursor` (omit / empty for first page)."
},
"processor_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by processor: stripe, revenuecat."
}
}
}List all plans (products) in the current environment. Autumn API: POST /v1/plans.list. Returns { list }.
| Argument | Type | Description |
|---|---|---|
| entity_id | string | Entity id for entity-scoped plans. |
| customer_id | string | Include eligibility info (trial availability, attach scenario) for this customer. |
| all_versions | boolean | If true, include all plan versions. |
| include_archived | boolean | If true, include archived plans. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"entity_id": {
"type": "string",
"description": "Entity id for entity-scoped plans."
},
"customer_id": {
"type": "string",
"description": "Include eligibility info (trial availability, attach scenario) for this customer."
},
"all_versions": {
"type": "boolean",
"description": "If true, include all plan versions."
},
"include_archived": {
"type": "boolean",
"description": "If true, include archived plans."
}
}
}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 }.
| Argument | Type | Description |
|---|---|---|
| return_url | string | URL to redirect to when the back button is clicked in the portal. |
| customer_id* | string | The ID of the customer to open the billing portal for. |
| configuration_id | string | Stripe billing-portal configuration id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"return_url": {
"type": "string",
"description": "URL to redirect to when the back button is clicked in the portal."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer to open the billing portal for."
},
"configuration_id": {
"type": "string",
"description": "Stripe billing-portal configuration id."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| plan_id* | string | The ID of the plan. |
| version | integer | The version of the plan to attach. |
| customize | object | Optional plan overrides (price, items, licenses, free trial). |
| entity_id | string | The ID of the entity to attach the plan to. |
| customer_id* | string | The ID of the customer to attach the plan to. |
| feature_quantities | array | Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id",
"plan_id"
],
"properties": {
"plan_id": {
"type": "string",
"description": "The ID of the plan."
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "The version of the plan to attach."
},
"customize": {
"type": "object",
"description": "Optional plan overrides (price, items, licenses, free trial).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"entity_id": {
"type": "string",
"description": "The ID of the entity to attach the plan to."
},
"customer_id": {
"type": "string",
"description": "The ID of the customer to attach the plan to."
},
"feature_quantities": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Prepaid feature quantities: array of { feature_id, quantity?, adjustable? }."
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| body | object | JSON body object to POST (the endpoint's params). |
| path* | string | Full API path, e.g. "/v1/customers.get". Only read/preview suffixes are allowed. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"path"
],
"properties": {
"body": {
"type": "object",
"description": "JSON body object to POST (the endpoint's params).",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"path": {
"type": "string",
"description": "Full API path, e.g. \"/v1/customers.get\". Only read/preview suffixes are allowed."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| value | number | Amount of usage to record. Defaults to 1. Negative values credit the balance. |
| entity_id | string | Entity id for entity-scoped balances. |
| timestamp | integer | Unix timestamp (ms) for the event. Defaults to now. |
| event_name | string | Event name to track usage for. Provide this OR feature_id. |
| feature_id | string | The feature to track usage for. Provide this OR event_name. |
| properties | object | Additional properties to attach to the usage event. |
| customer_id* | string | The ID of the customer. |
| idempotencyKey | string | Optional key to dedupe retried events. |
MUTATES Autumn billing data — partially updates a customer. Only provided fields change. Autumn API: POST /v1/customers.update.
| Argument | Type | Description |
|---|---|---|
| name | string | null | Customer's name. |
| string | null | Customer's email address. | |
| currency | string | null | Currency to bill this customer in (e.g. usd, eur). |
| metadata | any | Arbitrary key/value metadata for the customer. |
| stripe_id | string | null | Stripe customer id. |
| customer_id* | string | ID of the customer to update. |
| fingerprint | string | null | Duplicate-detection fingerprint. |
| new_customer_id | string | New id for the customer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"name": {
"type": [
"string",
"null"
],
"description": "Customer's name."
},
"email": {
"type": [
"string",
"null"
],
"description": "Customer's email address."
},
"currency": {
"type": [
"string",
"null"
],
"description": "Currency to bill this customer in (e.g. usd, eur)."
},
"metadata": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Arbitrary key/value metadata for the customer."
},
"stripe_id": {
"type": [
"string",
"null"
],
"description": "Stripe customer id."
},
"customer_id": {
"type": "string",
"description": "ID of the customer to update."
},
"fingerprint": {
"type": [
"string",
"null"
],
"description": "Duplicate-detection fingerprint."
},
"new_customer_id": {
"type": "string",
"description": "New id for the customer."
}
}
}| boolean |
| Whether to create the customer in Stripe. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"name": {
"type": "string",
"description": "Customer's name."
},
"email": {
"type": "string",
"description": "Customer's email address."
},
"expand": {
"type": "array",
"items": {
"type": "string"
},
"description": "Related data to expand, e.g. invoices, entities, subscriptions.plan, purchases.plan, balances.feature."
},
"currency": {
"type": "string",
"description": "Currency to bill this customer in (e.g. usd, eur)."
},
"metadata": {
"type": "object",
"description": "Arbitrary key/value metadata for the customer.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"stripe_id": {
"type": "string",
"description": "Existing Stripe customer id, if any."
},
"customer_id": {
"type": [
"string",
"null"
],
"description": "Your unique identifier for the customer (null to create an anonymous customer)."
},
"fingerprint": {
"type": "string",
"description": "Unique identifier to detect duplicate customers / prevent free-trial abuse."
},
"create_in_stripe": {
"type": "boolean",
"description": "Whether to create the customer in Stripe."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"customer_id"
],
"properties": {
"value": {
"type": "number",
"description": "Amount of usage to record. Defaults to 1. Negative values credit the balance."
},
"entity_id": {
"type": "string",
"description": "Entity id for entity-scoped balances."
},
"timestamp": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Unix timestamp (ms) for the event. Defaults to now."
},
"event_name": {
"type": "string",
"description": "Event name to track usage for. Provide this OR feature_id."
},
"feature_id": {
"type": "string",
"description": "The feature to track usage for. Provide this OR event_name."
},
"properties": {
"type": "object",
"description": "Additional properties to attach to the usage event.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"customer_id": {
"type": "string",
"description": "The ID of the customer."
},
"idempotencyKey": {
"type": "string",
"description": "Optional key to dedupe retried events."
}
}
}