Skip to main content
Glama

Foxy.io MCP by usefulapi

Server Details

Read Foxy transactions, subscriptions, customers, carts and coupons; update customers and subs.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
78.0% over 77 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 14 tools

Disambiguation4/5

Each tool targets a clearly distinct resource (customers, stores, subscriptions, transactions, carts, coupons, items), so misselection is unlikely. The only mild overlap is between foxy_get_api_home and foxy_get_default_store, since the latter internally follows the fx:store link from the home document, but their descriptions distinguish them adequately.

Naming Consistency5/5

Every tool follows a strict foxy_{verb}_{noun} snake_case pattern (get/list/update combined with resource nouns). The convention is uniform across all 14 tools with no deviations or mixed styles.

Tool Count4/5

14 tools is a reasonable, well-scoped set for a store-management API surface. It leans heavily read-only (11 get/list vs 2 update), which is a slight imbalance but not excessive.

Completeness3/5

The surface covers reads across all major resources and updates for customers/subscriptions, but there are no create or delete operations for any resource, and no write paths for transactions, carts, or coupons. For a store management API this is notably read-heavy, leaving agents unable to complete full lifecycles like issuing refunds or creating coupons.

Available Tools

14 tools
foxy_get_api_homeGet API homeA
Read-only
Inspect

Get the Foxy hAPI home document — its _links / rels (including fx:store for the authenticated default store). Useful for HAL discovery. Foxy hAPI: GET /.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered. The description adds real value by disclosing the shape of the response (links/rels, including fx:store) and that the store link is for the authenticated default store, which is not derivable from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short clauses, front-loaded with the main action and payload. The trailing "Foxy hAPI: GET /." restates the endpoint already implied by the title, a minor redundancy but not harmful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of explaining the return value and does so at a high level (HAL home document with rels). For a zero-parameter read-only entry point, an agent has enough to call it correctly, though the exact rel set is left unenumerated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to disambiguate, and it correctly implies the call is parameterless by describing the endpoint as a bare GET /.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (get the hAPI home document) and enumerates what it contains (_links/rels, fx:store). It is mostly distinguishable from siblings, though it never clarifies why an agent would call this instead of foxy_get_default_store, which the fx:store mention partially overlaps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Useful for HAL discovery" implies the context of use, but there is no explicit when-to-use, when-not-to-use, or named alternative. The agent must infer that this is a root/entry-point call for link traversal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_get_customerGet customerA
Read-only
Inspect

Get a single customer by id, optionally zooming related resources (default_billing_address, subscriptions…). Foxy hAPI: GET /customers/{id}.

NameRequiredDescriptionDefault
idYesCustomer id.
zoomNoComma-separated related resources to embed.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the description's remaining burden is light. It adds that related resources can be embedded via zoom and cites the underlying endpoint, but says nothing about not-found behavior or the cost of zooming multiple resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the core operation first, then the optional zoom behavior and endpoint. Every clause carries information and nothing is repeated from the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only single-record fetch with fully documented parameters and a readOnlyHint annotation, the description gives an agent enough to invoke it correctly. It does not cover return shape or error cases, but that gap is small for a getter of this simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description earns credit by giving concrete zoom values (default_billing_address, subscriptions) that the schema's generic 'Comma-separated related resources to embed' does not enumerate. The id parameter gains nothing beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a single customer by id') and scopes it to a single record, which implicitly separates it from the foxy_list_customers sibling. It does not explicitly name any sibling, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (fetch one customer when you have an id) and mentions optional zooming, but never states when to prefer this over foxy_list_customers or when zoom is warranted versus a follow-up call. Usage is implied, not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_get_default_storeGet default storeA
Read-only
Inspect

Resolve and return the authenticated user's default store (and its id) by fetching the API home and following the fx:store link. Use this to discover the store_id the list tools accept. Foxy hAPI: GET / then GET fx:store.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already declares the safety profile, and the description adds real value beyond it: it discloses the two-step fetch chain (GET / then GET fx:store) and that resolution is scoped to the authenticated user, implying an auth requirement. It stops short of describing failure modes when no default store exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the outcome, then the use case, then the implementation detail. The trailing 'Foxy hAPI: GET / then GET fx:store' is slightly redundant with the first sentence but is compact and genuinely informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the work of stating what comes back ('the store (and its id)'). That covers the essential return contract for an agent that needs a store_id, though the shape of the store object itself is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the schema carries no burden and the baseline of 4 applies. The description correctly frames this as a no-argument resolver rather than a filtered lookup.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('resolve and return the authenticated user's default store (and its id)') and explains the mechanism. It implicitly separates itself from foxy_get_store by framing itself as the discovery step for a store_id, but never names that sibling, so differentiation is inferential rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use this to discover the store_id the list tools accept' gives a clear triggering condition tied to the list_* siblings. There is no when-not guidance (e.g., when to use foxy_get_store or foxy_get_api_home instead), which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_get_storeGet storeB
Read-only
Inspect

