Skip to main content
Glama

Check form edition

check_form_edition
Read-only

Returns the edition of one USCIS form that USCIS accepts today, with its accept-from and reject-from dates. Use it to check which edition of a form USCIS accepts, with the date of that answer. If USCIS has announced a newer edition it does not accept yet, announced_edition gives that edition and its accept-from date. For edition changes across all forms since a date, use list_form_changes. Covers I-90, I-129, I-130, I-131, I-140, I-485, I-539, I-765, and N-400; any other form returns not_found. Free, no sign-in required. Limit: 20 calls per minute per IP, then rate_limited. Not legal advice. Source: the form's page on uscis.gov, or a dated web.archive.org capture of that page.

Input Schema

NameRequiredDescriptionDefault
formYesUSCIS form number exactly as USCIS writes it, uppercase with the hyphen, e.g. "I-765". "i765" and "I765" do not match

Output Schema

NameRequiredDescriptionDefault
dataYes
as_ofYes
source_urlYes
content_hashYes
not_legal_adviceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / form / description
      Previous value: -"USCIS form number, e.g. \"I-765\""New value: +"USCIS form number exactly as USCIS writes it, uppercase with the hyphen, e.g. \"I-765\". \"i765\" and \"I765\" do not match"
    • addedOutput schema / properties / data / properties / accept_from / description
      Added value: +"First date USCIS accepts this edition, YYYY-MM-DD"
    • addedOutput schema / properties / data / properties / announced_edition / description
      Added value: +"The next edition USCIS has announced but does not accept yet; absent when none"
    • addedOutput schema / properties / data / properties / edition_date / description
      Added value: +"Edition date printed on the form, MM/DD/YY"
    • addedOutput schema / properties / data / properties / reject_from / description
      Added value: +"Date USCIS stops accepting this edition, YYYY-MM-DD; null when none is announced"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already establish a safe read-only, closed-world operation, and the description adds substantial context beyond them: no sign-in, a 20-calls-per-minute-per-IP limit with a rate_limited response, the not_found path for unsupported forms, the announced_edition field for a future edition not yet accepted, and source attribution to uscis.gov or a dated web.archive.org capture. That is exactly the behavioral texture annotations cannot convey.

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 return value, then usage, sibling routing, coverage, access terms, limits, and provenance. Every sentence carries operational information, though the tail end ("Not legal advice" plus source attribution) adds length after the key facts are already delivered.

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?

An output schema exists, so return-value structure needn't be explained, and the description covers the remaining risks: valid versus invalid inputs, the announced_edition edge case, rate limiting, and source provenance. Nothing an agent needs in order to call this correctly is missing.

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% and the schema already specifies the exact uppercase hyphenated format with a counterexample. The description still adds value by enumerating which form identifiers are actually valid, converting the string parameter into an implicit enum and telling the agent what happens outside it.

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 up front: returns the currently accepted edition of one USCIS form plus its accept-from and reject-from dates. It also distinguishes the sibling list_form_changes by scope (single form vs. all forms since a date), so an agent can route correctly without opening either 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?

Explicitly says when to use it ("check which edition of a form USCIS accepts, with the date of that answer") and names the alternative with its triggering condition ("For edition changes across all forms since a date, use list_form_changes"). It further bounds applicability by listing the nine supported forms and stating any other form returns not_found.

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.

Resources