{
  "markdown": "# SENTINEL Washington Real Estate MCP\n\nSource-dated Washington property evidence and transaction math for software and\ncompatible AI assistants. One REST and MCP service combines supported county\nfacts, permit and site context, REET, seller calculations and bounded research\npackets. It complements licensed MLS data; it does not replace an MLS feed.\n\n[Developer guide](https://sentineliq.net/developers?utm_source=github&utm_medium=referral&utm_campaign=sentinel_api_launch_202609&utm_content=github_readme) ·\n[Console](https://sentineliq.net/developers/console) ·\n[OpenAPI](https://app.sentineliq.net/api/v1/agent-api/openapi.json) ·\n[Developer terms](https://sentineliq.net/developers/terms)\n\n## Try without an account\n\n```bash\ncurl -s https://app.sentineliq.net/api/v1/public/reet \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"sale_price\":750000,\"county\":\"king\"}'\n```\n\nWorked example: $8,655 state REET + $3,750 county-level local REET + $5 technology\nfee = **$12,410 estimated total**. The full response includes the tax bands,\nscope, assumptions, disclaimer and attribution. This is an estimate for a\nstandard residential transfer; verify the location code and applicable rules.\n\n## Tools\n\n| MCP name | Keyed REST path after /api/v1/agent-api/v1 | Access |\n|---|---|---|\n| wa_research_packet | POST /research-packet | Key |\n| wa_property_changes | POST /property-changes | Key |\n| wa_local_context | GET /local-context | Key |\n| wa_site_context | GET /site-context | Key |\n| wa_reet | POST /reet | Public or key |\n| wa_net_sheet | POST /net-sheet | Public or key |\n| nwmls_deadlines | POST /deadlines | Public or key |\n| wa_property_lookup | GET /property | Key |\n| wa_permit_history | GET /permit-history | Key |\n| wa_market_snapshot | GET /market | Key |\n| wa_compare_seller_scenarios | POST /seller-scenarios | Key |\n| wa_compare_offers | POST /offers/compare | Key |\n| wa_monthly_payment | POST /monthly-payment | Key |\n| wa_seller_packet | POST /seller-packet | Key |\n\nThe three public REST calculators use /api/v1/public/ instead. Tools do not\ncreate deals, change CRM records or send messages. Successful keyed calls\nupdate the account's usage ledger.\n\nREST field names use snake_case. MCP arguments use camelCase; inspect tools/list\nfor the exact schema. MCP output retains the REST response's field names.\n\n## Connect\n\nPublic URL: https://app.sentineliq.net/api/v1/mcp/public\nKeyed URL: https://app.sentineliq.net/api/v1/mcp\n\nThe public connection exposes three calculators. The keyed connection exposes\nall fourteen tools. Configure Authorization: Bearer agk_... using your client's\nprotected credential settings. There is no OAuth sign-in flow. Keys belong on\na server or in secure local configuration, never shared source files.\n\n### Cursor\n\nUse .cursor/mcp.json:\n\n```json\n{\n  \"mcpServers\": {\n    \"sentinel\": {\n      \"url\": \"https://app.sentineliq.net/api/v1/mcp/public\"\n    }\n  }\n}\n```\n\n### VS Code\n\nUse .vscode/mcp.json. VS Code uses servers and an explicit transport type:\n\n```json\n{\n  \"servers\": {\n    \"sentinel\": {\n      \"type\": \"http\",\n      \"url\": \"https://app.sentineliq.net/api/v1/mcp/public\"\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add --transport http sentinel https://app.sentineliq.net/api/v1/mcp/public\n```\n\nOther clients must support a remote HTTP MCP server. Availability and protected\nheader configuration vary by client and plan. No universal compatibility claim\nis made. The optional Claude Desktop example uses a third-party stdio bridge;\nreview that dependency before using it.\n\n### Protocol behavior\n\nServer version: 1.5.1. Supported protocol revisions are 2026-07-28,\n2025-06-18 and 2025-03-26. Transport is stateless HTTP POST with JSON responses;\na legacy HTTP+SSE server is not provided.\n\nCurrent 2026-07-28 clients use server/discover. Requests include the\nMCP-Protocol-Version and Mcp-Method headers; tools/call also includes Mcp-Name.\nThe body params._meta must carry io.modelcontextprotocol/protocolVersion and\nio.modelcontextprotocol/clientCapabilities. Header and body values must agree.\n\nLegacy 2025-03-26 and 2025-06-18 clients use initialize and send the negotiated\nMCP-Protocol-Version header thereafter. The supported structured-result\nrevisions return structuredContent and outputSchema alongside text content.\nInspect the negotiated capabilities rather than assuming a client version.\n\nInitialize, discovery and notifications do not consume successful-call quota.\nBusiness failures appear as result.isError with a text error; protocol errors\nuse JSON-RPC errors. Preserve X-Request-Id when contacting support.\n\n## Research one property with evidence\n\nThe `wa_research_packet` tool resolves one supported Washington property and\nreturns source-backed facts, calculations, conflicts, unknowns, follow-up\nquestions and field-level references in a single bounded response. Compact and\nfull projections preserve the same claims, qualifications and required notices.\nOptional coordinate context remains a separate point observation; it is never\ntreated as proof of a parcel match. A useful partial packet counts as one\nsuccessful call, while unavailable or ambiguous research does not.\n\n`wa_property_changes` reads the permit versions Sentinel has actually captured.\nIt distinguishes agency event dates from Sentinel observation times and treats\nthe first capture as a baseline, not as a newly observed change. History begins\nat that first immutable capture and can be incomplete.\n\n## Build a seller packet\n\nA data-independent first request compares two prices with a known payoff and\nexplicitly no seller credits:\n\n```json\n{\n  \"county\": \"king\",\n  \"scenarios\": [\n    {\"label\": \"Conservative\", \"sale_price\": 725000, \"mortgage_balance\": 420000, \"concessions\": 0},\n    {\"label\": \"Target\", \"sale_price\": 750000, \"mortgage_balance\": 420000, \"concessions\": 0}\n  ]\n}\n```\n\nPOST this body to /api/v1/agent-api/v1/seller-packet with your bearer key.\nThe response includes report_markdown, structured scenarios, section statuses,\ngaps, generation time and provenance. Property and market inputs are optional.\nThe packet is not an appraisal or CMA and does not fetch comparable sales.\n\nOmitted or null mortgage_balance and concessions mean unknown. Explicit 0\nmeans no payoff or seller credits. Preserve each proceeds label and its\nmortgage_payoff_known and concessions_known flags. Scenario deltas include\ncomparable and a nullable amount; a null difference is not zero. The response's\nfully_comparable flag tells you whether every scenario has a known payoff and\nknown seller credits.\n\nOffer comparisons share a single payoff. When credits are known for every\noffer, differences can still be compared without that payoff, but\ncomparison_basis is before_mortgage_payoff rather than net_proceeds. Unknown\ncredits suppress the offer spread and highest-proceeds labels. Do not present\na proceeds amount before unknown costs as final seller cash.\n\nThe Python and curl examples demonstrate calls without sending messages or\nchanging customer records. They will make network requests when you run them.\n\n## Coverage and data interpretation\n\n- County property records cover King, Pierce, Snohomish and Whatcom only.\n- REET local-rate assumptions cover eleven counties; that is not eleven-county\n  property coverage.\n- Historical cached building attributes may include earlier enrichment and\n  are not independently verified field by field. interior_provenance_status\n  is not_recorded when historical source tracking was not recorded; preserve\n  provenance_note alongside the attributes. A county attribution is not proof\n  of each building attribute's source.\n- Known portal backfills are omitted (portal_suppressed). Current listing\n  overrides are replaced with cached property values, which carry the same\n  historical provenance limitation. Missing or unavailable facts stay null.\n- Listing status, price and related fields are included only for a matched\n  licensed listing already on file. Null means no licensed listing on file,\n  not that a property is off market.\n- Listing links, photos and portal automated valuations are not returned.\n- Owner identity, mailing addresses, absentee classifications and equity\n  estimates are excluded. No list export, bulk enumeration or lead feed exists.\n- Market snapshots carry source dates and freshness warnings. A stale snapshot\n  is historical context, not a current observation.\n- Carry through attribution entries marked required and all relevant assumptions\n  and disclaimers. The [developer terms](https://sentineliq.net/developers/terms)\n  apply to source data and API use; the example-code license does not grant\n  additional data redistribution rights.\n\n## Access and limits\n\nPublic REST calculators: 60 requests/minute and 5,000/day per public client IP.\nPublic MCP: 60 requests/minute and 500/day per public client IP.\nKeyed tools: 60 requests/minute per key; 2,000 successful calls per rolling\n24 hours per account, shared across REST and MCP. Five active keys per account.\nThe trial includes 25 lifetime successful calls. Failed requests, validation\nfailures, not-found misses and whoami checks do not consume that allowance.\nGET /api/v1/agent-api/v1/whoami is an unmetered identity/usage check.\n\nExisting paid accounts retain their API access and published account allowance.\nThe current entry points are a trial key and a directly arranged integration pilot.\n\nThe optional **$250, 30-day integration pilot** covers one agreed workflow,\none developer account with up to five integration keys, setup help and a\nsuccess check. It is a one-time payment with no automatic renewal. Checkout is\nshown only when payment setup is available; otherwise contact the founder\nbefore the pilot starts. These are integration keys, not user seats; published\nper-account limits still apply. Contact hello@sentineliq.net.\n",
  "bytes": 9818,
  "sha": "2190784d0cb8222c465cb093a42cc8277fff46d45a28e6b6bd9d94b2999248ac",
  "repo_slug": "cheadlee10/sentinel-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_cheadlee10_sentinel_wa_realest_52473d0f/readme"
}