Get a single store resource by id, including its settings and _links to sub-collections. Foxy hAPI: GET /stores/{store_id}.

NameRequiredDescriptionDefault
store_idYesStore id (get it from foxy_get_default_store).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered. The description adds useful behavioral context by naming the underlying Foxy hAPI endpoint (GET /stores/{store_id}) and by stating the response includes settings and _links, but it says nothing about error behavior, auth requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded and no filler. The trailing hAPI endpoint reference is slightly redundant metadata but is compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description tells the agent what the response contains (settings plus sub-collection links), which compensates for the missing output schema. Only routing relative to the default-store sibling is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the store_id parameter description already explains its type and how to obtain it. The description only restates 'by id', so baseline 3 is correct – the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get a single store resource by id') and even previews the payload ('settings and _links to sub-collections'). It does not, however, distinguish itself from the sibling foxy_get_default_store, which an agent could easily confuse for this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use guidance, no mention of when this is preferred over foxy_get_default_store, and no prerequisites. The only routing hint ('get it from foxy_get_default_store') lives in the schema's parameter description, not the tool description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_get_subscriptionGet subscriptionA
Read-only
Inspect

Get a single subscription by id, optionally zooming related resources. Foxy hAPI: GET /subscriptions/{id}.

NameRequiredDescriptionDefault
idYesSubscription id.
zoomNoComma-separated related resources to embed, e.g. 'transaction_template,original_transaction'.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered without the description. The description adds the underlying hAPI endpoint mapping and notes that related resources can be expanded via zoom, but says nothing about error behavior for a missing id or how embeds affect the payload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core action front-loaded and no filler. The trailing hAPI endpoint reference is mildly redundant metadata but costs little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with full schema coverage, no output schema, and a readOnly annotation, the description supplies everything an agent needs to invoke it correctly. Only deeper notes on zoom/embed semantics are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both id and the zoom comma-separated format with examples. The description repeats the optional-zoom idea without adding format detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Get a single subscription by id") and signals scope with "single", which separates it from the list_subscriptions sibling. It does not name the sibling explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: a caller with an id should use this rather than foxy_list_subscriptions, but the description never says so or states when this is the wrong tool. No exclusions or prerequisite guidance are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_get_transactionGet transactionA
Read-only
Inspect

Get a single transaction by id, optionally zooming related resources (items, customer, payments, applied_taxes…). Foxy hAPI: GET /transactions/{id}.

NameRequiredDescriptionDefault
idYesTransaction id.
zoomNoComma-separated related resources to embed, e.g. 'items,customer'.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already declares this a safe read. The description adds useful behavioral context beyond that: the endpoint mapping (GET /transactions/{id}) and the fact that related resources can be embedded via zoom. It does not describe error behavior for missing/nonexistent ids, but with annotations covering safety this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core purpose front-loaded and the endpoint mapping trailing as a secondary detail. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, the description covers purpose, retrieval key, and the zoom option, matching the schema's documentation. Only the absence of error/not-found behavior keeps it short of full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema. The description's mention of zoom examples (items, customer, payments, applied_taxes) broadly repeats the schema's example rather than adding new syntax or constraints. Baseline 3 applies when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: 'Get a single transaction by id'. The word 'single' implicitly distinguishes it from the sibling foxy_list_transactions, and the zoom capability is named. An agent can identify this as the by-id retrieval tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'by id' versus the list sibling, but the description never explicitly states when to prefer this over foxy_list_transactions or what happens if the id doesn't exist. Context is present but no explicit when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_cartsList cartsA
Read-only
Inspect

List a store's carts (in-progress / abandoned checkouts). Returns a HAL collection embedding fx:carts. Foxy hAPI: GET /stores/{store_id}/carts.

