Skip to main content
Glama

Server Details

Calculate sales tax & VAT, record transactions and refunds, manage products and customers.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 11 of 11 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose with no overlap. Tax calculations, product/customer management, transaction recording, refunds, and health check are clearly separated.

Naming Consistency5/5

All tools use a consistent 'numeral_verb_noun' pattern with snake_case. Verbs are standard (calculate, create, get, list, ping) and maintain predictability.

Tool Count5/5

11 tools cover the core functionalities of tax calculation, product/customer management, transaction recording, and refunds without unnecessary extras.

Completeness3/5

Core CRUD is incomplete: missing lists for customers and transactions, and no update/delete endpoints. While key workflows are covered, significant operational gaps exist.

Available Tools

11 tools
numeral_calculate_taxCalculate taxA
Read-only
Inspect

Calculate sales tax / VAT for an order — a STATELESS quote that persists nothing (record it later with numeral_create_transaction using the returned calculation id). Returns per-jurisdiction rates, total_tax_amount, and totals. Provide a customer address and one or more line items (each needs reference_product_id OR product_category). Amounts are in the currency's smallest unit (cents). Numeral: POST /tax/calculations.

ParametersJSON Schema
NameRequiredDescriptionDefault
customerYesCustomer details — address is required.
metadataNoArbitrary string key/value metadata.
order_detailsYesOrder details.
origin_addressNoThe address a product ships from. Optional on 2024-09-01; required on API version 2025-05-12+.
Behavior4/5

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

Annotations already indicate readOnlyHint=true, so the agent knows no writes occur. The description adds transparency by calling it a 'STATELESS quote that persists nothing,' aligning perfectly with the annotation. It also notes that the result is a quote for later recording, which clarifies the non-persistent nature. 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.

Conciseness5/5

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

The description is concise (3-4 sentences) and well-structured. It front-loads the core purpose and stateless nature, then provides key usage details and a sibling reference. Every sentence adds value, with no redundancy or fluff.

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?

Given the tool's complexity (nested objects, no output schema), the description is complete. It explains what the tool returns (per-jurisdiction rates, total_tax_amount, totals), how to use the result (record with a sibling), and important input requirements. The detail about line item constraints compensates for the lack of output schema adequately.

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%, providing baseline parameter descriptions. The description adds value by stating that each line item needs either a reference_product_id or product_category, a constraint not fully captured in the schema. It also reinforces that amounts are in the smallest currency unit (cents), which is already in the schema but pragmatically emphasized.

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?

The description clearly states the tool's purpose: calculating sales tax/VAT for an order, emphasizing it is a stateless quote that persists nothing. It distinguishes itself from the numeral_create_transaction sibling by specifying that the calculation result should be recorded later. The verb 'calculate' and resource 'tax' are specific and unambiguous.

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?

The description explicitly instructs to record the calculation later with numeral_create_transaction using the returned calculation ID, providing a clear alternative for persistence. It also outlines required inputs (customer address and line items) and important details like currency units. However, it does not explicitly state when not to use this tool or provide complete scenarios for alternatives.

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

numeral_create_customerCreate customerB
Destructive
Inspect

CREATES a customer record — this WRITES to your Numeral customer list (used for order tracking and tax exemptions). Numeral: POST /tax/customers.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCustomer name.
emailYesCustomer email (required).
is_tax_exemptNoWhether this customer is tax exempt.
reference_customer_idNoYour own id for this customer (for reference-based lookups).
Behavior2/5

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

The description confirms it writes data, but annotations already include destructiveHint=true. It adds limited behavioral context beyond the annotation, such as no mention of idempotency, duplicate 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.

Conciseness4/5

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

The description is a single concise sentence with key information and the API endpoint. However, it could be better structured (e.g., bullet points) for scannability.

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?

With no output schema, the description does not explain return values or error handling. For a creation tool, additional context (e.g., response format) would be helpful but is not strictly required given the moderate complexity.

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 the schema already documents all parameters. The description does not add additional meaning beyond what the schema provides, meeting the baseline expectation.

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?

The description clearly states the verb 'CREATES', the resource 'customer record', and the context 'used for order tracking and tax exemptions'. It also provides the API endpoint, distinguishing it from sibling create tools like numeral_create_product.

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 for adding customers for order tracking and tax exemptions but does not provide explicit guidance on when not to use this tool or mention alternatives like numeral_get_customer for retrieval. No prerequisites or exclusions are stated.

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

