numeral

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
93%
命名の品質
78%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'numeral_list_transaction_refunds' name length outside 3-30 rangenumeral_list_transaction_refunds 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,560トークン数(ツール定義)
~2.0 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.00%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "numeral": {
      "url": "https://numeral.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://numeral.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(11)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢numeral_ping

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

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_calculate_tax(customer, order_details, origin_address, metadata)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer": {
      "type": "object",
      "properties": {
        "id": {
          "description": "A Numeral customer id (cus_...) for order tracking / exemptions.",
          "type": "string"
        },
        "address": {
          "type": "object",
          "properties": {
            "address_line_1": {
              "type": "string",
              "description": "Street address, line 1."
            },
            "address_line_2": {
              "description": "Street address, line 2 (optional).",
              "type": "string"
            },
            "address_city": {
              "type": "string",
              "description": "City."
            },
            "address_province": {
              "type": "string",
              "description": "State/province/region — a valid 2-letter ISO 3166-2 subdivision code (e.g. \"CA\")."
            },
            "address_postal_code": {
              "type": "string",
              "description": "Postal/ZIP code."
            },
            "address_country": {
              "type": "string",
              "description": "Country — a valid ISO 3166-1 alpha-2 code (e.g. \"US\")."
            },
            "address_type": {
              "type": "string",
              "enum": [
                "shipping",
                "billing"
              ],
              "description": "Address type: \"shipping\" for physical goods, \"billing\" for software/digital goods."
            }
          },
          "required": [
            "address_line_1",
            "address_city",
            "address_province",
            "address_postal_code",
            "address_country",
            "address_type"
          ],
          "description": "Customer address (required)."
        }
      },
      "required": [
        "address"
      ],
      "description": "Customer details — address is required."
    },
    "order_details": {
      "type": "object",
      "properties": {
        "customer_currency_code": {
          "type": "string",
          "description": "Currency code. For API version 2024-09-01: \"USD\" or \"CAD\"."
        },
        "tax_included_in_amount": {
          "type": "boolean",
          "description": "Do the line-item amounts already include tax? Typically false for North America."
        },
        "line_items": {
          "minItems": 1,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "description": "Line-item price in the currency's SMALLEST unit (e.g. USD 2000 = $20.00). Tax is calculated against this."
              },
              "quantity": {
                "type": "number",
                "description": "Quantity of this product being sold."
              },
              "reference_product_id": {
                "description": "Your product id (required if no product_category).",
                "type": "string"
              },
              "product_category": {
                "description": "A tax category from Numeral's taxonomy, e.g. \"GENERAL_MERCHANDISE\", \"SAAS_GENERAL\" (required if no reference_product_id).",
                "type": "string"
              },
              "fallback_product_category": {
                "description": "Fallback tax category used when reference_product_id has no matching product in Numeral.",
                "type": "string"
              },
              "reference_line_item_id": {
                "description": "Your line-item id (optional; for record keeping).",
                "type": "string"
              }
            },
            "required": [
              "amount",
              "quantity"
            ]
          },
          "description": "Order line items (one per product type)."
        }
      },
      "required": [
        "customer_currency_code",
        "tax_included_in_amount",
        "line_items"
      ],
      "description": "Order details."
    },
    "origin_address": {
      "description": "The address a product ships from. Optional on 2024-09-01; required on API version 2025-05-12+.",
      "type": "object",
      "properties": {
        "address_line_1": {
          "type": "string",
          "description": "Street address, line 1."
        },
        "address_line_2": {
          "description": "Street address, line 2 (optional).",
          "type": "string"
        },
        "address_city": {
          "type": "string",
          "description": "City."
        },
        "address_province": {
          "type": "string",
          "description": "State/province/region — a valid 2-letter ISO 3166-2 subdivision code (e.g. \"CA\")."
        },
        "address_postal_code": {
          "type": "string",
          "description": "Postal/ZIP code."
        },
        "address_country": {
          "type": "string",
          "description": "Country — a valid ISO 3166-1 alpha-2 code (e.g. \"US\")."
        }
      },
      "required": [
        "address_line_1",
        "address_city",
        "address_province",
        "address_postal_code",
        "address_country"
      ]
    },
    "metadata": {
      "description": "Arbitrary string key/value metadata.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "customer",
    "order_details"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_get_transaction(transaction_id)

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}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "string",
      "description": "The Numeral transaction id (tr_...)."
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_list_transaction_refunds(transaction_id)

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