NameRequiredDescriptionDefault
zoomNoComma-separated related resources to embed, e.g. 'items,customer'.
limitNoMax results per page (Foxy default 20).
offsetNoPagination offset.
store_idNoStore id. If omitted, the default store (fx:store) is used.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description goes beyond that by disclosing the return shape ('a HAL collection embedding fx:carts') and the backing hAPI endpoint, which is genuinely useful since no output schema exists. It does not mention pagination limits or rate limits, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact clauses, front-loaded with the core purpose before the return detail and endpoint. Every clause carries information, though the raw hAPI endpoint is mildly redundant for an agent that already knows the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully compensates by stating the return is a HAL collection embedding fx:carts, and all four parameters are schema-documented with the readOnly annotation covering safety. An agent has enough to call it correctly; only pagination/volumetrics context is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so zoom, limit, offset, and store_id are already fully documented in the schema (including the default-store behavior for store_id). The description adds nothing beyond what the schema provides about parameters, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (a store's carts), and the parenthetical '(in-progress / abandoned checkouts)' defines what a cart is so the term isn't ambiguous. This cleanly distinguishes it from the list_customers/items/transactions siblings without needing their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intent (list carts) is implied clearly by the verb and resource, so an agent can infer when to reach for it. However, there is no explicit when-to-use guidance or named alternative; nothing tells the agent how this differs in practice from listing other related resources or when a cart lookup is preferable to a customer/transaction lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_couponsList couponsB
Read-only
Inspect

List a store's coupons (discount codes and their rules). Returns a HAL collection embedding fx:coupons. Foxy hAPI: GET /stores/{store_id}/coupons.

NameRequiredDescriptionDefault
zoomNoComma-separated related resources to embed, e.g. 'coupon_codes'.
limitNoMax results per page (Foxy default 20).
offsetNoPagination offset.
store_idNoStore id. If omitted, the default store (fx:store) is used.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely useful context beyond that: the return is a HAL collection embedding fx:coupons, and it maps to the hAPI endpoint GET /stores/{store_id}/coupons. It does not describe pagination limits or default page size behavior, which the schema only partially implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the purpose, followed by return shape and the underlying endpoint. Nothing is padded, though the hAPI endpoint reference is only useful to agents already familiar with Foxy's API conventions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with fully documented schema parameters and no output schema, this covers purpose, return container (HAL collection), and endpoint. The main gap is a lack of pagination expectations, but nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (zoom, limit, offset, store_id) are already well documented in the schema itself. The description adds no parameter-level detail such as valid zoom values or the default-store fallback semantics. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('a store's coupons'), with a clarifying gloss that coupons are discount codes plus their rules. The resource is unique among siblings (carts, customers, items, subscriptions, transactions), so no explicit sibling disambiguation is needed. It stops short of distinguishing itself from any alternative, so 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what the tool does but never says when to reach for it: no mention of related calls (e.g. fetching a single coupon or a store), no note that store_id may be omitted to fall back to the default store, and no guidance on paginating large coupon sets. Usage must be inferred entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_customersList customersB
Read-only
Inspect

List a store's customers. Returns a HAL collection embedding fx:customers. Foxy hAPI: GET /stores/{store_id}/customers.

NameRequiredDescriptionDefault
emailNoFilter by exact customer email.
limitNoMax results per page (Foxy default 20).
offsetNoPagination offset.
store_idNoStore id. If omitted, the default store (fx:store) is used.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered. The description does add useful behavioral context — the return is a HAL collection embedding fx:customers — but says nothing about pagination behavior, ordering, or empty-result semantics beyond what the schema implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the purpose. The endpoint reference is slightly redundant with the tool name but is short and does not bloat the description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with no output schema, the description plus a 100%-covered schema is nearly sufficient: return shape (HAL collection) is disclosed and all params are documented. Only the when-to-use context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are fully documented in the schema (including default-store behavior for store_id). The description adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List a store's customers'), which clearly separates it from the singular sibling foxy_get_customer. It also names the underlying endpoint, but does not explicitly contrast itself with the other list_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus foxy_get_customer or the other list tools, and no mention that the email/limit/offset filters exist for narrowing results. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_itemsList transaction itemsA
Read-only
Inspect

List the line items of a transaction (the products purchased). Returns a HAL collection embedding fx:items. Foxy hAPI: GET /transactions/{transaction_id}/items.

