Numeral MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Calculate sales tax & VAT, record transactions and refunds, manage products and customers.
11 tools: 4 can delete or cancel things, 1 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http numeral https://numeral.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
11 tools
Deletes or cancels 4Claude Code: deny
numeral_create_customerCREATES a customer record — this WRITES to your Numeral customer list (used for order tracking and tax exemptions).No findings
Why it is in this group
- The name "numeral_create_customer" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it CREATES a customer record — this WRITES to your Numeral customer list (used for order tracking and tax exemptions). Numeral: POST /tax/customers.
Annotations the server declares
- title: Create customer
- destructiveHint: true
numeral_create_productCREATES (or upserts) a product with its tax category — this WRITES to your Numeral product catalog, which drives future tax calculations.No findings
Why it is in this group
- The name "numeral_create_product" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Create product
- destructiveHint: true
numeral_create_refundRECORDS a refund against a transaction — this WRITES a live tax/compliance record (adjusts tax owed).No findings
Why it is in this group
- The name "numeral_create_refund" says "create": a word for a change.
- The name "numeral_create_refund" also says "refund": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Create refund
- destructiveHint: true
numeral_create_transactionRECORDS a completed sale as a transaction — this WRITES a live tax/compliance record used for filings.No findings
Why it is in this group
- The name "numeral_create_transaction" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Create transaction
- destructiveHint: true
Changes things 1Claude Code: ask
numeral_calculate_taxCalculate sales tax / VAT for an order — a STATELESS quote that persists nothing (record it later with numeral_create_transaction using the returned calculation id).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- title: Calculate tax
- readOnlyHint: true
Only reads 6Claude Code: allow
numeral_get_customerGet a customer by id.No findings
Why it is in this group
- The name "numeral_get_customer" says "get": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Get customer
- readOnlyHint: true
numeral_get_productGet a single product by its reference_product_id (your id).No findings
Why it is in this group
- The name "numeral_get_product" says "get": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Get product
- readOnlyHint: true
numeral_get_transactionGet a recorded transaction by its Numeral id (tr_...).No findings
Why it is in this group
- The name "numeral_get_transaction" says "get": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Get transaction
- readOnlyHint: true
numeral_list_productsList your Numeral products (up to 50 per page), each with its reference id, name, and product_category.No findings
Why it is in this group
- The name "numeral_list_products" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List products
- readOnlyHint: true
numeral_list_transaction_refundsList all refunds recorded against a transaction.No findings
Why it is in this group
- The name "numeral_list_transaction_refunds" says "list": a word for reading.
Description, as the server wrote it List all refunds recorded against a transaction. Returns {refunds:[...]}. Numeral: GET /tax/transactions/{transaction_id}/refunds.
Annotations the server declares
- title: List transaction refunds
- readOnlyHint: true
numeral_pingHealth check — verifies the API key works and reports the environment (test/prod), api_version, and server timestamp.No findings
Why it is in this group
- The name "numeral_ping" says "ping": a word for reading.
Description, as the server wrote it Health check — verifies the API key works and reports the environment (test/prod), api_version, and server timestamp. Numeral: GET /tax/ping.
Annotations the server declares
- title: Ping (health check)
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http numeral https://numeral.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__numeral__numeral_ping",
"mcp__numeral__numeral_get_transaction",
"mcp__numeral__numeral_list_transaction_refunds",
"mcp__numeral__numeral_list_products",
"mcp__numeral__numeral_get_product",
"mcp__numeral__numeral_get_customer"
],
"ask": [
"mcp__numeral__numeral_calculate_tax"
],
"deny": [
"mcp__numeral__numeral_create_transaction",
"mcp__numeral__numeral_create_refund",
"mcp__numeral__numeral_create_product",
"mcp__numeral__numeral_create_customer"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as numeral. Review it before you use it.