Untax
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Property assessment research, free private veteran review PDFs and consented VA requirements checks.
| Author | io.github.mooshee |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2761 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Untax": {
"url": "https://untax.io/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (20)
suggest_addressesread-onlySearch retained county-roll address candidates for partial queries and typos. If the intended property is ambiguous, show the relevant candidates and ask the user to select one before continuing with property-specific conclusions or actions. Similarity scores and is_auto_match are matching hints, not a user selection, verified owner authority or financial eligibility.
Parameters:
query(required) — string — Address query or partial street name (e.g. '3731 Andrson Ave', 'Anderson Ave', '810 Lindsay')limit— integer — Maximum number of candidate suggestions to return (default: 5)
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_property_assessmentread-onlyGet retained county assessment observations and source provenance for a supported address or parcel ID. Missing facts stay unavailable; commercial source area is not finished living area. Any comparison is a draft with evidence holds and does not establish personal tax savings or filing readiness. For a property audit or a request to find tax-reduction routes, review opportunity_screen before concluding. A weak or held comparable-property analysis does not rule out independent relief, record corrections or billing research. Ask the next relevant unanswered targeted_questions item one at a time; use available_questions for relevant follow-ups. Accept none, not sure or skip, and do not repeat answered or skipped questions in this conversation unless the user changes the facts. After an answer, call recheck_property_opportunities for the same selected property and county with the accumulated explicit owner_answers and skipped_question_ids. Rechecks are stateless: resend still-applicable prior answers, preserve explicit false and empty arrays, and omit unknown or skipped fields instead of sending null or inventing a negative answer. Resend stable skipped_question_ids until the user supplies an answer or asks to revisit the question. Skips suppress prompts only and leave requirements unresolved. Do not transfer property-specific answers or skips to another property. When the user is done or skips the remaining questions, summarize supported research routes and missing evidence without treating unknowns as a denial. For a fact-only lookup, answer the requested fact and offer relevant screening without requiring an unrelated intake. Owner answers do not verify eligibility, savings, authority, payment or filing readiness.
Parameters:
address_or_pidn(required) — string — Full street address or county parcel ID (e.g. '3731 Anderson Ave, Chattanooga, TN' or '157I L 001')address— string — Alternative alias for property street addresscounty_key— string — Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected.actual_sqft— integer — Optional: Actual measured living area in sq ftnotice_appraised_value— number — Optional: New proposed appraised value from reassessment notice
Hints: read-only yes · destructive no · idempotent yes · open-world yes
recheck_property_opportunitiesread-onlyRecheck possible tax-reduction routes against current retained property records and a few owner-reported categories. Returns research and next questions; answers never establish eligibility, verified evidence, savings, owner authority, payment or filing readiness. Do not send exact income, ages, identifiers, documents or a caller-supplied audit. For a property audit or a request to find tax-reduction routes, review opportunity_screen before concluding. A weak or held comparable-property analysis does not rule out independent relief, record corrections or billing research. Ask the next relevant unanswered targeted_questions item one at a time; use available_questions for relevant follow-ups. Accept none, not sure or skip, and do not repeat answered or skipped questions in this conversation unless the user changes the facts. After an answer, call recheck_property_opportunities for the same selected property and county with the accumulated explicit owner_answers and skipped_question_ids. Rechecks are stateless: resend still-applicable prior answers, preserve explicit false and empty arrays, and omit unknown or skipped fields instead of sending null or inventing a negative answer. Resend stable skipped_question_ids until the user supplies an answer or asks to revisit the question. Skips suppress prompts only and leave requirements unresolved. Do not transfer property-specific answers or skips to another property. When the user is done or skips the remaining questions, summarize supported research routes and missing evidence without treating unknowns as a denial. For a fact-only lookup, answer the requested fact and offer relevant screening without requiring an unrelated intake. Owner answers do not verify eligibility, savings, authority, payment or filing readiness.
Parameters:
address_or_pidn(required) — stringowner_answers(required) — objectcounty_key— string — Optional exact registered county adapter key, such as hamilton. Restricts lookup to that county and avoids unrelated county scans; conflicting explicit prefixes are rejected.skipped_question_ids— array — Stable question IDs explicitly skipped in this same property conversation. Resend them with accumulated answers. Skips suppress prompts only; facts and eligibility remain unresolved.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_owner_workspaceread-onlyRead the signed-in owner's actual saved property reviews with a revocable owner:read grant. Returns explicit property and review identifiers; no active property is assumed. Ask the user to select a review when the target is ambiguous. Does not establish ownership, benefit eligibility, savings or filing authority.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_owner_review_detailsread-onlyRead one explicitly selected saved property review using the same source-bound service as the website. Requires both identifiers from get_owner_workspace and a live owner:read grant. Honor source_context_current and reconfirmation_required; never silently reuse stale previous_owner_answers. Ask relevant unanswered questions without repeating current answered or skipped items. User reports remain separate from county facts; changes and sensitive evidence belong in the protected browser review.
Parameters:
review_id(required) — stringsaved_property_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
find_va_facilitiesread-onlyFind official VA facilities in an explicit state, optionally filtered by city and facility type. Public information only. If location is missing, ask the returned question; do not infer a state or treat a VA facility as a county tax office or accredited VSO. Sandbox results are sample data.
Parameters:
city— stringlimit— integerstate— stringfacility_type— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_va_facilityread-onlyRead one official VA facility selected by its returned id. Returns available address, telephone and website information with source and environment. No Veteran records or eligibility determination.
Parameters:
id— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
find_va_formsread-onlyFind official VA forms by an explicit form number or search text. Ask what form or purpose is needed when query is missing. Show returned revision information and official PDF links; this does not complete or submit a claim.
Parameters:
limit— integerquery— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_va_formread-onlyLook up an explicit VA form number, such as 21-0966, and return available title, revision information and official PDF link. Use form_name from search results for this lookup; the separate catalog id is not a form number. If form_name is missing, ask for the form number. A form link is not a completed application, submission or proof of eligibility.
Parameters:
id— string — Official form number (the form_name field in search results), such as 21-0966. Do not use the numeric catalog id.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
start_va_connectionStart an explicitly requested VA connection for this signed-in account and assistant. Requires owner:va permission. Show connection_url to confirm the account and selected fields, review an existing saved verification or complete a new official VA sign-in, and approve this app's sharing separately. Verification is saved to the account only after approval. Return to this conversation and call get_va_connection afterward. The link itself grants no access; never request passwords, tokens, SSNs or full VA documents in chat.
Hints: read-only no · destructive no · idempotent no · open-world yes
get_va_connectionread-onlyRead the dated, minimized VA verification explicitly shared with this account and assistant. Requires owner:va and live sharing permission; browser sign-in alone does not grant access. The saved account snapshot survives provider-session expiry and server restart. Disclose verified_at and freshness; saved facts are not a live provider check and may need reverification. Expired or revoked app permission stops sharing. These facts do not establish property ownership, primary residence, tax eligibility or filing authority.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
disconnect_va_connectiondestructiveDisconnect only this assistant's access to this account's shared VA verification when the user requests it. Requires owner:va. The saved account verification remains until the owner removes it in Account. Does not disconnect another account or assistant, submit a claim or alter VA records.
Hints: read-only no · destructive yes · idempotent yes · open-world no
review_veteran_requirementsread-onlyContinue a property-specific requirements conversation with accumulated explicit answers and, only when requested, the connected applicant's saved VA verification. Requires owner:va. Disclose va_source.verified_at and freshness; a saved snapshot is not a current provider check. Ask returned questions one at a time; accept unknown or skip, preserve explicit false, and never reuse property-specific answers for another property. No eligibility decision, savings, generated application or filing.
Parameters:
answers— objectskipped_fields— array — Stable question ids explicitly skipped in this same property conversation. Unknown facts stay unresolved.use_connected_va_records— boolean — Set true only when the user explicitly identifies the connected VA records as theirs and asks to use them for their own applicant review. A surviving-spouse review needs separate deceased-veteran and survivor evidence.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
generate_veteran_packetread-onlyGenerate a real free private Veteran REVIEW/DRAFT PDF from an explicitly selected saved review. Requires owner:read. Missing answers remain visible review questions; no VA connection is required. Supplemental answers remain reported and are not saved to the customer review. Optional connected VA facts require additional owner:va permission and explicit use for this applicant. Returns an expiring authenticated download of exact compiled bytes, not an official application, eligibility decision, savings estimate or filing.
Parameters:
review_id(required) — stringsaved_property_id(required) — stringanswers— objectuse_connected_va_records— boolean — Only true when the user explicitly asks to use their connected records for their own applicant review; requires additional owner:va permission and is_surviving_spouse=false.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_microtransactions_catalogread-onlyInspect an evidence-gated research inventory of property-tax review routes and actual session tool availability. Each route reports held/unavailable/evidence_required and not_screened applicability; no eligibility, pricing, savings, automatic refund or filing readiness is established.
Hints: read-only yes · destructive no · idempotent yes · open-world no
audit_microtransactionread-onlyResearch an explicitly selected property and identify evidence requirements for a requested property-record service. Returns source observations and service capabilities; does not establish savings, quote a payable fee, inspect payment methods, charge, generate a filing packet or submit a correction. Sandbox checkout uses separate authenticated sandbox tools.
Parameters:
service_type(required) — string — Explicit research route selected from get_microtransactions_catalog. Common aliases: demolished_outbuilding, square_footage_correction, mailing_address_change, commercial_reclassification, certified_tax_ledger. No service is assumed.address— string — Explicitly selected property street address or parcel ID. A nonblank address takes precedence over parcel_id.parcel_id— string — Explicitly selected county parcel ID / PIDN, used when address is absent or blank.county_key— string — Exact registered county adapter key, such as hamilton; restricts source lookup to that county.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_appeal_lifecycleread-onlyRead a general assessment-review checklist. Takes no property inputs and does not check a filing window, deadline, fee, eligibility or outcome. Personal procedures require official property, jurisdiction and year review.
Hints: read-only yes · destructive no · idempotent yes · open-world no
start_tax_sandboxStart an explicitly requested test-only appeal or property-record service checkout for one source-backed property. Requires owner:sandbox sign-in. Uses Stripe TEST mode and isolated orders; does not establish ownership, eligibility, savings or an open appeal window. Never charges real money or files with a county. Show the returned test checkout link when payment is pending. When an order_id is known, read the same order after checkout or an uncertain failure before retrying. If starting checkout fails before an order_id is returned, retry start_tax_sandbox with the original idempotency_key; do not create a new key for the same attempt. get_tax_sandbox_order and complete_tax_sandbox_order take only order_id. Report test payment, draft generation, download availability and external delivery as separate observed states. Do not claim the draft is available until the order confirms its artifact is available; a payment or download URL alone is not proof. A sandbox receipt or simulated submission is not county filing, external email delivery or permission for live payments.
Parameters:
address_or_pidn(required) — stringcounty_key(required) — stringservice(required) — stringidempotency_key(required) — string
Hints: read-only no · destructive no · idempotent yes · open-world yes
get_tax_sandbox_orderread-onlyRead your own isolated Untax test order. Requires owner:sandbox sign-in. Payment and draft delivery statuses are separate from production eligibility or county filing. Show the returned test checkout link when payment is pending. When an order_id is known, read the same order after checkout or an uncertain failure before retrying. If starting checkout fails before an order_id is returned, retry start_tax_sandbox with the original idempotency_key; do not create a new key for the same attempt. get_tax_sandbox_order and complete_tax_sandbox_order take only order_id. Report test payment, draft generation, download availability and external delivery as separate observed states. Do not claim the draft is available until the order confirms its artifact is available; a payment or download URL alone is not proof. A sandbox receipt or simulated submission is not county filing, external email delivery or permission for live payments.
Parameters:
order_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
complete_tax_sandbox_orderVerify fresh Stripe TEST payment for your own sandbox order and release its hash-bound draft packet and receipt. Records a simulated submission only; never submits a real appeal or changes county records. Requires owner:sandbox sign-in and a completed test checkout. Show the returned test checkout link when payment is pending. When an order_id is known, read the same order after checkout or an uncertain failure before retrying. If starting checkout fails before an order_id is returned, retry start_tax_sandbox with the original idempotency_key; do not create a new key for the same attempt. get_tax_sandbox_order and complete_tax_sandbox_order take only order_id. Report test payment, draft generation, download availability and external delivery as separate observed states. Do not claim the draft is available until the order confirms its artifact is available; a payment or download URL alone is not proof. A sandbox receipt or simulated submission is not county filing, external email delivery or permission for live payments.
Parameters:
order_id(required) — string
Hints: read-only no · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.