SecondAppraisal Total-Loss Intake
Ce que fait ce MCP
Provides preliminary vehicle total-loss market comparisons, state-specific rules, valuation-report processing, and consent-based intake submission.
Outils
Schéma d’entrée
{'type': 'object', 'required': ['intake_id', 'poll_token'], 'properties': {'intake_id': {'type': 'string', 'minLength': 1, 'description': 'The `intake_id` from a previous submission.'}, 'poll_token': {'type': 'string', 'minLength': 1, 'description': 'The `poll_token` returned once on that submission.'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['year', 'make', 'model'], 'properties': {'zip': {'type': 'string', 'pattern': '^\\d{5}(-\\d{4})?$', 'description': 'Preferred; searches comparables near here.'}, 'make': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'trim': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900}, 'model': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'state': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Two-letter state; used when no zip is given.'}, 'odometer': {'type': 'integer', 'maximum': 2000000, 'minimum': 0}, 'acv_offer_cents': {'type': 'integer', 'minimum': 0, 'description': "Insurer's offer in cents, to report the gap."}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': 'Two-letter code (TX) or state name (Texas).'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['agent', 'customer', 'consent'], 'properties': {'loss': {'type': 'object', 'properties': {'zip': {'type': 'string', 'pattern': '^\\d{5}(-\\d{4})?$', 'description': 'US ZIP code (5 or 5+4). Used to search comparable vehicles near the customer.'}, 'loss_state': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'State where the loss occurred / the policy is written.'}, 'date_of_loss': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Calendar date, YYYY-MM-DD.'}, 'insurance_path': {'enum': ['own', 'at-fault', 'unknown', 'none'], 'type': 'string', 'description': "Whose insurance is handling it: own (customer's carrier), at-fault (the other driver's carrier), unknown, or none (no insurance claim — valuation only)."}}, 'description': 'When and where the loss happened.', 'additionalProperties': False}, 'agent': {'type': 'object', 'required': ['name', 'platform'], 'properties': {'name': {'allOf': [{'type': 'string', 'maxLength': 120}, {'type': 'string', 'maxLength': 120, 'minLength': 1}], 'description': 'Human-readable name of the agent or product submitting on the customer\'s behalf (e.g. "OpenClaw", "Acme Claims Copilot"). Shown to the customer.'}, 'version': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Agent / integration version string.'}, 'platform': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9-]{0,59}$', 'description': 'Platform slug for attribution. Known values: openclaw, chatgpt, claude, gemini, copilot, perplexity, custom. Any lowercase slug is accepted.'}, 'operator_url': {'type': 'string', 'format': 'uri', 'maxLength': 300, 'description': 'Homepage or documentation URL of the agent operator.'}}, 'description': 'Who is calling. Required — an intake without self-identification is refused.', 'additionalProperties': False}, 'offer': {'type': 'object', 'properties': {'insurer': {'allOf': [{'type': 'string', 'maxLength': 120}, {'type': 'string', 'maxLength': 120, 'minLength': 1}], 'description': 'Insurance company handling the total loss.'}, 'acv_offer': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': "Insurer's Actual Cash Value offer in dollars. Converted to cents server-side."}, 'claim_number': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'acv_offer_cents': {'type': 'integer', 'maximum': 100000000, 'minimum': 0, 'description': "Insurer's Actual Cash Value offer in cents. `acv_offer` (dollars) is also accepted."}}, 'description': "The insurer's position so far, if any.", 'additionalProperties': False}, 'consent': {'type': 'object', 'required': ['attestation'], 'properties': {'mode': {'enum': ['customer_directed', 'warm_handoff'], 'type': 'string', 'default': 'customer_directed', 'description': 'customer_directed: the customer asked their agent to submit this. warm_handoff: a registered agent attests the customer asked to be contacted now (priority callback; requires an API key).'}, 'attestation': {'type': 'string', 'maxLength': 1000, 'minLength': 20, 'description': "The agent's attestation, in its own words, that the customer asked for this submission and knows SecondAppraisal will email/text and call to confirm. Stored verbatim on the intake."}, 'attestor_name': {'allOf': [{'type': 'string', 'maxLength': 120}, {'type': 'string', 'maxLength': 120, 'minLength': 1}], 'description': 'Who is attesting (the agent, or the person operating it).'}, 'notify_customer': {'type': 'boolean', 'default': True, 'description': 'true (default): we send the customer our welcome email/text with the confirm link. false: you relay `customer_message` and `customer_confirmation_url` yourself and we send nothing until they confirm or we call.'}}, 'description': 'Consent basis. Attestation wording version 2026-09-16.1.', 'additionalProperties': False}, 'vehicle': {'type': 'object', 'properties': {'vin': {'allOf': [{'type': 'string'}, {'type': 'string', 'maxLength': 17, 'minLength': 11}], 'description': 'Vehicle Identification Number. A full 17-character VIN lets us decode year/make/model/trim.'}, 'make': {'allOf': [{'type': 'string', 'maxLength': 60}, {'type': 'string', 'maxLength': 60, 'minLength': 1}]}, 'trim': {'allOf': [{'type': 'string', 'maxLength': 80}, {'type': 'string', 'maxLength': 80, 'minLength': 1}]}, 'year': {'type': 'integer', 'maximum': 2100, 'minimum': 1900}, 'model': {'allOf': [{'type': 'string', 'maxLength': 80}, {'type': 'string', 'maxLength': 80, 'minLength': 1}]}, 'plate': {'type': 'string', 'maxLength': 12, 'minLength': 1, 'description': 'License plate. Requires plate_state to resolve a VIN.'}, 'odometer': {'type': 'integer', 'maximum': 2000000, 'minimum': 0, 'description': 'Odometer reading in miles at the time of loss.'}, 'plate_state': {'type': 'string', 'maxLength': 2, 'minLength': 2, 'description': 'Two-letter US state code, e.g. TX.'}}, 'description': 'The vehicle. A VIN (or plate + plate_state) is best; year/make/model works too.', 'additionalProperties': False}, 'customer': {'type': 'object', 'properties': {'email': {'type': 'string', 'format': 'email', 'maxLength': 254, 'description': 'Customer email address.'}, 'phone': {'allOf': [{'type': 'string'}, {'type': 'string', 'pattern': '^[2-9]\\d{9}$'}], 'description': 'US mobile or landline number. Punctuation and a leading +1 are tolerated.'}, 'last_name': {'allOf': [{'type': 'string', 'maxLength': 80}, {'type': 'string', 'maxLength': 80, 'minLength': 1}]}, 'first_name': {'allOf': [{'type': 'string', 'maxLength': 80}, {'type': 'string', 'maxLength': 80, 'minLength': 1}]}}, 'description': 'The vehicle owner. At least one of email / phone is required; everything else is optional.', 'additionalProperties': False}, 'external_ref': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Your reference id; echoed in every response.'}, 'idempotency_key': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Any unique string per logical submission; a replay returns the original receipt.'}}, 'description': "Submit a vehicle owner's total-loss situation on their behalf.", 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['intake_id', 'poll_token', 'file_name', 'file_base64'], 'properties': {'file_name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Original file name, e.g. valuation-report.pdf.'}, 'intake_id': {'type': 'string', 'minLength': 1, 'description': 'The `intake_id` from a previous submission.'}, 'poll_token': {'type': 'string', 'minLength': 1, 'description': 'The `poll_token` returned once on that submission.'}, 'file_base64': {'type': 'string', 'minLength': 1, 'description': 'The PDF bytes, base64-encoded (standard or URL-safe alphabet). Up to 15 MB decoded.'}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
taxsort-mcp
Classifies personal tax transactions, applies user-defined rules, manages tax-year sessions, and provides account, usage, and cre…
mcp
Analyzes medical bills and insurance denials, estimates healthcare costs, identifies assistance options, and supports appeals and…
AINumbers Fintech Intelligence Suite
Provides deterministic fintech, payment-policy, financial analysis, regulatory compliance, credential integrity, and audit-trail …
Xearno Tools
Provides financial, tax, employment-benefit, lending, pricing, and business calculators using jurisdiction-specific rules and cur…
schedule-iii
Transforms Indian company trial balances into controlled Schedule III financial statement workbooks with account mappings, disclo…