govdir

GovDir MCP server

AI assistants such as Claude and ChatGPT can look things up in the GovDir directory through its MCP server: which government covers a place, which office handles each job, and official links with their last check date. Free, read only, no sign-in.

Building an app or a website? Use the GovDir API instead.

Server address

https://api.govdir.com/mcp

Model Context Protocol over Streamable HTTP with JSON responses, protocol revision 2026-07-28 and the earlier 2025-11-25, 2025-06-18 and 2025-03-26. The server never calls a language model itself: every answer comes from the same directory as the API. Its MCP Registry name is com.govdir/directory.

Connect your client

Claude Code

claude mcp add --transport http govdir https://api.govdir.com/mcp

Claude desktop app and claude.ai

In Settings, open Connectors and choose Add custom connector. Name it GovDir, paste the server address and leave the advanced settings empty. Then turn it on in a conversation from the tools menu.

ChatGPT

In Settings, under Apps and Connectors, turn on developer mode in the advanced settings. Then create a connector with the server address and no authentication.

VS Code

Run MCP: Add Server from the command palette and choose HTTP, or add this to .vscode/mcp.json in your project:

{"servers":{"govdir":{"type":"http","url":"https://api.govdir.com/mcp"}}}

Cursor

Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project:

{"mcpServers":{"govdir":{"url":"https://api.govdir.com/mcp"}}}

Other clients

Any MCP client that supports remote Streamable HTTP servers works with the address above. To list the tools from a terminal:

curl -X POST 'https://api.govdir.com/mcp' -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Keys

No key, account or sign-in is needed. The server ignores any Authorization header a client sends.

Tools

All eight tools are read only. Every link comes from the directory with verified_status and verified_at, and the office named has the final say.

ToolWhat it answers
resolve_jurisdictionWhich state, county, town and city cover an address, point or place, and which body assesses, collects tax, records deeds, zones, issues permits and runs the GIS
find_official_resourceThe best official pages for a need at a place, such as the parcel map or the tax bill page, best first
get_place_directoryEverything listed for one place: the responsible body per job, its offices with contacts and its official pages by topic
search_directoryPlaces and official pages by name, such as "Hennepin County recorder"; never people
get_guideA plain-language guide to a topic and the state's own rules for which office does each job
screen_locationFlood zone, wetlands, soils, elevation, radon and, in Minnesota, shoreland at a point, with the office that decides; screening only
get_property_factsParcel facts for one property from PublicGIS: parcel number, acreage, value, last sale, land use and overlays; never owner names. The API has no equivalent.
county_parcel_dataCounty-wide parcel answers from PublicGIS, such as the biggest or most valuable parcels; never owner names

The resource template gisfinder://place/{jurisdiction_id} returns the same answer as get_place_directory.

Limits

What countsPer minutePer day
Requests of any kind, per network address (an IPv6 /64 counts as one)120
Tool calls and resource reads, per network address301,000
Tool calls and resource reads, all users together1201,000

Responses carry the RateLimit-Policy and RateLimit headers. Over a limit the server answers 429 with Retry-After in seconds and JSON-RPC error -32000. Place directories and resource lists also count toward the API's shared limit on list requests for callers without a key.

Terms

The same rules as for the API apply: see Using the data and Terms.