Skip to main content
Glama

Send a file to the inbox

evictions_send_intake_file

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.

Input Schema

NameRequiredDescriptionDefault
noteNoA short note the person sees with the file, such as which property or tenant it is about.
purposeNoWhat 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.
filenameYesThe file’s name, such as lease.pdf. Its type is read from the file itself, not from the name.
contentBase64YesThe 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.
idempotencyKeyNoSent 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 if you repeat the call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses the inbox lifecycle (file waits, person starts a case from it, expiration if none), the live-key requirement with a concrete fallback for test keys, the account/auth prerequisite, the 700 KB vs 4 MB transport limit, and the return payload. The note that each call sends one more file while a repeated idempotencyKey returns the first answer is consistent with idempotentHint=false (non-idempotent by default, opt-in safety via key), so this is additive context rather than a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the usage condition before mechanics, and every sentence carries information (alternatives, limits, auth, returns). It is dense and runs long, reading as a single block rather than clearly separated usage/behavior/return sections.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description names the return fields (id, type, guessed purpose, inbox expiry), and it covers auth, key type, size limits, and the sibling alternative. An agent has everything needed to call this correctly on the first try.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds routing-relevant meaning: it names filename/contentBase64/purpose/note as the inputs, explains the size ceiling that forces the direct API path, and clarifies that purpose is optional and guessed. It repeats some schema text (enum values, max size), which caps this below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('send a file to Evictions API before a case exists') and immediately scopes it against the sibling that does the same thing for existing cases. An agent can distinguish it from evictions_add_case_document and evictions_create_case without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('when the person asks you to send a file ... before a case exists'), explicit when-not-to-use ('Do not use this when the case already exists (use evictions_add_case_document)'), and a third routing rule for test keys ('create a test case and use evictions_add_case_document'). It also warns not to create the case itself. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.