Context7 for US immigration data
Context7 fixed stale library docs for coding agents. This does the same for USCIS form editions, fees, processing times, and the Visa Bulletin. One URL, six tools, every answer cited.
Model knowledge cutoff versus last USCIS change
Vendor cutoffs below are fetched from each vendor's published model page at build time and cited with the fetch date. A vendor is omitted here if its page couldn't be fetched or didn't state a cutoff we could parse confidently — never guessed.
| What changed | Last changed | Model | Cutoff |
|---|---|---|---|
| USCIS fee schedule | 2026-09-09 | Claude (Anthropic) | 2026-06-01 (fetched 2026-09-17) |
| USCIS fee schedule | 2026-09-09 | ChatGPT (OpenAI) | 2026-04-30 (fetched 2026-09-17) |
| Form I-765 and I-539 editions (no grace period) | 2026-09-15 | Claude (Anthropic) | 2026-06-01 (fetched 2026-09-17) |
| Form I-765 and I-539 editions (no grace period) | 2026-09-15 | ChatGPT (OpenAI) | 2026-04-30 (fetched 2026-09-17) |
Not legal advice. Verify against the cited source before filing.
Why web search does not fix it
- Search returns a page. The model still has to read a dropdown, a PDF, or a table, and may misread it. We return the field.
- Search results vary per run. We return the same row until the source changes, and we log the change.
- Search gives no as_of and no hash. We give both, so the filer can check the source we cite.
- Search does not know what changed since last week. Our changelog does.
Quick start
Adds the server as a remote MCP connector over Streamable HTTP.
claude mcp add --transport http immigration-layer https://mcp.immigrationlayer.com/mcpAdd to .cursor/mcp.json. Cursor can't sign in through the connector flow yet, so gated tools need an API key here rather than OAuth.
{
"mcpServers": {
"immigration-layer": {
"url": "https://mcp.immigrationlayer.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}The MCP endpoint speaks JSON-RPC over HTTP, not a plain REST GET - there is no REST API yet (tracked in #50). This calls check_form_edition, which needs no Authorization header. Gated tools need "Authorization: Bearer $API_KEY", an API key from your account page.
curl https://mcp.immigrationlayer.com/mcp \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "check_form_edition", "arguments": { "form": "I-765" } }
}'Every field above traces to a specific source_url andcontent_hash - never a model's memory of uscis.gov. The full argument tables, response shapes, auth, and rate limits live in thedocs.