Evictions API
REMOTE · EVICTIONSAPI.COM
Start and track a US eviction case in any state or DC; a licensed attorney reviews each real case.
Available components
Last scanned (12 hours ago)
Scores higher than 57% of remote servers
Reachable. Last reached 22 Oct 2026.
Category CRM and Sales
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security51
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (evictions_update_case). See how to fix → View diagnostics → Fail
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5329 tokens (~253/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
- Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Oct 26 +1
- Tool “evictions_create_case” rewrote its description, which is the text the model reads security
- Tool “evictions_list_cases” rewrote its description, which is the text the model reads security
- Server version: 1.1.0 → 1.2.0 functional
- New tool “evictions_list_landlords” functional
- “evictions_create_case” added an optional parameter “landlordId” cosmetic
- “evictions_list_cases” added an optional parameter “landlordId” cosmetic
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Oct 26 0
- “evictions_resolve_jurisdiction” reworded the description of “county” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 18 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “evictions_create_case” rewrote its description, which is the text the model reads security
- Schema quality: 216 → 246 ▼ functional
- Server version: 1.0.0 → 1.1.0 functional
- New tool “evictions_add_case_document” functional
- New tool “evictions_send_intake_file” functional
- 13 Oct 26 0
- “evictions_create_case” added an optional parameter “plaintiffContact” cosmetic
- “evictions_create_case” added an optional parameter “rentOwedCents” cosmetic
- “evictions_update_case” added an optional parameter “plaintiffContact” cosmetic
- “evictions_update_case” added an optional parameter “rentOwedCents” cosmetic
- “evictions_create_case” reworded the description of “attestations” cosmetic
- “evictions_update_case” reworded the description of “attestations” cosmetic
6 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 12 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 17. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Oct 2026 · Probed https://evictionsapi.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=evictionsapi.com | CN=WE1,O=Google Trust Services,C=US | 8 Oct 2026 | 6 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | dc0ff44afd20b1960ee82660eacf7cf3 |
| SANs: evictionsapi.com, *.evictionsapi.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of evictionsapi.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| evictionsapi.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval' https://apis.google.com https://accounts.google.com https://maps.googleapis.com; style-src 'self' 'unsafe-inline' https://accounts.google.com/gsi/style; img-src 'self' data: https://maps.gstatic.com https://maps.googleapis.com; font-src 'self'; worker-src 'self'; frame-src 'self' https://docs.google.com https://accounts.google.com; connect-src 'self' https://api.evictionsapi.com https://www.googleapis.com https://accounts.google.com/gsi/ https://maps.googleapis.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=() |
| www-authenticate | Bearer resource_metadata="https://evictionsapi.com/.well-known/oauth-protected-resource/mcp", scope="api" |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://evictionsapi.com/mcp | Verified | 200 | |
| http (plaintext) | http://evictionsapi.com/mcp | Served over HTTP | 200 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
evictions_add_case_document Add a document to a case ~471
Use this when the person asks you to add a document to a draft case: the lease, the tenant ledger, emails or messages with the tenant, proof that they own or manage the property, or a notice already served and its proof of service. Input: the case `id`, `filename`, `purpose` and `contentBase64` (a PDF, JPEG or PNG of about 700 KB at most through this server; a file up to 4 MB goes through `POST /v1/cases/{id}/documents` with the person’s key). Adds the document to the case; each call adds one more, but a repeat with the same `idempotencyKey` is safe (it returns the first answer). Works on a draft; after a live case is submitted, only a document with the purpose `other` can be added. Returns the document as stored. Do not use this when no case exists yet (use evictions_send_intake_file) or to change the case’s facts (use evictions_update_case). Next: evictions_validate_case. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| contentBase64 | string | yes | The file itself, base64-encoded: a PDF, JPEG or PNG of about 700 KB at most (950,000 base64 characters). A larger file, up to 4 MB, goes through the API directly. |
| filename | string | yes | The file’s name, such as lease.pdf. Its type is read from the file itself, not from the name. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
| idempotencyKey | string | – | Sent as the Idempotency-Key header (printable ASCII, no spaces): a repeat of the same request with the same key returns the first answer instead of the document added twice. Always pass one, and reus… |
| purpose | string | yes | What the document is: the lease, the tenant ledger, correspondence (emails or messages with the tenant), authority (proof the person owns or manages the property), prior_notice (a notice already serv… |
No output schema declared.
No examples provided.
evictions_create_case Create a draft case ~682
Use this when the person wants to start an eviction case and has given you its facts: the ground, where the case starts, the property, the parties and their own attestations. Creates a draft case in the person’s account. Nothing is submitted. Add its documents with evictions_add_case_document. Pass an `idempotencyKey` and reuse it if you repeat the call, so a retry never makes a second case. For a property manager, `landlordId` (from evictions_list_landlords) names the owner the case is for and adds its saved management agreement to the case. Do not use this to change a case that already exists (use evictions_update_case). The result is the case, with `state` and `nextAction` (who it is waiting on and for what). Next: evictions_validate_case. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| amountOwedCents | integer | – | The total the tenant owes now, in US cents (150000 is $1,500.00). |
| attestations | object | yes | The person’s own statements about the case. Ask the person for each one; never fill them in yourself. On an update, send all of them again: this object replaces the one stored. |
| entryPoint | string | yes | Where the case starts: `notice` (a notice to the tenant comes first), or `filing` when a notice was already served (then give `priorNotice`). Cannot be changed later. |
| freeText | string | – | Anything else the attorney should know. |
| ground | string | yes | Why the case is brought: nonpayment of rent, a lease violation, or holdover (the tenant stayed after the lease ended). Cannot be changed later. |
| idempotencyKey | string | – | Sent as the Idempotency-Key header (printable ASCII, no spaces): a repeat of the same request with the same key returns the first answer instead of a second case. Always pass one, and reuse it if you… |
| landlordId | string | – | For a property manager: the id (lnd_...) of the landlord, the owner the case is for, from evictions_list_landlords. Its saved management agreement is added to the case as proof of authority. An archi… |
| lease | object | – | The lease, when there is one. |
| ledger | array | – | Rent charges and payments, for a nonpayment case. |
| parties | array | yes | The plaintiff (the owner or manager) and each defendant (tenant). |
| plaintiffContact | object | – | How the court reaches the plaintiff (owner or manager): a Texas petition states the address and telephone. |
| priorNotice | object | – | The notice already served, for a case that starts at filing. |
| property | object | yes | The rental property and its owner of record. |
| rentOwedCents | integer | – | The unpaid rent alone, without late fees or other charges; 0 when no rent is owed. A court filing states it as the rent due, and rent claimed is never more, in US cents (150000 is $1,500.00). |
| violation | object | – | For a lease violation case. |
No output schema declared.
No examples provided.
evictions_get_case Get a case ~153
Use this when you need one case in full: where it stands and what it is waiting on. Input: the case `id`. Returns its facts, deadlines, documents and, for a live case, the attorney once recorded. Do not use this to find a case whose id you do not have (use evictions_list_cases) or for its history (use evictions_get_case_events). The result is the case, with `state` and `nextAction` (who it is waiting on and for what). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_get_case_events Case events ~125
Use this when the person asks what has happened on a case so far. Input: the case `id`. Returns the events the person may see, oldest first, each with what happened, the state before and after, and when. Do not use this for where the case stands now (use evictions_get_case) or for messages (use evictions_list_case_messages). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_get_payment_link Payment link ~192
Use this when the person wants to pay a due charge on a case. Input: the case `id` and the `chargeId` from evictions_list_case_charges. Opens a hosted checkout for one due charge and returns its URL; asked again while that checkout is open, it returns the same URL. Give the URL to the person: paying is theirs to do, and no tool takes card details. Refused when the charge is not due or online payment is off. Do not use this to see whether a charge is paid (use evictions_list_case_charges). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| chargeId | string | yes | The id of a due charge on that case, from evictions_list_case_charges. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_get_pricing Pricing ~84
Use this when the person asks what a case costs or about refunds. Takes no input. Returns the platform fee, the costs that are separate from it and the refund rule, word for word as the pricing page says them, with its link. Do not use this for the charges already on a case (use evictions_list_case_charges). No key needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
evictions_get_service_overview Service overview ~112
Use this when the person asks what Evictions API is, what is available today, how a real case is handled or who operates it. Takes no input. Returns the service’s description, its current status and who operates it, in the site’s own words, with links to the home and how-it-works pages. Do not use this for fees (use evictions_get_pricing) or for one state’s rules (use evictions_get_state_eviction_facts). No key needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
evictions_get_started Get started ~103
Use this when the person has no account or key yet, or asks how to connect an agent. Takes no input. Returns the sign-up link, what test and live keys are, how this MCP server is reached and signed in to, and the links to the docs and the OpenAPI document. Do not use this to check a key the person already has: any tool that works with cases says so when its key is missing or refused. No key needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
evictions_get_state_eviction_facts State eviction facts ~209
Use this when the person asks how eviction works in one state, such as the notice for nonpayment of rent or the court. Input: `state`, as a two-letter code, a name or a slug. Returns the page’s opening answer and only the facts published as verified and sourced for that state, each with its citation, source link, the date it was checked and a short quote of the cited text where there is one (a fact checked more than 90 days ago is left out), plus the state’s page and a notice that this is general information, not legal advice; a state with none says so. Do not use this for whether a case can be opened at an address (use evictions_resolve_jurisdiction) or for advice on a particular case. No key needed.
| Name | Type | Req | Description |
|---|---|---|---|
| state | string | yes | A two-letter code (TX), a state name (Texas) or its slug (texas). DC is the District of Columbia. |
No output schema declared.
No examples provided.
evictions_list_case_charges Case charges ~143
Use this when the person asks what they owe on a case or whether a charge is paid. Input: the case `id`. Returns the charges on a case, oldest first, each with its id, kind, amount in cents and status (due, paid, void or refunded), and whether online payment is available. Do not use this for the published prices (use evictions_get_pricing). Next: evictions_get_payment_link for a due charge. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_list_case_messages Case messages ~136
Use this when the person asks whether the Evictions API team has written about a case, or before writing to it. Input: the case `id`. Returns the messages on a case, the person’s own and the team’s, oldest first, each with its author, text and time. Do not use this for the case’s events (use evictions_get_case_events). Next: evictions_send_case_message to reply. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_list_cases List cases ~230
Use this when you need the person’s cases, or the id of a case you do not have. Input: optional `limit` and `cursor`, and `landlordId` for only one landlord’s cases (`none` for the cases with no landlord). Returns the cases of the key’s organization and mode (test or live), newest first, a page at a time, each with its `state` and `nextAction`, and `nextCursor` for the next page (null on the last). Do not use this when you already have the case id (use evictions_get_case). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | `nextCursor` from the page before, for the next page. Leave it out for the first page. |
| landlordId | string | – | Only the cases of this landlord (lnd_..., from evictions_list_landlords), or `none` for the cases with no landlord. |
| limit | integer | – | How many to return, at most 100. The default is 20. |
No output schema declared.
No examples provided.
evictions_list_landlords List landlords ~214
Use this when the person is a property manager and you need the owner a case is for, or to list one owner’s cases. Input: optional `includeArchived`. Returns the organization’s landlords (the owners it acts for, saved in the app), by name, each with its `id`, `name`, whether it is `archived` and how many cases in this mode name it; their contact details stay in the app. Live keys only: with a test key the list is always empty, since landlords are real owners, and a test case cannot take one. Do not use this to add or change a landlord (the person does that on the Landlords page of the app). Next: evictions_create_case with `landlordId`, or evictions_list_cases with `landlordId`. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| includeArchived | boolean | – | True to list archived landlords too. They keep their cases but cannot be chosen for a new one. |
No output schema declared.
No examples provided.
evictions_list_states List states ~84
Use this when you need every place the service covers, or the exact code or slug of a state. Takes no input. Returns the 50 states and DC, each with its two-letter code, name, slug and page on the site. Do not use this for one state’s eviction rules (use evictions_get_state_eviction_facts). No key needed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
evictions_resolve_jurisdiction Resolve a jurisdiction ~236
Use this when you need to know, before creating a case, whether a case can be opened for a property’s location and which facts each ground of eviction needs there. Input: `state`, and `county` and `city` when known. Returns whether the jurisdiction is served and, for each ground, the facts a case needs, and with a test key also the notice rules of the fictional state ZZ. Do not use this for a state’s published facts with their sources (use evictions_get_state_eviction_facts, which needs no key). Next: evictions_create_case. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | City of the property, when known. |
| county | string | – | County of the property, when known, as the US Census Bureau names it ("Henry County" or "Henry"). The answer names the court the place's rules say the case goes to (`court`). |
| state | string | yes | Two-letter state code, for example TX; DC for the District of Columbia. Test keys use the fictional state ZZ. |
No output schema declared.
No examples provided.
evictions_send_case_message Send a case message ~186
Use this when the person asks you to write to the Evictions API team about one of their live cases. Input: the case `id` and `body`. Sends the team a message about a live case, in the person’s name, and the team is told by email. Send only what the person asked to say. Each call sends one more message; a test case is refused, and an organization can send at most 20 every 10 minutes. Returns the message as stored. Do not use this to change a draft (use evictions_update_case). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | The message, in the person’s words: only what they asked to say. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_send_intake_file Send a file to the inbox ~473
Use this when the person asks you to send a file (their lease, the tenant ledger, emails or messages with the tenant) to Evictions API before a case exists. Input: `filename`, `contentBase64` (a PDF, JPEG or PNG of about 700 KB at most through this server; a file up to 4 MB goes through `POST /v1/intake/files` with the person’s key) and optionally `purpose` and a short `note`. The file waits in the person’s inbox, where they start a case from it. Needs a live key: with a test key, create a test case and use evictions_add_case_document. Returns the file’s id, its type, the purpose guessed for it and when it leaves the inbox if no case is started from it. Each call sends one more file, but a repeat with the same `idempotencyKey` is safe (it returns the first answer). Do not use this when the case already exists (use evictions_add_case_document), and do not create the case yourself: the person starts it from the inbox. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| contentBase64 | string | yes | The file itself, base64-encoded: a PDF, JPEG or PNG of about 700 KB at most (950,000 base64 characters). A larger file, up to 4 MB, goes through the API directly. |
| filename | string | yes | The file’s name, such as lease.pdf. Its type is read from the file itself, not from the name. |
| idempotencyKey | string | – | Sent as the Idempotency-Key header (printable ASCII, no spaces): a repeat of the same request with the same key returns the first answer instead of the file sent twice. Always pass one, and reuse it… |
| note | string | – | A short note the person sees with the file, such as which property or tenant it is about. |
| purpose | string | – | What the file is, if you know: the lease, the tenant ledger, correspondence (emails or messages with the tenant), or other. Left out, it is guessed from the file’s name, and the person can change it. |
No output schema declared.
No examples provided.
evictions_submit_case Submit a case ~247
Use this when the person has said yes to submitting a draft that passes every check. Input: the case `id` and `confirmedByPerson`. A live case moves to `submitted`, its platform fee becomes a due charge, and a licensed attorney in the property’s state is engaged for it; nothing is served or filed until that attorney has reviewed it. With a test key the case is fictional and goes through a simulated review instead. With a live key this acts on a real case. Confirm with the person first, then pass `confirmedByPerson: true`. The case’s attestations must be the person’s own statements; never fill them in yourself. Do not use this to check a draft (use evictions_validate_case). Returns the case and its check results. Next: evictions_list_case_charges for the fee. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmedByPerson | boolean | yes | Set to true only after the person has said yes to this exact action on this case, in this conversation. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_update_case Change a draft case ~546
Use this when a draft’s facts need correcting or completing, for example after evictions_validate_case says what is missing. Input: the case `id` and only the fields to change; each one replaces the stored value, and an object such as `property` is replaced whole. Works only on a draft, and `ground` and `entryPoint` cannot change (create a new case instead). Do not use this on a submitted case (use evictions_send_case_message to tell the team what changed). The result is the case, with `state` and `nextAction` (who it is waiting on and for what). Next: evictions_validate_case. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| amountOwedCents | integer | – | The total the tenant owes now, in US cents (150000 is $1,500.00). |
| attestations | object | – | The person’s own statements about the case. Ask the person for each one; never fill them in yourself. On an update, send all of them again: this object replaces the one stored. |
| entryPoint | string | – | Where the case starts: `notice` (a notice to the tenant comes first), or `filing` when a notice was already served (then give `priorNotice`). Cannot be changed later. |
| freeText | string | – | Anything else the attorney should know. |
| ground | string | – | Why the case is brought: nonpayment of rent, a lease violation, or holdover (the tenant stayed after the lease ended). Cannot be changed later. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
| lease | object | – | The lease, when there is one. |
| ledger | array | – | Rent charges and payments, for a nonpayment case. |
| parties | array | – | The plaintiff (the owner or manager) and each defendant (tenant). |
| plaintiffContact | object | – | How the court reaches the plaintiff (owner or manager): a Texas petition states the address and telephone. |
| priorNotice | object | – | The notice already served, for a case that starts at filing. |
| property | object | – | The rental property and its owner of record. |
| rentOwedCents | integer | – | The unpaid rent alone, without late fees or other charges; 0 when no rent is owed. A court filing states it as the rent due, and rent claimed is never more, in US cents (150000 is $1,500.00). |
| violation | object | – | For a lease violation case. |
No output schema declared.
No examples provided.
evictions_validate_case Check a draft case ~140
Use this when a draft looks complete, before asking the person to confirm its submission. Input: the case `id`. Runs the submission checks on a draft and returns each check’s result, with the reason when it does not pass, and whether all passed. Changes nothing. Do not use this to submit (use evictions_submit_case). Next: evictions_update_case to fill a gap, or the person’s yes and then evictions_submit_case. Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
evictions_withdraw_case Withdraw a case ~209
Use this when the person has decided to withdraw a case and stop it. Input: the case `id` and `confirmedByPerson`. A live case with an attorney already engaged goes on hold instead and is withdrawn once the attorney has confirmed that all work has stopped. With a live key this acts on a real case. Confirm with the person first, then pass `confirmedByPerson: true`. Do not use this to report that the tenant has paid or to ask a question (use evictions_send_case_message). The result is the case, with `state` and `nextAction` (who it is waiting on and for what). Needs the person’s account: sign-in or an API key.
| Name | Type | Req | Description |
|---|---|---|---|
| confirmedByPerson | boolean | yes | Set to true only after the person has said yes to this exact action on this case, in this conversation. |
| id | string | yes | The case id (case_...), as returned by evictions_create_case or evictions_list_cases. |
No output schema declared.
No examples provided.
How do I install the Evictions API MCP server?
Evictions API is a hosted endpoint at https://evictionsapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · evictionsapi.com
claude mcp add --transport http evictionsapi-evictions-api 'https://evictionsapi.com/mcp'
What is the Evictions API MCP server?
Evictions API is an MCP server listed in the public MCP registry as io.github.evictionsapi/evictions-api. Start and track a US eviction case in any state or DC; a licensed attorney reviews each real case. This page covers its hosted endpoint (https://evictionsapi.com/mcp).
Is the Evictions API MCP server safe to use?
Evictions API scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Evictions API MCP server expose?
Evictions API exposes 21 tools: evictions_get_service_overview, evictions_get_pricing, evictions_list_states, evictions_get_state_eviction_facts, evictions_get_started, and 16 more. Their descriptions and schemas cost roughly 4,975 tokens of context every time the server is loaded.
Does the Evictions API MCP server require authentication?
No. We connected to Evictions API without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Evictions API MCP server still maintained?
Evictions API is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.