入力スキーマ

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "string",
      "description": "The Numeral transaction id (tr_...)."
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_list_products(cursor)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "cursor": {
      "description": "Pagination cursor — pass the last_product_id from the previous page.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_get_product(reference_product_id)

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}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "reference_product_id": {
      "type": "string",
      "description": "Your product id (the reference_product_id used when the product was created)."
    }
  },
  "required": [
    "reference_product_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢numeral_get_customer(customer_id, id_type)

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}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "string",
      "description": "The customer id — a Numeral id (cus_...) by default, or your reference id when id_type=\"reference\"."
    },
    "id_type": {
      "description": "Which id space `customer_id` is in (default: numeral).",
      "type": "string",
      "enum": [
        "numeral",
        "reference"
      ]
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴numeral_create_transaction(calculation_id, reference_order_id, transaction_processed_at, metadata)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "calculation_id": {
      "type": "string",
      "description": "The calculation id returned by numeral_calculate_tax."
    },
    "reference_order_id": {
      "type": "string",
      "description": "Your order id for this sale (used for record keeping / dedupe)."
    },
    "transaction_processed_at": {
      "description": "Unix timestamp (SECONDS) the sale was processed. Defaults to now if omitted.",
      "type": "number"
    },
    "metadata": {
      "description": "Arbitrary string key/value metadata.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "calculation_id",
    "reference_order_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴numeral_create_refund(transaction_id, type, refund_processed_at, line_items)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "string",
      "description": "The transaction id (tr_...) to refund."
    },
    "type": {
      "type": "string",
      "enum": [
        "full",
        "partial"
      ],
      "description": "\"full\" refunds the whole transaction; \"partial\" requires line_items."
    },
    "refund_processed_at": {
      "description": "Unix timestamp (SECONDS) the refund was made. Defaults to now if omitted.",
      "type": "number"
    },
    "line_items": {
      "description": "Required for type=\"partial\": the line items to refund.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reference_product_id": {
            "type": "string",
            "description": "Product id to apply the refund against (matches the original transaction line item)."
          },
          "reference_line_item_id": {
            "description": "Your line-item id (optional; for reporting).",
            "type": "string"
          },
          "sales_amount_refunded": {
            "description": "Sale amount refunded for this line, in the currency's smallest unit (cents).",
            "type": "number"
          }
        },
        "required": [
          "reference_product_id"
        ]
      }
    }
  },
  "required": [
    "transaction_id",
    "type"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴numeral_create_product(reference_product_id, reference_product_name, product_category)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "reference_product_id": {
      "type": "string",
      "description": "Your product id (used to reference this product in calculations)."
    },
    "reference_product_name": {
      "type": "string",
      "description": "Human-readable product name."
    },
    "product_category": {
      "type": "string",
      "description": "A tax category from Numeral's taxonomy, e.g. \"GENERAL_MERCHANDISE\", \"SAAS_GENERAL\"."
    }
  },
  "required": [
    "reference_product_id",
    "reference_product_name",
    "product_category"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴numeral_create_customer(email, name, is_tax_exempt, reference_customer_id)

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

入力スキーマ

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Customer email (required)."
    },
    "name": {
      "description": "Customer name.",
      "type": "string"
    },
    "is_tax_exempt": {
      "description": "Whether this customer is tax exempt.",
      "type": "boolean"
    },
    "reference_customer_id": {
      "description": "Your own id for this customer (for reference-based lookups).",
      "type": "string"
    }
  },
  "required": [
    "email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

推奨プロンプト

retrieve_data
Get details about [item] from numeral
想定されるツール: numeral_get_transaction
fetch_info
Fetch [information type] using numeral
想定されるツール: numeral_get_transaction
list_items
List all [items] available in numeral
想定されるツール: numeral_list_transaction_refunds
browse_collection
Show me the [collection] from numeral
想定されるツール: numeral_list_transaction_refunds
explore_workflow
List available [items], then get details for each one using numeral
想定されるツール: numeral_list_transaction_refundsnumeral_get_transaction

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 11 件
検証済みバージョンは記録されていませんツール 11 件