NameRequiredDescriptionDefault
zoomNoComma-separated related resources to embed, e.g. 'item_options'.
limitNoMax results per page (Foxy default 20).
offsetNoPagination offset.
transaction_idYesTransaction id whose line items to list.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read, so the bar is lower. The description adds value beyond annotations by disclosing the return shape (a HAL collection embedding fx:items), which matters because there is no output schema, and by exposing the backing endpoint GET /transactions/{transaction_id}/items.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose before the technical return/endpoint detail. Every clause earns its place with no filler or restated title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool, the description covers purpose, return format, and the upstream endpoint, while the annotations cover the safety profile and the schema covers all four parameters. The absence of an output schema is compensated by the stated HAL collection return shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so zoom, limit, offset and transaction_id are already documented in the schema. The description adds no parameter-level detail (e.g. what zoom values expand, pagination semantics), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the line items of a transaction') and clarifies with '(the products purchased)', so an agent distinguishes it from foxy_get_transaction and foxy_list_transactions without opening the schema. The underlying hAPI route is named, reinforcing exactly what is retrieved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: you call this when you already have a transaction and need its purchased products, as opposed to foxy_get_transaction for the transaction itself. However, no explicit when-to-use or when-not-to-use guidance is given, and no alternative is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_subscriptionsList subscriptionsA
Read-only
Inspect

List a store's subscriptions (recurring orders). Returns a HAL collection embedding fx:subscriptions. Foxy hAPI: GET /stores/{store_id}/subscriptions.