numeral_create_productCreate productA
Destructive
Inspect

CREATES (or upserts) a product with its tax category — this WRITES to your Numeral product catalog, which drives future tax calculations. Numeral: POST /tax/products.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_categoryYesA tax category from Numeral's taxonomy, e.g. "GENERAL_MERCHANDISE", "SAAS_GENERAL".
reference_product_idYesYour product id (used to reference this product in calculations).
reference_product_nameYesHuman-readable product name.
Behavior4/5

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

Discloses it is a write operation ('WRITES') and that it upserts, which implies idempotency. Annotations only provide destructiveHint=true; description adds that it affects future tax calculations. 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.

Conciseness5/5

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

Two sentences, front-loaded with action and consequence. No fluff.

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?

No output schema, and description does not mention return value or response structure. For a creation tool, this is a gap. However, parameter descriptions are comprehensive.

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 covers all parameters with descriptions. Description adds that the product_category is from Numeral's taxonomy and that upsert behavior uses reference_product_id as key, adding value beyond schema.

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?

Clearly states it creates or upserts a product with its tax category, referencing the API endpoint. Distinguishes from sibling tools which deal with other entities (customers, refunds, transactions) and product retrieval.

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?

Description implies use when adding a product to the catalog to drive tax calculations. No explicit exclusions or comparisons to alternatives, but context makes usage obvious given distinct sibling tools.

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

numeral_create_refundCreate refundA
Destructive
Inspect

RECORDS a refund against a transaction — this WRITES a live tax/compliance record (adjusts tax owed). Use type="full" to refund the whole transaction, or type="partial" with line_items (each keyed by reference_product_id) for a partial refund. Numeral: POST /tax/refunds.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes"full" refunds the whole transaction; "partial" requires line_items.
line_itemsNoRequired for type="partial": the line items to refund.
transaction_idYesThe transaction id (tr_...) to refund.
refund_processed_atNoUnix timestamp (SECONDS) the refund was made. Defaults to now if omitted.
Behavior5/5

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

Explicitly states the tool WRITES a live tax/compliance record and adjusts tax owed, which supplements the destructiveHint annotation, adding clarity about the real-world impact.

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 concise sentences that front-load the purpose, then provide usage details. No unnecessary words.

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?

No output schema, and the description does not mention return value. However, the description is otherwise complete for invocation decisions, and the API endpoint hint helps.

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 descriptions cover 100% of parameters, so the description adds little beyond summarizing the type enum and line_items usage. The baseline is appropriate.

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?

The description clearly states the action ('RECORDS a refund against a transaction') and distinguishes between full and partial refunds, differentiating it from sibling tools like numeral_create_transaction.

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?

Provides explicit guidance on when to use type='full' vs. type='partial' with line_items. Does not mention alternatives or when not to use, but the context is clear enough for typical usage.

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

numeral_create_transactionCreate transactionA
Destructive
Inspect

RECORDS a completed sale as a transaction — this WRITES a live tax/compliance record used for filings. Supply the calculation_id returned by numeral_calculate_tax and your reference_order_id. Numeral: POST /tax/transactions.

ParametersJSON Schema
NameRequiredDescriptionDefault
metadataNoArbitrary string key/value metadata.
calculation_idYesThe calculation id returned by numeral_calculate_tax.
reference_order_idYesYour order id for this sale (used for record keeping / dedupe).
transaction_processed_atNoUnix timestamp (SECONDS) the sale was processed. Defaults to now if omitted.
Behavior4/5

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

Annotations already include destructiveHint=true, and the description adds context that it writes a live tax/compliance record, emphasizing the irreversible nature for filings. This goes beyond the annotation by specifying the compliance impact.

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 sentences plus endpoint URL are concise and efficient. The action verb is front-loaded, and each sentence provides essential information without fluff.

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?

Given no output schema and destructiveHint annotation, the description sufficiently explains the tool's purpose and usage. It mentions the prerequisite calculation_id and the compliance nature, but could be improved by noting error scenarios or idempotency.

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 coverage is 100%, so parameters are described in schema. The description adds marginal value by highlighting calculation_id and reference_order_id, but does not mention metadata or transaction_processed_at. It does not fully compensate for low coverage since coverage is already high.

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?

