recharge
Server Details
Read subscriptions, customers, charges, orders; skip charges, cancel or activate subscriptions.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 15 of 15 tools scored.
Each tool targets a distinct resource and action (e.g., activate vs cancel subscription, list vs get for each entity). No two tools have overlapping purposes.
All tools follow a consistent pattern: recharge_<verb>_<resource> (e.g., recharge_get_subscription, recharge_list_charges). Verbs are uniform (get, list, activate, cancel, skip).
15 tools cover essential read and mutation operations for subscriptions and charges, plus read-only for other entities. This is well-scoped without being excessive or insufficient.
The server lacks create, update, and delete operations for most resources (customers, addresses, orders, products, subscriptions). Only subscription activation/cancel and charge skip are mutations. This is a significant gap for a subscription management API.
Available Tools
15 toolsrecharge_activate_subscriptionActivate subscriptionADestructiveInspect
REACTIVATES a cancelled subscription — resumes future charges. This MODIFIES live data. Recharge REST: POST /subscriptions/{id}/activate (no body). Returns { subscription }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Subscription id to reactivate. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true. The description adds useful behavioral context: it modifies live data, resumes future charges, and specifies the REST endpoint and body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the action, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple activation tool with one parameter and no output schema, the description covers the return format and key behavior. Lacks error handling or prerequisites, but sufficient for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter 'id' has 100% schema coverage with description 'Subscription id to reactivate.' The tool description adds no additional parameter details, so baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'REACTIVATES' and the resource 'cancelled subscription', clearly distinguishing it from siblings like recharge_cancel_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the condition ('cancelled subscription') for using the tool, but does not explicitly mention alternatives or when not to use it, though the context is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_cancel_subscriptionCancel subscriptionADestructiveInspect
CANCELS an active subscription — stops all future charges. This MODIFIES live data. A cancellation_reason is required. Recharge REST: POST /subscriptions/{id}/cancel with JSON body { cancellation_reason, cancellation_reason_comments? }. Returns { subscription }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Subscription id to cancel. | |
| cancellation_reason | Yes | Reason for cancelling (required by Recharge). | |
| cancellation_reason_comments | No | Optional free-text detail about the cancellation. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'MODIFIES live data' and 'stops all future charges', adding behavioral context beyond the destructiveHint annotation. It also mentions the required cancellation_reason, but does not cover reversibility or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences covering purpose and side effects, plus a third for the REST endpoint and return value. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cancellation tool with no output schema, the description covers the action, side effects, required parameter, and return shape ('Returns { subscription }'). It is reasonably complete, though lacks details on response fields and error states.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description restates that cancellation_reason is required and mentions optional comments, but does not add new meaning or constraints beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cancels an active subscription and stops future charges. The verb 'CANCEL' is strong and specific to the resource 'subscription'. It distinguishes itself from sibling tools like recharge_activate_subscription and recharge_skip_charge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates the tool is for canceling active subscriptions, but does not explicitly state when NOT to use it or provide direct alternatives (e.g., skipping a charge instead). The context is present but excludes negative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_get_chargeGet chargeARead-onlyInspect
Get a single charge by id, including line items, totals, status, scheduled date, and customer/address. Recharge REST: GET /charges/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Charge id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so agent knows it's safe. Description adds details on returned fields but doesn't cover error handling or pagination. Adequate with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose and output, second gives REST endpoint. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple read tool with one parameter and no output schema. Description covers purpose, returned fields, and endpoint. Complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the id parameter. Description adds no additional parameter semantics beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single charge by id' and lists included data (line items, totals, etc.), distinguishing it from sibling list and mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when you have a specific charge ID, but lacks explicit guidance on when not to use or alternatives like recharge_list_charges.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_get_customerGet customerARead-onlyInspect
Get a single customer by id, including contact details, Shopify customer id, and subscription/charge counts. Recharge REST: GET /customers/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; description adds that it returns contact details, Shopify customer id, and counts, but no additional behavioral traits like error handling or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose and included fields, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Reasonably complete for a simple read operation with one parameter, though no output schema exists to detail return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters; description adds no extra meaning beyond the schema's 'Customer id.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single customer by id' and lists included fields, distinguishing from list tools like recharge_list_customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for retrieving a specific customer, but no explicit guidance on when to use vs alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_get_orderGet orderARead-onlyInspect
Get a single order by id, including line items, totals, status, and the charge/subscription it came from. Recharge REST: GET /orders/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, and the description adds context about the HTTP method (GET) and the elements included in the response. This is consistent and provides useful behavioral detail beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the purpose and included fields, the second gives the REST endpoint. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with no output schema, the description adequately explains the return content (line items, totals, status, charge/subscription). No critical missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add extra detail about the 'id' parameter beyond what the schema already provides (e.g., no format or example).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a single order by ID, listing what is included (line items, totals, status, charge/subscription). It distinguishes from sibling tools like recharge_list_orders by specifying a single resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies using this tool for retrieving details of one order, but does not explicitly state when to use it versus alternatives like recharge_list_orders, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_get_storeGet storeARead-onlyInspect
Get the Recharge store/shop info — name, domain, currency, timezone, and account settings. Recharge REST: GET /store.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The 'readOnlyHint' annotation already indicates a safe read operation. The description adds the endpoint 'GET /store' and lists return fields, but does not disclose additional behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the tool's purpose. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a useful list of returned fields. While additional context like authentication or error behavior could be included, the simplicity of the tool makes the description sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters and schema description coverage is 100%. With no parameters, the description correctly omits parameter details. Baseline score is appropriate as no additional value needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'store/shop info', listing specific fields returned. It is distinct from all sibling tools, which focus on subscriptions, charges, customers, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when store info is needed, but does not explicitly state when to use or not use this tool, nor mention alternatives. Among siblings, no other tool retrieves store data, so the purpose is clear by context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_get_subscriptionGet subscriptionARead-onlyInspect
Get a single subscription by id, including product, quantity, price, charge interval, and next charge date. Recharge REST: GET /subscriptions/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Subscription id. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the tool is safe. The description adds what fields are returned but does not elaborate on side effects or other behavioral traits. With annotations covering safety, this score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with verb and resource, then lists information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description includes the API endpoint (Recharge REST: GET /subscriptions/{id}) and covers the essential details for a simple read operation. No output schema exists, but the returned fields are listed. Adequate for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter (id) fully with description. The tool description does not add extra meaning beyond the schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single subscription by id' and lists the specific fields returned (product, quantity, price, charge interval, next charge date). It distinguishes from sibling tools like list_subscriptions and other mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use the tool (to retrieve a specific subscription by id). It implicitly excludes other operations like activation or cancellation. No explicit when-not or alternative is given, but the context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_addressesList addressesARead-onlyInspect
List customer addresses with optional filters (customer, ids, created/updated date ranges). Returns { addresses }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of address ids to fetch. | |
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| customer_id | No | Filter by customer id. | |
| created_at_max | No | Filter to addresses created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to addresses created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to addresses updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to addresses updated on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give readOnlyHint. Description adds pagination details, cursor restriction, and REST endpoint. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise 4 sentences. Front-loaded purpose, then filter summary, pagination details, and important cursor warning in bold. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, filters, pagination, cursor restriction, REST endpoint. Lacks return object structure, but with 8 optional params, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% with detailed descriptions. Description summarizes filters but adds little beyond schema. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'customer addresses' with optional filters. Siblings are for different entities (charges, customers, etc.), so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit cursor usage rule: omit other filters with cursor. No explicit when-not-to-use, but context makes it clear for different resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_chargesList chargesARead-onlyInspect
List charges with optional filters (customer, address, status, ids, purchase item, scheduled/created/updated date ranges) and sorting. Returns { charges }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /charges.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of charge ids to fetch. | |
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| status | No | Filter by charge status: success | queued | error | refunded | partially_refunded | skipped | pending_manual_payment | pending. | |
| sort_by | No | Sort order: id-asc | id-desc | updated_at-asc | updated_at-desc | scheduled_at-asc | scheduled_at-desc. | |
| address_id | No | Filter by address id. | |
| customer_id | No | Filter by customer id. | |
| scheduled_at | No | Filter to charges scheduled on this date (ISO 8601). | |
| created_at_max | No | Filter to charges created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to charges created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to charges updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to charges updated on/after this date (ISO 8601). | |
| purchase_item_id | No | Filter to charges containing this purchase item (subscription/onetime line item) id. | |
| scheduled_at_max | No | Filter to charges scheduled on/before this date (ISO 8601). | |
| scheduled_at_min | No | Filter to charges scheduled on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description details pagination mechanics, cursor constraints, and return structure ({ charges }), adding significant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded with the verb and purpose. The REST endpoint mention is slightly extraneous but not detrimental.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 15 well-documented parameters and no output schema, the description adequately covers pagination, sorting, and filter combinations; no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description reinforces critical cursor behavior and summarizes filter options, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List charges') and enumerates available filters, distinguishing it from get_charge (single) and other siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns about cursor pagination restriction ('omit every other filter'), but does not explicitly contrast alternatives (e.g., when to use get_charge).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_customersList customersARead-onlyInspect
List customers with optional filters (email, ids, created/updated date ranges) and sorting. Returns { customers }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /customers.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of customer ids to fetch. | |
| No | Filter by customer email. | ||
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| sort_by | No | Sort order: id-asc | id-desc | created_at-asc | created_at-desc | updated_at-asc | updated_at-desc. | |
| created_at_max | No | Filter to customers created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to customers created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to customers updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to customers updated on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds behavioral details: pagination behavior, sorting options, and cursor/filter interaction. Could mention error responses or rate limits, but the provided context is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-structured sentences with front-loaded purpose, pagination details, and an important warning in caps. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains the return format ({ customers }), covers all filter types, sorting, pagination, and cursor constraint. Lacks output schema but describes response adequately. Does not mention edge cases like empty results, but overall complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage with parameter descriptions. The description adds value by summarizing filter types and explaining the critical cursor condition, which is not fully captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists customers with optional filters and sorting, and returns { customers }. It specifies the REST endpoint. However, it does not explicitly differentiate from sibling list tools like recharge_list_addresses, though the resource name makes it clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear instructions on pagination (cursor-based, limit, max 250), and emphasizes the critical constraint that when using cursor, all other filters must be omitted. Does not compare to sibling tools, but that is less necessary as resources differ.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_onetimesList one-timesARead-onlyInspect
List one-time (non-recurring) line items with optional filters (customer, address, created/updated date ranges). Returns { onetimes }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /onetimes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| address_id | No | Filter by address id. | |
| customer_id | No | Filter by customer id. | |
| created_at_max | No | Filter to one-times created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to one-times created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to one-times updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to one-times updated on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, and the description aligns with that (list operation). The description adds behavioral details beyond annotations: cursor-based pagination, the response shape '{ onetimes }', and the API endpoint. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences that front-load the core purpose, then pack in filters, response shape, and critical pagination rules. No redundant words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions the response object '{ onetimes }'. It covers purpose, filters, pagination details, and the API endpoint. The only minor gap is not describing the structure of individual one-time items, but for a list tool this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good descriptions for each parameter. The description adds some extra context about pagination cursor behavior and response format, but the schema already documents each parameter's purpose. The added value is moderate, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'one-time (non-recurring) line items' with optional filters, which is a specific verb+resource. The sibling list tools (e.g., list_subscriptions, list_charges) are differentiated by resource name, so no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use filters, but more importantly, it gives explicit pagination instructions: 'when paging with cursor, omit every other filter'. This is valuable guidance. However, it doesn't explicitly state when NOT to use this tool versus other list tools, though context makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_ordersList ordersARead-onlyInspect
List orders with optional filters (customer, address, subscription, status, ids, created/updated/scheduled date ranges) and sorting. Returns { orders }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /orders.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of order ids to fetch. | |
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| status | No | Filter by order status, e.g. success | queued | error | refunded | skipped | cancelled. | |
| sort_by | No | Sort order: id-asc | id-desc | created_at-asc | created_at-desc | updated_at-asc | updated_at-desc. | |
| address_id | No | Filter by address id. | |
| customer_id | No | Filter by customer id. | |
| created_at_max | No | Filter to orders created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to orders created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to orders updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to orders updated on/after this date (ISO 8601). | |
| subscription_id | No | Filter by subscription id. | |
| scheduled_at_max | No | Filter to orders scheduled on/before this date (ISO 8601). | |
| scheduled_at_min | No | Filter to orders scheduled on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. Description adds behavioral details: returns { orders }, cursor-based pagination with limit max 250, and the API endpoint. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, front-loaded with purpose, then pagination details and constraint, ending with API endpoint. Every sentence adds value, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 14 parameters (all documented) and no output schema, the description covers the key aspects: filters, pagination, cursor constraint. Could mention rate limits or response structure, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%. Description summarizes filter categories but adds no new semantic meaning beyond what schema already provides. The pagination constraint is useful but pertains to usage, not parameter semantics per se.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List orders' (verb+resource) and lists optional filters and sorting, distinguishing it from sibling tools like recharge_get_order or recharge_list_charges.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit pagination behavior and the critical constraint that when using cursor, all other filters must be omitted. Does not explicitly mention when not to use, but context is sufficient given sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_productsList productsARead-onlyInspect
List Recharge products (subscription rules / discounts per product) with optional id filter. Returns { products }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /products.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of product ids to fetch. | |
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by detailing pagination constraints and the REST endpoint. However, it does not describe the return structure beyond '{ products }', which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences plus a REST note. No wasted words; key information is front-loaded (purpose first, then pagination rules, then warning, then endpoint).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 3 parameters and no output schema, the description adequately covers filtering, pagination, and the critical constraint. The sibling tools are distinct entities, so no further disambiguation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds the critical warning about omitting filters during cursor-based pagination, which is not in the schema. It also restates defaults and limits, adding clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'List Recharge products (subscription rules / discounts per product) with optional id filter', providing a clear verb and resource. The domain clarification distinguishes it from other list tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit pagination rules: 'when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests.' This tells when and how to use the tool, including limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_list_subscriptionsList subscriptionsARead-onlyInspect
List subscriptions with optional filters (customer, address, status, ids, created/updated date ranges) and sorting. Returns { subscriptions }. Pagination is cursor-based: pass limit (default 50, max 250) and read next_cursor / previous_cursor from the response. IMPORTANT: when paging with cursor, Recharge accepts ONLY limit alongside it — omit every other filter on cursor requests. Recharge REST: GET /subscriptions.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | Comma-separated list of subscription ids to fetch. | |
| limit | No | Max results per page (1-250, default 50). | |
| cursor | No | Pagination cursor (next_cursor / previous_cursor from a prior response). Use it ALONE with `limit` — omit all other filters on cursor requests. | |
| status | No | Filter by subscription status, e.g. active | cancelled | expired. | |
| sort_by | No | Sort order: id-asc | id-desc | created_at-asc | created_at-desc | updated_at-asc | updated_at-desc. | |
| address_id | No | Filter by address id. | |
| customer_id | No | Filter by customer id. | |
| created_at_max | No | Filter to subscriptions created on/before this date (ISO 8601). | |
| created_at_min | No | Filter to subscriptions created on/after this date (ISO 8601). | |
| updated_at_max | No | Filter to subscriptions updated on/before this date (ISO 8601). | |
| updated_at_min | No | Filter to subscriptions updated on/after this date (ISO 8601). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, consistent with a listing operation. The description adds valuable behavioral context: cursor-based pagination with default/max limits, and the critical rule to omit filters when using cursor. This goes beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences), front-loads the purpose, and every sentence adds necessary information (filters, return shape, pagination rules, REST path). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters and no output schema, the description covers key aspects: return object, pagination mechanics, filter types, sorting, and the API endpoint. It provides sufficient context for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. The description adds value by grouping parameters (filters, pagination) and highlighting the cursor constraint, which is not fully captured in individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists subscriptions with optional filters and returns the result object. The verb 'list' and resource 'subscriptions' are explicit, and it distinguishes itself from the singular 'recharge_get_subscription' sibling and other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use filters and pagination, including the crucial constraint that when using the 'cursor' parameter, only 'limit' can accompany it. This prevents common API errors and clarifies proper usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recharge_skip_chargeSkip chargeADestructiveInspect
SKIPS a scheduled charge — prevents it from processing on its scheduled date. This MODIFIES live billing data. Some stores require the specific line items to skip via purchase_item_ids. Recharge REST: POST /charges/{id}/skip with JSON body { purchase_item_ids? }. Returns { charge }.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Charge id to skip. | |
| purchase_item_ids | No | The subscription/onetime line item ids to skip (some stores require this). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description adds that the tool modifies live billing data and explains the conditional requirement for purchase_item_ids. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with only four sentences front-loaded with the core action. It includes a REST API reference without superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, destructive hint, and no output schema, the description covers the tool's purpose, key behavioral traits, and parameter conditions. It is sufficiently complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions. The description restates the purchase_item_ids parameter with context about store requirements, adding marginal value. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'SKIPS' and the resource 'charge', defining the tool's purpose as preventing a scheduled charge from processing. It distinguishes from sibling tools, none of which perform a similar skip operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about modifying live billing data and notes that some stores require specific line items via purchase_item_ids. It does not explicitly state when not to use the tool or name alternatives, but the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceEnables querying Chargebee subscriptions and customer data through natural language, supporting subscription details, customer lists, and customer profiles.14MIT

ChartMogul MCP Serverofficial
AlicenseAqualityFmaintenanceEnables interaction with the ChartMogul API to manage subscription data, customer relationships, and sales CRM activities. It allows users to retrieve key business metrics like MRR and churn while performing data operations on plans, invoices, and contacts.558MIT- Alicense-qualityCmaintenanceRead-only access to Stripe data including customers, charges, subscriptions, balance, and invoices.11MIT

Zenskar MCP Serverofficial
AlicenseBqualityAmaintenanceEnables natural language interaction with the Zenskar billing platform, covering customers, contracts, invoices, payments, accounting, products, plans, and more.100431MIT