NameRequiredDescriptionDefault
zoomNoComma-separated related resources to embed, e.g. 'transaction_template,last_transaction'.
limitNoMax results per page (Foxy default 20).
offsetNoPagination offset.
store_idNoStore id. If omitted, the default store (fx:store) is used.
is_activeNoFilter to active (true) or inactive (false) subscriptions.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already covers the safety profile, so the bar is lower. The description still adds useful context beyond the annotations: it discloses the return shape (HAL collection embedding fx:subscriptions) and the underlying read endpoint, which helps an agent anticipate the response envelope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the purpose before the return-envelope and endpoint details. Nothing is padded, though the raw endpoint string is marginally redundant for an agent that never calls the HTTP API directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with full schema coverage, no output schema, and annotations carrying the safety profile, the description supplies the missing return-shape context. Pagination semantics live in the schema, so nothing critical is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so zoom, limit, offset, store_id and is_active are each documented in the schema with defaults and ranges. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (a store's subscriptions / recurring orders), and names the embedding and underlying hAPI endpoint, which pins down exactly what is returned. It differentiates implicitly from foxy_get_subscription by being the collection variant, but never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent infers this is the collection-listing counterpart to foxy_get_subscription because of the name and the 'store's subscriptions' phrasing. There is no statement of when to prefer this over foxy_get_subscription, and no prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_list_transactionsList transactionsA
Read-only
Inspect

List a store's transactions (orders), newest first. Returns a HAL collection embedding fx:transactions. Foxy hAPI: GET /stores/{store_id}/transactions.

NameRequiredDescriptionDefault
zoomNoComma-separated related resources to embed, e.g. 'items,customer,payments'.
limitNoMax results per page (Foxy default 20).
orderNoSort expression, e.g. 'transaction_date desc'.
offsetNoPagination offset.
is_testNoFilter to test (true) or live (false) transactions.
store_idNoStore id. If omitted, the default store (fx:store) is used.
customer_emailNoFilter by the transaction's customer email.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers the safety profile, so the bar is lower, and the description adds real context beyond it: default sort order, and the fact that the response is a HAL collection embedding fx:transactions. It stops short of describing pagination semantics or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the operation and ordering, then the return shape, then the underlying endpoint. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully discloses the HAL collection return shape, and the schema carries all filter/pagination detail. Minor gap: no mention of default page size or pagination practice, though limit/offset are documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters (zoom, limit, order, offset, is_test, store_id, customer_email) are already documented in the schema with examples and defaults. The description adds no parameter-level meaning, which is the expected baseline here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List a store's transactions (orders)"), plus the default ordering ("newest first") and the underlying hAPI endpoint. An agent can distinguish this bulk-listing tool from foxy_get_transaction or foxy_list_carts without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb and resource, but there is no explicit when-to-use/when-not guidance and no mention of the sibling alternatives (e.g. foxy_get_transaction for a single record). Nothing is misleading, but the agent must infer the routing decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_update_customerUpdate customerA
Destructive
Inspect

UPDATES a customer's profile fields (first_name, last_name, email). This MODIFIES live store data. Foxy hAPI: PATCH /customers/{id}. Provide only the fields you want to change.

NameRequiredDescriptionDefault
idYesCustomer id to update.
emailNoNew email address.
last_nameNoNew last name.
first_nameNoNew first name.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the safety profile is partly covered; the description's 'This MODIFIES live store data' reinforces rather than extends that. It does add the PATCH/partial-update behavior (unmentioned fields are left unchanged), but omits reversibility, permission requirements, and error behavior on a bad id.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short, front-loaded sentences with the mutation warning placed prominently. Minor redundancy between the description and the destructiveHint annotation, but no filler that obscures the key facts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter destructive mutation with no output schema, the description covers purpose, partial-update behavior, and the live-data impact. Remaining gaps (auth, id-not-found handling, whether the updated record is returned) are moderate but not central to correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantic value beyond the schema by clarifying that only supplied fields are changed (PATCH semantics). The re-listing of first_name/last_name/email is partly redundant with the schema, keeping this from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (UPDATES), a specific resource (customer profile fields), and enumerates the mutable fields. It is clearly distinguishable from the read sibling foxy_get_customer and from foxy_update_subscription, and it names the backing endpoint (PATCH /customers/{id}).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'Provide only the fields you want to change' gives clear context for partial updates, which is genuinely useful guidance. However, it never states when to use this tool versus alternatives (e.g., foxy_update_subscription) or any preconditions such as needing an existing customer id from foxy_get_customer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foxy_update_subscriptionUpdate subscriptionA
Destructive
Inspect

UPDATES a subscription — reschedule its next run (next_transaction_date), change its frequency, or activate/pause it (is_active). This MODIFIES live store data and affects future billing. Foxy hAPI: PATCH /subscriptions/{id}. Provide only the fields you want to change.

NameRequiredDescriptionDefault
idYesSubscription id to update.
frequencyNoBilling frequency, e.g. '1m' (monthly), '2w' (2 weeks), '1y' (yearly).
is_activeNoSet true to activate or false to pause the subscription.
next_transaction_dateNoNext run date, YYYY-MM-DD (reschedules the subscription).

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only supply destructiveHint=true, so the description carries most of the burden and does so well — it discloses the mutation of live store data, the forward-looking billing impact, the underlying PATCH endpoint and the partial-write contract. It does not address reversibility (e.g., rescheduling skipping a charge) or any permission requirements, so it is not fully complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences with the mutating scope and target fields front-loaded, followed by the risk note and the endpoint reference. Nothing is padded, though the endpoint string is of marginal value and slightly dilutes an otherwise dense paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what changes and what the change affects, but with no output schema present an agent still does not know what the call returns (updated subscription object, empty body, error shape) or what happens to a pending charge when next_transaction_date is rescheduled. Adequate for calling the tool, incomplete for interpreting the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the four parameters is already documented in the schema, and this sets the baseline at 3. The description adds grouping ('reschedule its next run', 'change its frequency', 'activate/pause') that reinforces intent but introduces no syntax, format, or constraint details beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('UPDATES a subscription') and goes on to enumerate exactly what can be changed: next_transaction_date, frequency, is_active. An agent can immediately distinguish this from the sibling read tools (foxy_get_subscription, foxy_list_subscriptions) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operational guidance: 'Provide only the fields you want to change,' which establishes partial-update semantics, plus a caution that this modifies live store data and affects future billing. It stops short of explicit when-not-to-use conditions or pointing at alternate tools for bulk/other updates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only access to customer and recurring-billing state from Recurly, including accounts, subscriptions, invoices, and payment outcomes.
    14 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for Easy Pay Direct / NMI payment gateway, enabling natural language queries of transactions, subscriptions, and customer vault records.
    7
    64 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides 95 read/write tools for managing digital product sales, including transactions, subscriptions, products and offers, contacts, affiliations, coupons, e-tickets, and webhooks, for use with any MCP client over HTTP.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only interaction with the FakturaXL API for querying invoices, clients, products, and stock levels with pagination, date chunking, and rate limiting.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.