ImmigrationLayer
by immigrationlayer.com · remote · no sign-in to list tools · v0.0.0 · published by com.immigrationlayer
USCIS fees, processing times, form editions, alerts, and the Visa Bulletin. Not legal advice.
8 tools: 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads8Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http immigration https://immigrationlayer.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Only reads 8Claude Code: allow
check_form_editionReturns the edition of one USCIS form that USCIS accepts today, with its accept-from and reject-from dates.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the edition of one USCIS form that USCIS accepts today, with its accept-from and reject-from dates. Use it to confirm a filer has the right form version before filing. 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_feeReturns a published government fee and its effective date.No findings
Why it is in this group
- The name "get_fee" says "get": a word for reading.
Description, as the server wrote it Returns a published government fee and its effective date. For US (the default), the general filing fee for a USCIS form and filing method; category-specific US fees are unavailable, so omit category. US covers I-90, I-130, I-140, I-485, I-539, I-765, and N-400, paper and online; any other form returns not_found. For GB, the fee for a published Home Office fee category; pass the section heading as category when the name appears in more than one section. amount_cents is in the minor unit of currency. filing is "unspecified" when the source states no filing channel. It does not say which fee applies to a case. For a USCIS form's current edition, use check_form_edition. Requires sign-in at https://immigrationlayer.com/login and an active plan. Without a plan it returns subscription_required. Limit: 30 calls per minute per account, shared by all paid tools, then rate_limited. Not legal advice. Sources: for US, the USCIS fee schedule (Form G-1055) and the 2024 USCIS fee rule (89 FR 6194); for GB, the Home Office visa regulations revised table on gov.uk, used under the Open Government Licence v3.0.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_processing_timeReturns the USCIS processing-time estimate for one form, eligibility category, and office: the time within which 80% of cases were completed, in months, weeks, or days.No findings
Why it is in this group
- The name "get_processing_time" says "get": a word for reading.
Description, as the server wrote it Returns the USCIS processing-time estimate for one form, eligibility category, and office: the time within which 80% of cases were completed, in months, weeks, or days. Use it when the user asks how long USCIS takes to decide a form. Pass form, category, and office exactly as the USCIS processing times tool lists them. Every estimate on file has both a category and an office, so omitting either returns not_found. For Visa Bulletin waits, use get_visa_bulletin. Requires sign-in at https://immigrationlayer.com/login and an active plan. Without a plan it returns subscription_required. Limit: 30 calls per minute per account, shared by all paid tools, then rate_limited. Not legal advice. Source: the USCIS processing times tool (egov.uscis.gov).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_visa_bulletinReturns one family- or employment-based cutoff from a month's State Department Visa Bulletin: the Final Action Date or Date for Filing for a preference category and chargeability c…No findings
Why it is in this group
- The name "get_visa_bulletin" says "get": a word for reading.
Description, as the server wrote it Returns one family- or employment-based cutoff from a month's State Department Visa Bulletin: the Final Action Date or Date for Filing for a preference category and chargeability country. Use it when the user asks whether a priority date is current. date_or_status is a YYYY-MM-DD cutoff, "C" (current), or "U" (unavailable). For Diversity Visa lottery cutoffs, use get_visa_bulletin_dv. For the bulletin's advisory notes on future movement, use get_visa_bulletin_notes. A month or combination not on file returns not_found. Requires sign-in at https://immigrationlayer.com/login and an active plan. Without a plan it returns subscription_required. Limit: 30 calls per minute per account, shared by all paid tools, then rate_limited. Not legal advice. Source: the Department of State Visa Bulletin (travel.state.gov).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_visa_bulletin_dvReturns the Diversity Visa (DV lottery) rank cutoff for one region in a month's Visa Bulletin, or a country exception the bulletin lists within that region.No findings
Why it is in this group
- The name "get_visa_bulletin_dv" says "get": a word for reading.
Description, as the server wrote it Returns the Diversity Visa (DV lottery) rank cutoff for one region in a month's Visa Bulletin, or a country exception the bulletin lists within that region. Use it when a DV selectee asks whether their case number is current. For family and employment chart dates, use get_visa_bulletin. For the bulletin's advisory notes, use get_visa_bulletin_notes. A month or region not on file returns not_found. Free, no sign-in required. Limit: 20 calls per minute per IP, then rate_limited. Not legal advice. Source: the Department of State Visa Bulletin (travel.state.gov).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
get_visa_bulletin_notesReturns every lettered advisory note in a month's Visa Bulletin: the forward-looking text, e.g.No findings
Why it is in this group
- The name "get_visa_bulletin_notes" says "get": a word for reading.
Description, as the server wrote it Returns every lettered advisory note in a month's Visa Bulletin: the forward-looking text, e.g. "EB-1 India may become unavailable". Use it when the user asks whether dates are expected to advance, hold, or retrogress. For the chart dates themselves, use get_visa_bulletin or get_visa_bulletin_dv. An empty list means the month was loaded and had no notes; a month not on file returns not_found. Free, no sign-in required. Limit: 20 calls per minute per IP, then rate_limited. Not legal advice. Source: the Department of State Visa Bulletin (travel.state.gov).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
list_form_changesLists form edition changes and USCIS or Federal Register alerts published on or after a date, newest first.No findings
Why it is in this group
- The name "list_form_changes" says "list": a word for reading.
Description, as the server wrote it Lists form edition changes and USCIS or Federal Register alerts published on or after a date, newest first. Use it to catch up on what changed since a last check. For one form's current edition, use check_form_edition. To find alerts by keyword, use search_alerts. Returns at most 100 form edition changes and 100 alerts per page. Pass next_cursor as cursor, with the same since, to continue until next_cursor is null. Empty lists on the first page mean nothing changed. Free, no sign-in required. Limit: 20 calls per minute per IP, then rate_limited. Not legal advice. Sources: uscis.gov form pages or dated web.archive.org captures of them, USCIS newsroom alerts, and Federal Register notices. The top-level source URL identifies the exact aggregate query, including the page cursor. Each alert and form change keeps its own source URL and content hash.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
search_alertsSearches USCIS newsroom alerts and Federal Register notices by keyword, newest first.No findings
Why it is in this group
- The name "search_alerts" says "search": a word for reading.
Description, as the server wrote it Searches USCIS newsroom alerts and Federal Register notices by keyword, newest first. Use it to find announcements about a form or topic, e.g. "I-765" or "fee". To list everything published since a date without a keyword, use list_form_changes, which is free. Returns at most 100 matches per page. Pass next_cursor as cursor to continue until next_cursor is null. No match returns an empty list, not an error. Requires sign-in at https://immigrationlayer.com/login and an active plan. Without a plan it returns subscription_required. Limit: 30 calls per minute per account, shared by all paid tools, then rate_limited. Not legal advice. Sources: USCIS newsroom alerts and Federal Register notices. The top-level source URL identifies the exact aggregate query, including the page cursor; each result preserves its government URL, source, and content hash.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http immigration https://immigrationlayer.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__immigration__check_form_edition",
"mcp__immigration__list_form_changes",
"mcp__immigration__get_fee",
"mcp__immigration__get_processing_time",
"mcp__immigration__get_visa_bulletin",
"mcp__immigration__search_alerts",
"mcp__immigration__get_visa_bulletin_dv",
"mcp__immigration__get_visa_bulletin_notes"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as immigration. Review it before you use it.