About GovWait
GovWait is an MCP server that gives AI agents access to officially published government processing-time data. Its tools support searching, retrieving, and comparing values, with source status and provenance included in every response.
Key features
- 01Search processing-time entities
- 02Retrieve entity details and latest values
- 03Compare values across entities
- 04Include source status and provenance
Use cases
- 01Check visa processing times by country
- 02Compare agency figures with dated sources
- 03Review retained values when a source is unavailable
MCP support
The server exposes `search_entities`, `get_entity`, `get_latest_value`, and `compare_values` to MCP clients over stdio. Responses include source URLs, dates, verification time, units, collection status, and attribution information.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
4Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | |
| query | string | Yes | Free-text query; terms are matched against jurisdiction, service name and applicant country |
| jurisdiction | string | No | Optional ISO country filter for the government, e.g. CA, GB, NZ or NO |
Details
From the project READMEGovWait MCP Server
Exposes the GovWait dataset (officially published government processing times, with provenance and history) to AI agents over the Model Context Protocol (stdio).
Tools: search_entities, get_entity, get_latest_value, compare_values.
Every response carries source_url, the agency's own update date when supplied
(otherwise GovWait's first-observed date), our verification timestamp, source
collection status, the source unit, and the attribution requirement. When a source
is unavailable, current_value and value_days are null; its retained value is
returned only as last_verified_value with value_context set to
last_verified_source_snapshot.
Install from npm
Run the current public package directly:
npx -y govwait-mcp
For Claude Code, register that same public package with:
claude mcp add --scope user govwait-mcp -- npx -y govwait-mcp
Build and verify the source locally
cd machine/mcp-server
npm ci
npm run verify
To retain a normal data-bearing release candidate and its SHA-256 sidecar in the
git-ignored release/ directory, run npm run prepare:rc. For a
documentation-only candidate that must preserve the existing bundled data
byte-for-byte, run npm run prepare:docs-rc instead.
npm run build copies the three validated pipeline exports into this package's
own data/ directory, writes deterministic SHA-256 provenance metadata, and
compiles dist/index.js. The server defaults to those package-owned files, so it
does not depend on the parent repository at runtime. Advanced local users can
still override the location with GOVWAIT_DATA_DIR=/path/to/exports; that
directory must contain the three exports. A matching provenance.json is used
when present; the package-owned default always requires it.
npm run audit:package creates a tarball in a temporary directory, enforces the
exact nine-file package allow-list, rejects secret/database/cache/log/source/test
artifacts, verifies every bundled data hash, unpacks the tarball into a clean
temporary project with the already-locked npm ci dependency tree, and runs the
complete MCP smoke test against that isolated copy. The temporary package is
deleted afterward; no registry access is needed.
The verified public baseline is
[email protected], and its
mcpName exactly matches io.github.artwisdom/govwait in the official MCP
Registry metadata. It was published to npm and accepted as active in the official
MCP Registry. Version 0.1.1 uses a SEE LICENSE IN LICENSE field that
points to Apache 2.0 terms limited to GovWait-owned software code.
DATA-NOTICE.md and the licence scope expressly exclude the bundled
government-source data. A clean public-registry installation passed the full MCP
smoke suite. npm publishing requires interactive 2FA and disallows
automation/bypass tokens. Official mcp-publisher 1.8.1 validates server.json,
and the
official Registry listing for 0.1.1
records that release; use npm's latest tag and the Registry's latest endpoint
for the current public version rather than treating a local build as proof.
Version 0.1.2 changes package documentation and release metadata only. It
preserves the exact bundled dataset and four MCP tool behaviors verified for
0.1.1, while adding the public install command above and removing stale
pre-publication wording. Building or verifying the package remains a local
action and does not publish another npm or Registry version.
Register a local checkout with Claude Code
claude mcp add govwait -- node /ABSOLUTE/PATH/TO/govwait/machine/mcp-server/dist/index.js
Register a local checkout with Claude Desktop
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"govwait": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/govwait/machine/mcp-server/dist/index.js"]
}
}
}
Try it
Ask the connected agent: "How long is a Canada visitor visa taking from India right
now, and how does that compare to Nigeria and the Philippines?" — it should call
compare_values and answer with dated, sourced figures.
For New Zealand, try "What are the current Visitor Visa processing times?" The
nz-visitor-visa service returns both INZ's 50% and 80% working-day metrics.
For Norway, try "What was UDI's last verified visitor-visa waiting time, and is
the source still available to GovWait?" The server returns the dated,
table-backed snapshot, its official source page, and the source_unavailable
state without presenting that snapshot as current.
Data provenance and reuse
Every response retains the official source URL, source date, verification time,
unit, and GovWait attribution notice. data/provenance.json records the exact
dataset generation time, row counts, byte sizes, and SHA-256 hashes. Underlying
government information is not relicensed by GovWait; follow the source-specific
terms at https://govwait.com/data-license/ and the packaged
DATA-NOTICE.md.
Distribution
The local
server.json
is valid MCP Registry metadata for the public npm package. Registry and other
directory submissions remain separate owner actions in the
distribution checklist.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.