Skip to main content
Glama

US Sales Tax Economic Nexus Check

check_economic_nexus

Checks which US states a remote seller (no office, staff or stock in the state) must register in to collect sales tax, from its sales into each state. Give sales_by_state with the dollar sales and number of transactions (orders) per state, the period those figures cover, and whether they include sales made through marketplaces such as Amazon or Etsy. Returns states where the seller is over the economic nexus threshold (must register), states close to it (80 percent or more), states under it, and for each the threshold, the measurement period the state uses, what sales count (gross, retail or taxable only), whether marketplace sales count, when registration must happen, and the state revenue department source. Unclear cases give the SAFE answer (treated as over) with what it depends on. Free.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoThe date to check the rules on, YYYY-MM-DD. Defaults to today. Thresholds changed in several states; past dates use the rule then in force.
periodNoWhat period the figures cover: last_12_months (default), previous_calendar_year or current_calendar_year (year to date).
sales_by_stateYesOne item per state the seller ships into: {"state":"CA","sales":612000,"transactions":3400}. Optional per item: marketplace_sales and marketplace_transactions (the part made through marketplace facilitators like Amazon), retail_sales (sales excluding sales for resale), taxable_sales (sales excluding exempt sales). Dollars are US dollars.
show_all_statesNoTrue to also list every sales tax state the seller did not report sales for. Default false.
includes_marketplace_salesNoTrue (default) if the sales and transactions figures include sales made through marketplace facilitators. Many states exclude those sales when testing a remote seller's threshold.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

No annotations exist, so the description carries the full behavioral burden and does substantial work: it categorizes returns (over threshold, 80%+ near threshold, under), explains the SAFE-answer fallback for unclear cases and that it discloses the dependency, and notes 'Free'. It does not explicitly state the tool is read-only/no side effects, but the framing implies a pure computation. Strong disclosure overall.

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

Conciseness3/5

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

Purpose is front-loaded, which is good, but the body is one very dense run-on paragraph that crams the entire output taxonomy into long comma-separated lists. Every clause is arguably relevant, but the structure hurts scannability for a description this size.

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?

There is no output schema, so the description must explain returns, and it does, thoroughly: the four state buckets plus per-state threshold, measurement period, what sales count, marketplace treatment, registration timing and source. Combined with a fully documented schema for a genuinely complex domain, an agent has what it needs; only the read-only/no-side-effect nature and date-rule semantics are left implicit.

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 five parameters including the enum, defaults and nested item shape. The description adds only marginal meaning (marketplace-inclusion rationale: 'Many states exclude those sales when testing a remote seller's threshold') and does not explain the date parameter's rule-versioning behavior, which the schema itself covers. 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?

States a specific verb and resource: checks which US states a remote seller must register in for sales tax, from its sales by state. The scope is narrow and concrete enough that it is clearly distinguishable from siblings like list_nexus_thresholds (generic threshold reference) and list_upcoming_nexus_changes, even without naming them.

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?

It tells the agent what data to supply ('Give sales_by_state with the dollar sales and number of transactions... and whether they include marketplaces') which implies the usage context, but never states when to use this tool versus list_nexus_thresholds or list_upcoming_nexus_changes, and gives no exclusions or prerequisites. Usage is inferred rather than guided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources