Skip to main content
Glama

Get processing time

get_processing_time
Read-only

Returns a published processing time for one form or visa route, category, and office. For US (the default), the USCIS processing-time estimate: the time within which 80% of cases were completed, in months, weeks, or days. Use it when the user asks for USCIS's published processing time for a form. It reports past completions, not how long a given case will take. Pass form, category, and office exactly as the USCIS processing times tool lists them. Every US estimate on file has both a category and an office, so omitting either returns not_found. For GB, UK Visas and Immigration's published processing time for a visa route, as the page words it. Pass the route as form, such as "Skilled Worker", and office "inside the UK" or "outside the UK". Pass the page's section heading as category when the route appears in more than one section. A time the page marks with "*" carries the page's footnote in category_notes. It does not say how long a given application will take. For AU, the "90% processed in" figure the Department of Home Affairs global visa processing times page publishes for a visa subclass and stream, as the page words it. The page bases it on recently decided applications. Pass the three-digit subclass as form, such as "500", and the stream as the page lists it as category; category is required when the subclass has more than one stream. Omit office. category_notes carries the page's caveat and any note the page gives for that subclass and stream. It does not say how long a given application will take. 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: for US, the USCIS processing times tool (egov.uscis.gov); for GB, the UK Visas and Immigration visa processing times pages on gov.uk for applications inside and outside the UK; for AU, the Department of Home Affairs global visa processing times page (immi.homeaffairs.gov.au). UK processing-time data contains public sector information licensed under the Open Government Licence v3.0. Australian processing-time data: Australian Government Department of Home Affairs, licensed under CC BY 3.0 AU (https://creativecommons.org/licenses/by/3.0/au/). ImmigrationLayer extracted and reformatted it.

Input Schema

NameRequiredDescriptionDefault
formYesFor US, the USCIS form number exactly as USCIS writes it, e.g. "I-765"; "i765" and "I765" do not match. For GB, the visa route exactly as the UKVI page lists it, e.g. "Skilled Worker". For AU, the three-digit visa subclass, such as "500".
officeNoFor US, the USCIS office exactly as the processing times tool lists it, e.g. "Service Center Operations (SCOPS)", "National Benefits Center", or a field office such as "Houston TX". For GB, "inside the UK" or "outside the UK". Required for GB. Omit for AU.
countryNoISO 3166-1 alpha-2 country code. "US" (default), "GB", or "AU".
categoryNoFor US, the eligibility category exactly as the USCIS processing times tool lists it, e.g. "Based on an approved asylum application [(a)(5)]" for I-765. For GB, the page's section heading, such as "Popular work visas"; required when the route appears in more than one section. For AU, the visa stream exactly as the page lists it, such as "Higher Education Sector"; required when the subclass has more than one stream.

Output Schema

