numeral
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.
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 11 of 11 tools scored.
Each tool has a distinct purpose with no overlap. Tax calculations, product/customer management, transaction recording, refunds, and health check are clearly separated.
All tools use a consistent 'numeral_verb_noun' pattern with snake_case. Verbs are standard (calculate, create, get, list, ping) and maintain predictability.
11 tools cover the core functionalities of tax calculation, product/customer management, transaction recording, and refunds without unnecessary extras.
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 toolsnumeral_calculate_taxCalculate taxARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| customer | Yes | Customer details — address is required. | |
| metadata | No | Arbitrary string key/value metadata. | |
| order_details | Yes | Order details. | |
| origin_address | No | The address a product ships from. Optional on 2024-09-01; required on API version 2025-05-12+. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 customerBDestructiveInspect
CREATES a customer record — this WRITES to your Numeral customer list (used for order tracking and tax exemptions). Numeral: POST /tax/customers.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Customer name. | |
| Yes | Customer email (required). | ||
| is_tax_exempt | No | Whether this customer is tax exempt. | |
| reference_customer_id | No | Your own id for this customer (for reference-based lookups). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 productADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| product_category | Yes | A tax category from Numeral's taxonomy, e.g. "GENERAL_MERCHANDISE", "SAAS_GENERAL". | |
| reference_product_id | Yes | Your product id (used to reference this product in calculations). | |
| reference_product_name | Yes | Human-readable product name. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 refundADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | "full" refunds the whole transaction; "partial" requires line_items. | |
| line_items | No | Required for type="partial": the line items to refund. | |
| transaction_id | Yes | The transaction id (tr_...) to refund. | |
| refund_processed_at | No | Unix timestamp (SECONDS) the refund was made. Defaults to now if omitted. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 transactionADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | No | Arbitrary string key/value metadata. | |
| calculation_id | Yes | The calculation id returned by numeral_calculate_tax. | |
| reference_order_id | Yes | Your order id for this sale (used for record keeping / dedupe). | |
| transaction_processed_at | No | Unix timestamp (SECONDS) the sale was processed. Defaults to now if omitted. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 customerARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| id_type | No | Which id space `customer_id` is in (default: numeral). | |
| customer_id | Yes | The customer id — a Numeral id (cus_...) by default, or your reference id when id_type="reference". |
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 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.
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.
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.
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.
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.
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 productARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| reference_product_id | Yes | Your product id (the reference_product_id used when the product was created). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 transactionARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_id | Yes | The Numeral transaction id (tr_...). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 productsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Pagination cursor — pass the last_product_id from the previous page. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 refundsARead-onlyInspect
List all refunds recorded against a transaction. Returns {refunds:[...]}. Numeral: GET /tax/transactions/{transaction_id}/refunds.
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_id | Yes | The Numeral transaction id (tr_...). |
Tool Definition Quality
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.
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.
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.
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.
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.
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)ARead-onlyInspect
Health check — verifies the API key works and reports the environment (test/prod), api_version, and server timestamp. Numeral: GET /tax/ping.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
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-qualityDmaintenanceEnables MCP tool developers and AI agents to track payments, calculate sales tax liability, and ensure tax compliance across US jurisdictions.MIT- AlicenseAqualityBmaintenanceProvides 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.745MIT
- Alicense-qualityAmaintenanceCalculate income tax (UK/US brackets), EU VAT, UK corporation tax, and capital gains tax. Provides estimates only - not professional tax advice.8MIT
- Alicense-qualityDmaintenanceProvides 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.134MIT