SolidInvoice
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
US sales/use tax, nexus thresholds, capital gains and 1099-DA tools for AI agent transactions.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Kopiere diese Nachricht in einen Claude-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.
Installiere bitte den MCP server AgentTax für Claude auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe Node.js mit node -v. Fehlt es, sag mir, dass ich es von https://nodejs.org/en/download installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "mcpServers": { "agenttax": { "command": "npx", "args": [ "-y", "@agenttax/mcp-server" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von AgentTax wirklich erscheinen.Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + Leertaste drücken, Terminal eingeben, Enter
Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen
Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig
Download-Seite von Node.js öffnen ↗
Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v
Einmal installieren, gilt für alles, was Node.js braucht
SettingsDeveloperEdit Config
{
"mcpServers": {
"agenttax": {
"command": "npx",
"args": [
"-y",
"@agenttax/mcp-server"
]
}
}
}Nutze AgentTax und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es AgentTax nutzt, oder ein Werkzeug von AgentTax in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
AGENTTAX_API_KEY AgentTax API key (free tier at agenttax.io). Optional: without it the server runs in demo mode, 10 calls/day.Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann AgentTax noch nicht verbinden
AgentTax läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die AgentTax verbinden kann
B · Andere in Buchhaltung, Finanzen & Steuern, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Kopiere diese Nachricht in einen Claude Code-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.
Installiere bitte den MCP server AgentTax für Claude Code auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe Node.js mit node -v. Fehlt es, sag mir, dass ich es von https://nodejs.org/en/download installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): claude mcp add --scope user agenttax -- npx -y @agenttax/mcp-server 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von AgentTax wirklich erscheinen.Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + Leertaste drücken, Terminal eingeben, Enter
Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen
Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig
Download-Seite von Node.js öffnen ↗
Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v
Einmal installieren, gilt für alles, was Node.js braucht
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user agenttax -- npx -y @agenttax/mcp-serverAgentTax sollte in der Liste als verbunden erscheinen
Nutze AgentTax und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es AgentTax nutzt, oder ein Werkzeug von AgentTax in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
AGENTTAX_API_KEY AgentTax API key (free tier at agenttax.io). Optional: without it the server runs in demo mode, 10 calls/day.Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Kopiere diese Nachricht in einen Cursor-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.
Installiere bitte den MCP server AgentTax für Cursor auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe Node.js mit node -v. Fehlt es, sag mir, dass ich es von https://nodejs.org/en/download installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "mcpServers": { "agenttax": { "command": "npx", "args": [ "-y", "@agenttax/mcp-server" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von AgentTax wirklich erscheinen.Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + Leertaste drücken, Terminal eingeben, Enter
Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen
Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig
Download-Seite von Node.js öffnen ↗
Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v
Einmal installieren, gilt für alles, was Node.js braucht
Nutze AgentTax und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es AgentTax nutzt, oder ein Werkzeug von AgentTax in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
AGENTTAX_API_KEY AgentTax API key (free tier at agenttax.io). Optional: without it the server runs in demo mode, 10 calls/day.Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Installiere zuerst Node.js auf deinem Computer (nur einmal)
Kopiere diese Nachricht in einen VS Code-Chat. Die KI prüft deinen Rechner, sagt dir, welche Datei sie ändert, und wartet jedes Mal auf dein OK.
Installiere bitte den MCP server AgentTax für VS Code auf diesem Rechner, in dieser Reihenfolge: 1) Prüfe Node.js mit node -v. Fehlt es, sag mir, dass ich es von https://nodejs.org/en/download installiere; installiere es nicht selbst. 2) Verwende nur diese Konfiguration (von PopNx MCP geprüft): { "servers": { "agenttax": { "type": "stdio", "command": "npx", "args": [ "-y", "@agenttax/mcp-server" ] } } } 3) Nenne mir den vollständigen Pfad der Datei, die du änderst, oder den Befehl, den du ausführst, und warte auf mein OK. 4) Kein Schlüssel nötig. 5) Führe das Vereinbarte aus und prüfe, dass die Tools von AgentTax wirklich erscheinen.Diese Nachricht enthält keinen Schlüssel. Wird einer gebraucht, bittet dich die KI, ihn selbst in die Datei oder das Feld der App einzufügen.
Schon installiert? Zuerst prüfen · Öffne das Terminal, gib diesen Befehl ein und drücke Enter
node -vMac: ⌘ + Leertaste drücken, Terminal eingeben, Enter
Windows: Start öffnen, Windows PowerShell eingeben, dann Öffnen
Noch nicht installiert: Öffne die offizielle Download-Seite, wähle die LTS-Version und den Klick-Installer: .pkg auf dem Mac · .msi unter Windows. Doppelklicken und bis zum Ende durchklicken. Kein curl-Befehl nötig
Download-Seite von Node.js öffnen ↗
Danach das Terminal schließen, neu öffnen und denselben Befehl erneut ausführen. Es muss eine Versionsnummer erscheinen: node -v
Einmal installieren, gilt für alles, was Node.js braucht
VS Code fragt nach einer Bestätigung; klicke Install
Nutze AgentTax und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es AgentTax nutzt, oder ein Werkzeug von AgentTax in der Antwort zeigt, bist du verbunden
Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.
AGENTTAX_API_KEY AgentTax API key (free tier at agenttax.io). Optional: without it the server runs in demo mode, 10 calls/day.Die Beschreibungen sind noch im englischen Original.
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Claude Code
claude mcp add --scope user agenttax -- npx -y @agenttax/mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"agenttax": {
"command": "npx",
"args": [
"-y",
"@agenttax/mcp-server"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"agenttax": {
"command": "npx",
"args": [
"-y",
"@agenttax/mcp-server"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"agenttax": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@agenttax/mcp-server"
]
}
}
}AGENTTAX_API_KEY geheim envDie Beschreibungen sind noch im englischen Original.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
npm: @agenttax/mcp-serverBasierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 15. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto AgentTax bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 9 Tagen
Nutzt MIT
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Noch nicht geprüft
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vor 9 Tagen geändert, und die neueste Version (1.3.1) kam vor 9 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: SolidInvoice, Signal8, Journalit, Tapetide - Indian Stock Market MCP, Twelve Data
Gleiche Kategorie, andere Entwickler, Befehle bereits geprüft. Offizielle zuerst, dann nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
SEC filings, dilution, insider & institutional ownership, and political-trade data for AI agents.
Trading journal in Obsidian. Ask Claude or ChatGPT about your trades; edits are previewed first.
48 tools for ~8,000 NSE & BSE stocks: quotes, screener, financials, filings, FII/DII, options
Real-time and historical market data: stocks, forex, crypto, ETFs, fundamentals and 60+ indicators.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Tax compliance for MCP tool developers and AI agents, powered by AgentTax.
If you build MCP tools that charge for usage, you have sales tax obligations in states where your buyers are located. Most payment processors don't handle this correctly for digital services.
Add AgentTax to your MCP setup and call track_payment after every payment. That's it.
{
"mcpServers": { "agenttax": { "command": "npx", "args": ["@agenttax/mcp-server"], "env": { "AGENTTAX_API_KEY": "atx_live_your_key" } } } }
After a payment:
track_payment({
amount: 49.00, buyer_state: "TX", buyer_zip: "78701", description: "MCP API access — monthly subscription", payment_id: "pi_stripe_abc123", source: "stripe" })
Returns your tax liability, compliance status, and logs it to your account. All transactions are viewable in your AgentTax dashboard.
For fully automatic tax tracking without calling any tool manually, point your Stripe webhook to AgentTax:
https://agenttax.io/api/v1/webhooks/stripe?key=atx_live_YOUR_KEY
payment_intent.succeeded, checkout.session.completed, invoice.paid, charge.succeededmetadata.work_type on your Stripe products (compute | research | content | consulting | trading) for precise tax classificationEvery payment is automatically classified, taxed, and logged. No code changes required.
Requires a billing address on the Stripe payment. Enable full address collection in your Stripe Checkout settings.
claude mcp add agenttax -e AGENTTAX_API_KEY=atx_live_your_key -- npx -y @agenttax/mcp-server
Add to your MCP config file:
{
"mcpServers": { "agenttax": { "command": "npx", "args": ["@agenttax/mcp-server"], "env": { "AGENTTAX_API_KEY": "atx_live_your_key" } } } }
Demo mode works without a key (10 calls/day, no account required). Tools marked "Yes" below need AGENTTAX_API_KEY.
| Tool | What it does | Key needed |
|---|---|---|
track_payment | Log a payment you received and get your sales tax liability. The main tool for paid MCP servers and APIs. | Demo works; key for history |
calculate_tax | Sales/use tax calculation. Keyless: an estimate (total, rates, confidence, resolution). Free key: adds jurisdiction breakdown, audit trail, advisories with citations | Demo works (estimate); key for full response |
ingest_transactions | Bulk-log up to 100 transactions (e.g. x402 purchases), idempotent on external_tx_id | Yes |
list_transactions | Your transaction history with running totals | Yes |
get_nexus_thresholds | Each state's economic nexus thresholds (revenue / transaction count), notes and DOR source | No |
get_nexus | The states you have configured nexus in | Yes |
configure_nexus | Set the states you have nexus in (merge semantics) | Yes |
log_trade | Log a buy/sell; sells return realized gain/loss with cost basis | Yes |
list_trades | Trades you have logged | Yes |
export_1099_da | Draft Form 1099-DA payload for realized digital-asset gains | Yes (Pro) |
get_rates | State sales tax rates and digital-goods taxability, all 51 jurisdictions or one | No |
get_local_rate | Combined state + local rate for a zip code | No |
get_capital_gains_rates | State short/long-term capital gains rates | No |
get_pricing | Machine-readable pricing contract | No |
check_health | API health and endpoint list | No |
Read-only tools carry the MCP readOnlyHint annotation so clients can auto-approve them.
track_payment({
amount: 49.00, buyer_state: "TX", buyer_zip: "78701", description: "MCP tool subscription", work_type: "content", payment_id: "pi_stripe_abc123", source: "stripe" })
Returns tax_owed, tax_rate, taxable, transaction_id, a classification (where the work type came from) and a compliance_note. Sellers get $0 in states where no nexus is configured. That $0 is a default, not a determination, and the response says so: nexus_status (unknown / no_nexus_profile), tax_if_nexus (what the payment owes once nexus is set), nexus_warning (the API's NEXUS_NOT_CONFIGURED advisory or demo note) and a compliance_note such as "No sales tax collected because no nexus is configured for WA ... If you have nexus in WA, this payment owes $6.50 (6.5%)." Keyless calls use AgentTax's shared demo nexus profile, not yours.
Pass `work_type` explicitly (compute | research | information_service | content | consulting | trading | payment_processing | web_hosting | software_maintenance | it_support | custom_software) when you know what you sold. The last five are the classification work types the API added in October 2026: a payment or facilitator fee, hosting the buyer's own site, a software maintenance contract, IT support, and software written for one buyer. Each sends its own transaction_type and the API answers with that state's rule for it. It is a declaration and gives the exact answer, and it is the only way the consulting or trading exemption applies: for example, AI consulting sold to an Arizona buyer is an exempt professional service (A.R.S. §42-5061(A)(1), TPR 93-48), so work_type: "consulting" returns $0 in AZ. Without work_type the server guesses from description, but a guess never takes the consulting or trading exemption: a description that looks like consulting (e.g. "SOC 2 audit platform subscription") or trading is taxed as SaaS, and classification.note tells you to resend with work_type if the guess was right. A description that looks like compute or research keeps the 1.1.1 classification, which can tax less than SaaS in some states (e.g. CT, MD, SC, TN, WV); pass work_type for an exact answer. Leave is_b2b out when you don't know the buyer; false declares a consumer. Upgrading from 1.1.1? Some track_payment results change; see CHANGELOG.md.
calculate_tax({
role: "buyer", amount: 500, buyer_state: "TX", buyer_zip: "78701", transaction_type: "compute", work_type: "compute", counterparty_id: "seller-agent-123", is_b2b: true })
Optional fields: seller_state / seller_zip (origin-sourced intrastate sales in TX, UT, AZ, TN and some OH sales), use_context (Maryland B2B), digital_content_type (with transaction_type: "digital_good"), seller_remitting. transaction_type and work_type are sent exactly as given and treated as declared facts; don't guess them (consulting is exempt in Arizona).
Classification facts (optional; sent to the API as given, except that payment_provider_type and it_support_scope are trimmed and lowercased first, as the API does). Each one applies to one of the classification types; leave it out and the API gives its conservative default for that type.
payment_provider_type (bank | licensed_money_transmitter | card_network | processor_routing_to_bank_or_network | other), with transaction_type: "payment_processing_fee": who provides the payment processing.it_support_scope (help_desk_advice | remote_repair_or_config | software_installation | monitoring | security_monitoring | managed_bundle), with it_support: what the engagement is. Absent means managed_bundle.includes_prewritten_software_access (boolean), with transaction_type: "web_hosting": true when the plan gives the buyer vendor software beyond an incidental control panel or file manager (site builder, CMS or app platform, email or office suite, managed application).custom_software_attestation, required with work_type: "custom_software"; without a complete one the sale is answered as prewritten software / SaaS. Required keys: written_for_buyer, not_offered_to_others, deliverable (source_code | compiled_artifact | hosted), is_modification_of_prewritten. Optional state facts: separately_stated_charge, all_rights_transferred, delivery (electronic | tangible), il_requirements_analysis_and_adaptation, il_assembled_modules_50pct.maintenance_contract, with transaction_type: "software_maintenance". All keys optional: mandatory, includes_upgrades, includes_support, separately_itemized, itemized_amounts ({ updates, support }, summing to amount), update_delivery (electronic | tangible), support_kind (help_desk_only | includes_fixes), seller_sold_software, business_use.Both objects are strict, as in the API: an unknown key is refused before the call is sent. The facts are your representation and are recorded with the transaction. track_payment does not take them; use calculate_tax when you have them. ingest_transactions records take the same facts per record and pass them through to the API, which validates them; leave them out and an ingested classification sale gets the conservative answer.
calculate_tax({
role: "seller", amount: 12000, buyer_state: "TX", counterparty_id: "client-42", transaction_type: "saas", work_type: "custom_software", custom_software_attestation: { written_for_buyer: true, not_offered_to_others: true, deliverable: "source_code", is_modification_of_prewritten: false } })
`intent` (optional, "estimate" | "record"). Pass "estimate" to quote a price before a wallet signs. An estimate is computed and counts toward your monthly quota, but it is never saved to your transaction history, never counts toward nexus revenue, and ignores any idempotency key. With an API key and no intent, the call is a "record" and is logged. Keyless demo calls are always estimates. The server sends intent only when you pass it. It needs the AgentTax API release that accepts intent (live on agenttax.io since 2026-10-21).
`resolution` in the response says how sure each part of the answer is. resolution.location, resolution.nexus and resolution.taxability each carry a status (resolved, partial or unknown), a basis (for example zip_local_rate, state_only, no_nexus_profile, fact_not_declared) and a detail sentence. total_tax is always returned, never withheld. If your rule is "unknown means do not charge", branch on the status yourself:
// Pseudo-code. quote = the parsed JSON result of the calculate_tax tool call
const price = 20; const quote = await calculate_tax({ role: "seller", amount: price, buyer_state: "NY", buyer_zip: "10001", transaction_type: "saas", counterparty_id: "buyer-agent-7", intent: "estimate" });
if (quote.resolution.nexus.status === "unknown") { // No nexus profile configured: total_tax may be $0 only because nexus was never set up. // Run configure_nexus, or hold the sale for review, instead of charging $0. } else { charge(price + quote.total_tax); }
get_nexus_thresholds({ state: "NY" }) // what triggers registration
configure_nexus({ nexus: { TX: { hasNexus: true, reason: "Economic nexus" } } }) get_nexus() // what you have configured
log_trade({ asset_symbol: "ETH", trade_type: "buy", quantity: 2, price_per_unit: 2500, asset_class: "crypto" })
log_trade({ asset_symbol: "ETH", trade_type: "sell", quantity: 1, price_per_unit: 3100, asset_class: "crypto" }) export_1099_da({ year: 2026 }) // draft, not a filed return
curl -X POST https://agenttax.io/api/v1/auth/signup \
-H "Content-Type: application/json" \ -d '{"email": "you@example.co