NameRequiredDescriptionDefault
dataYes
as_ofYes
source_urlYes
content_hashYes
not_legal_adviceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"For US, the eligibility category exactly as the USCIS processing times tool lists it, e.g. \"Based on an approved asylum application [(a)(5)]\" for I-765. For GB, the page's section heading, such as \"Popular work visas\"; required when the route appears in more than one section."New value: +"For US, the eligibility category exactly as the USCIS processing times tool lists it, e.g. \"Based on an approved asylum application [(a)(5)]\" for I-765. For GB, the page's section heading, such as \"Popular work visas\"; required when the route appears in more than one section. For AU, the visa stream exactly as the page lists it, such as \"Higher Education Sector\"; required when the subclass has more than one stream."
    • changedInput schema / properties / country / description
      Previous value: -"ISO 3166-1 alpha-2 country code. \"US\" (default) or \"GB\"."New value: +"ISO 3166-1 alpha-2 country code. \"US\" (default), \"GB\", or \"AU\"."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "US",
      -  "GB"
      -]New value: +[
      +  "US",
      +  "GB",
      +  "AU"
      +]
    • changedInput schema / properties / form / description
      Previous value: -"For US, the USCIS form number exactly as USCIS writes it, e.g. \"I-765\"; \"i765\" and \"I765\" do not match. For GB, the visa route exactly as the UKVI page lists it, e.g. \"Skilled Worker\"."New value: +"For US, the USCIS form number exactly as USCIS writes it, e.g. \"I-765\"; \"i765\" and \"I765\" do not match. For GB, the visa route exactly as the UKVI page lists it, e.g. \"Skilled Worker\". For AU, the three-digit visa subclass, such as \"500\"."
    • changedInput schema / properties / office / description
      Previous value: -"For US, the USCIS office exactly as the processing times tool lists it, e.g. \"Service Center Operations (SCOPS)\", \"National Benefits Center\", or a field office such as \"Houston TX\". For GB, \"inside the UK\" or \"outside the UK\". Required for GB."New value: +"For US, the USCIS office exactly as the processing times tool lists it, e.g. \"Service Center Operations (SCOPS)\", \"National Benefits Center\", or a field office such as \"Houston TX\". For GB, \"inside the UK\" or \"outside the UK\". Required for GB. Omit for AU."
    • changedOutput schema / properties / data / properties / attribution / description
      Previous value: -"Licence attribution for the source data. Present for GB, absent for US."New value: +"Licence attribution for the source data. Present for GB and AU, absent for US."
  2. Changed9 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Eligibility category exactly as the USCIS processing times tool lists it, e.g. \"Based on an approved asylum application [(a)(5)]\" for I-765"New value: +"For US, the eligibility category exactly as the USCIS processing times tool lists it, e.g. \"Based on an approved asylum application [(a)(5)]\" for I-765. For GB, the page's section heading, such as \"Popular work visas\"; required when the route appears in more than one section."
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "ISO 3166-1 alpha-2 country code. \"US\" (default) or \"GB\".",
      +  "enum": [
      +    "US",
      +    "GB"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / form / description
      Previous value: -"USCIS form number exactly as USCIS writes it, uppercase with the hyphen, e.g. \"I-765\". \"i765\" and \"I765\" do not match"New value: +"For US, the USCIS form number exactly as USCIS writes it, e.g. \"I-765\"; \"i765\" and \"I765\" do not match. For GB, the visa route exactly as the UKVI page lists it, e.g. \"Skilled Worker\"."
    • changedInput schema / properties / office / description
      Previous value: -"USCIS office exactly as the processing times tool lists it, e.g. \"Service Center Operations (SCOPS)\", \"National Benefits Center\", or a field office such as \"Houston TX\""New value: +"For US, the USCIS office exactly as the processing times tool lists it, e.g. \"Service Center Operations (SCOPS)\", \"National Benefits Center\", or a field office such as \"Houston TX\". For GB, \"inside the UK\" or \"outside the UK\". Required for GB."
    • addedOutput schema / properties / data / properties / attribution
      Added value: +{
      +  "description": "Licence attribution for the source data. Present for GB, absent for US.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / data / properties / basis / description
      Previous value: -"What value measures, as USCIS states it"New value: +"What value measures, as the source states it"
    • changedOutput schema / properties / data / properties / category_notes / description
      Previous value: -"USCIS's own note on the category, or null"New value: +"The source's own note on the category, or null"
    • changedOutput schema / properties / data / properties / unit / description
      Previous value: -"Unit of value as USCIS states it, e.g. \"Months\", \"Weeks\", or \"Days\""New value: +"Unit of value as the source states it, e.g. \"Months\", \"weeks\", or \"Days\""
    • changedOutput schema / properties / data / properties / value / description
      Previous value: -"The estimate, in unit"New value: +"The published time, in unit"
  3. Changed10 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Eligibility category"New value: +"Eligibility category exactly as the USCIS processing times tool lists it, e.g. \"Based on an approved asylum application [(a)(5)]\" for I-765"
    • addedInput schema / properties / category / example
      Added value: +"Based on an approved asylum application [(a)(5)]"
    • 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"
    • changedInput schema / properties / office / description
      Previous value: -"USCIS field office or service center"New value: +"USCIS office exactly as the processing times tool lists it, e.g. \"Service Center Operations (SCOPS)\", \"National Benefits Center\", or a field office such as \"Houston TX\""
    • addedInput schema / properties / office / example
      Added value: +"Service Center Operations (SCOPS)"
    • addedOutput schema / properties / data / properties / basis / description
      Added value: +"What value measures, as USCIS states it"
    • changedOutput schema / properties / data / properties / basis / example
      Previous value: -"Months"New value: +"80% of cases completed within"
    • addedOutput schema / properties / data / properties / category_notes / description
      Added value: +"USCIS's own note on the category, or null"
    • addedOutput schema / properties / data / properties / unit / description
      Added value: +"Unit of value as USCIS states it, e.g. \"Months\", \"Weeks\", or \"Days\""
    • addedOutput schema / properties / data / properties / value / description
      Added value: +"The estimate, in unit"
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the readOnly/openWorld annotations: discloses auth requirements (sign-in plus active plan), the exact failure codes (not_found, subscription_required, rate_limited), a concrete rate limit (30 calls/min shared across all paid tools), and that omitting category or office for US yields not_found. It also names source provenance and licensing, which matters for how the numbers should be cited.

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

Conciseness3/5

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

Purpose is front-loaded and the country-by-country structure is scannable, but the text is long and repeats 'It does not say how long a given application will take' three times. The trailing licensing paragraphs are necessary for attribution yet consume a large share of an already bloated description.

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?

Output schema exists, so return values need not be explained. For a multi-country, multi-source lookup with auth gating and rate limits, the description covers everything an agent needs to call it correctly and interpret failures.

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

Parameters3/5

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

Schema description coverage is 100%, so the per-country meaning of form/office/category is already fully documented — most of the description's parameter text duplicates it. It does add two things the schema does not: the not_found consequence of omitting category or office for US, and the fact that footnote data surfaces as category_notes. Useful but marginal over an already-complete schema, so baseline 3.

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 ('Returns a published processing time for one form or visa route, category, and office') and immediately breaks it down per-country source (USCIS, UKVI, Home Affairs). It explicitly routes to a sibling ('For Visa Bulletin waits, use get_visa_bulletin'), so an agent can separate this from get_visa_bulletin and get_fee without opening a 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 an explicit trigger ('Use it when the user asks for USCIS's published processing time for a form'), an explicit exclusion ('It reports past completions, not how long a given case will take'), a named alternative for the adjacent need, and per-country conditions that determine what to pass. Nothing about when-to-call 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.

Resources