The description uses a specific verb ('RECORDS') and resource ('completed sale as a transaction'), clearly distinguishing it from siblings like numeral_calculate_tax. It explicitly states the action and the purpose (live tax/compliance record for filings).

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?

The description indicates the tool is for completed sales and requires a calculation_id from numeral_calculate_tax and a reference_order_id. It implies context but does not explicitly exclude scenarios like refunds (handled by numeral_create_refund) or provide when-not-to-use guidance.

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

numeral_get_customerGet customerA
Read-only
Inspect

Get a customer by id. By default customer_id is the Numeral id (cus_...); set id_type to "reference" to look up by your own reference_customer_id. Returns name, email, and tax-exempt status. Numeral: GET /tax/customers/{customer_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_typeNoWhich id space `customer_id` is in (default: numeral).
customer_idYesThe customer id — a Numeral id (cus_...) by default, or your reference id when id_type="reference".
Behavior4/5

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

Annotations already indicate readOnlyHint=true, and the description adds value by stating the return fields (name, email, tax-exempt status) and the underlying API endpoint (GET /tax/customers/{customer_id}). 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.

Conciseness5/5

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

Two sentences with front-loaded purpose and no wasted words. Every sentence adds value.

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 get tool with one required parameter and one optional, the description adequately covers the id_type and return fields. No output schema exists, but the description partly compensates by listing returned fields.

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 coverage is 100%, so the baseline is 3. The description adds minimal meaning beyond the schema, only clarifying that return fields include name, email, and tax exemption status. The parameter descriptions in the schema are already clear.

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?

The description clearly states 'Get a customer by id', specifying both the verb (get) and resource (customer). It distinguishes itself from sibling tools like create_customer or get_product, and explains the two id types.

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?

The description explains when to use each id_type ('numeral' vs 'reference'), providing clear context on parameter usage. However, it does not explicitly state when not to use this tool versus alternatives, but sibling tools are distinct operations.

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

numeral_get_productGet productA
Read-only
Inspect

Get a single product by its reference_product_id (your id). Returns the product's name, product_category, and timestamps. Numeral: GET /tax/products/{reference_product_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
reference_product_idYesYour product id (the reference_product_id used when the product was created).
Behavior4/5

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

Annotations declare readOnlyHint=true, confirming no side effects. The description adds value by specifying the returned fields and the underlying API endpoint, providing transparency beyond the annotation.

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 sentences: first states purpose and identifier, second lists returns and API. 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.

Completeness5/5

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

For a simple read tool with one parameter, the description is sufficient. It states what is returned and how to specify the product. No missing information given the tool's complexity and lack of output schema.

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 lone parameter reference_product_id is well described in the schema and the description adds context (your id). Schema coverage is 100%, so the description enhances understanding without redundancy.

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?

The title and description clearly state the tool retrieves a single product by its reference_product_id. It specifies the returned fields, distinguishing it from sibling tools like numeral_list_products and numeral_create_product.

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?

The description explicitly states when to use the tool (to get a single product by ID) and implies that for listing or creating products, other tools should be used. No explicit exclusion of alternatives, but context is clear.

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

numeral_get_transactionGet transactionA
Read-only
Inspect

Get a recorded transaction by its Numeral id (tr_...). Returns the transaction with its line items, currencies, and metadata. Numeral: GET /tax/transactions/{transaction_id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesThe Numeral transaction id (tr_...).
Behavior4/5

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

Annotations already mark the tool as readOnlyHint=true, so the description does not need to emphasize safety. It adds value by enumerating returned fields (line items, currencies, metadata), which is helpful context beyond the schema.

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?

The description is short (two sentences) and front-loaded with the primary action and id format. No superfluous information.

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 retrieval tool with one parameter and read-only annotations, the description covers the essential: what it does, what it returns, and the required input format. No gaps.

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 coverage is 100% (one parameter fully described). The description restates the id format (tr_...), which is already in the schema description, so it adds little new meaning. Baseline 3 is appropriate.

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?

The description clearly states the action ('get') and the resource ('recorded transaction by its Numeral id'). It explains what is returned (line items, currencies, metadata), distinguishing it from sibling tools that operate on different resources (customers, products) or perform different actions (list, create).

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?

The description implies usage when you have a transaction id. It does not explicitly state when not to use it or list alternatives, but given the simple retrieval nature, the guidance is clear enough for an agent.

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

numeral_list_productsList productsA
Read-only
Inspect

List your Numeral products (up to 50 per page), each with its reference id, name, and product_category. Use cursor (the last_product_id from a previous page) to paginate; has_more indicates more pages. Numeral: GET /tax/products.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor — pass the last_product_id from the previous page.
Behavior4/5

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

Annotations declare readOnlyHint=true, so the tool is read-only. The description adds pagination behavior (cursor, has_more, page limit of 50) and the underlying API endpoint, providing useful context beyond the annotations.

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?

Description is two sentences, efficiently front-loaded with the tool's purpose, and contains no extraneous information. Every word adds value.

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 list tool, the description adequately covers output fields and pagination. It doesn't specify the full response structure, but given no output schema, the three mentioned fields are sufficient for an agent to use the tool.

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% for the single parameter (cursor), and the description adds context about page limit and has_more indicator, enhancing understanding beyond the schema's description.

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?

The description clearly states the tool lists products with specific fields (reference id, name, product_category) and pagination details. It distinguishes from sibling tools like numeral_get_product which retrieves a single product.

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 explicit guidance on when to use this tool versus alternatives such as numeral_get_product or numeral_create_product. The description implies use for listing multiple products, but lacks explicit when-to-use or when-not-to-use advice.

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

numeral_list_transaction_refundsList transaction refundsA
Read-only
Inspect

List all refunds recorded against a transaction. Returns {refunds:[...]}. Numeral: GET /tax/transactions/{transaction_id}/refunds.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesThe Numeral transaction id (tr_...).
Behavior4/5

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

The description adds context beyond the readOnlyHint annotation by specifying the return format and the underlying API endpoint. It discloses the behavior (listing) and output structure, which is helpful for an agent.

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?

The description is concise, containing one sentence and a code snippet with endpoint and return type. It front-loads the purpose and provides essential details without unnecessary verbosity.

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?

Given the tool's simplicity (one required parameter, no output schema), the description is fairly complete: it explains the function, return format, and API endpoint. It does not cover pagination or ordering, but these are not critical for a basic list tool.

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 coverage is 100% with a clear description for transaction_id. The description does not add additional meaning to the parameter beyond what is in the schema, so a baseline score of 3 is appropriate.

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?

The description uses a specific verb 'List' and resource 'refunds recorded against a transaction', clearly distinguishing it from siblings like 'numeral_create_refund' (creates refunds) and 'numeral_get_transaction' (gets transaction details). It also specifies the return format.

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 context (listing refunds for a transaction) but does not explicitly state when to use this tool over alternatives or mention exclusions. No when-not-to-use guidance is provided.

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

numeral_pingPing (health check)A
Read-only
Inspect

Health check — verifies the API key works and reports the environment (test/prod), api_version, and server timestamp. Numeral: GET /tax/ping.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already indicate readOnlyHint=true. The description adds specific output fields (environment, api_version, timestamp), providing useful behavioral context 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.

Conciseness5/5

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

Single sentence that is clear and front-loaded. No redundant information.

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 zero-parameter tool with no output schema, the description fully explains purpose and return values. No gaps.

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?

No parameters exist, so description need not cover parameter semantics. Baseline 4 applies as no param information is missing.

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?

The description clearly states it is a health check that verifies the API key and reports environment, api_version, and server timestamp. It is specific and distinct from all sibling tools, which involve tax calculation, customer/product creation, etc.

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?

The description implies usage for verifying API connectivity and checking environment. No explicit when-not-to-use or alternatives are needed since this tool is unique among siblings.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Enables MCP tool developers and AI agents to track payments, calculate sales tax liability, and ensure tax compliance across US jurisdictions.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides real tax calculations for US, Canada, Australia, and UK income, property, and dividend taxes using up-to-date local data with no API keys required.
    7
    45
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Calculate income tax (UK/US brackets), EU VAT, UK corporation tax, and capital gains tax. Provides estimates only - not professional tax advice.
    8
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Provides complete Portuguese invoice management with 60+ specialized tools including invoice creation, client management, SAF-T tax compliance, treasury operations, and Portuguese Tax Authority (AT) integration for AI-powered business automation.
    13
    4
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.