Skip to main content

GSA Per Diem

com.1102tools/gsa-perdiem-mcpVersion 1.2.8

GSA Per Diem access readiness, lodging, and meals and incidental expense rates. 7 tools.

Status

Responds235 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:44 UTC
Latency
235 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://gsa-perdiem.1102tools.com/mcpResponds235 ms
No sign-in

Claude Code

claude mcp add --transport http gsa-perdiem-mcp https://gsa-perdiem.1102tools.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: gsa-perdiem-mcp
Remote MCP server URL: https://gsa-perdiem.1102tools.com/mcp

Cursor

{
  "mcpServers": {
    "gsa-perdiem-mcp": {
      "url": "https://gsa-perdiem.1102tools.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"gsa-perdiem-mcp","type":"http","url":"https://gsa-perdiem.1102tools.com/mcp"}'
Streamable HTTP
pypi: gsa-perdiem-mcp 1.2.8
Package only

PyPI (uvx)

claude mcp add gsa-perdiem-mcp -- uvx gsa-perdiem-mcp==1.2.8

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

7 tools

Tools of GSA Per Diem
Read-only
Idempotent
Open world
compare_locationsCompare per diem rates across multiple locations. locations: list of {"city": "...", "state": "XX"} dicts (optionally with "county"), max 25 entries. Returns rates sorted by max daily total (highest first). Ambiguous or unresolved cities are listed with their status and candidate rate areas instead of a rate. Useful for travel IGCE development when comparing destination costs. NoYesNot declaredYes
estimate_travel_costEstimate total per diem cost for a trip. Calculates lodging + M&IE for the specified number of nights. First and last travel days use 75% M&IE per 41 CFR 301-11.20. travel_month: 3-letter abbreviation (Jan, Feb, ..., Dec). Every night is priced at that month's rate; for a trip that crosses into another month or fiscal year, add only each month's lodging_total at the applicable fiscal year rate. Calculate M&IE once across the actual trip days, using 75% only on the actual departure and return days. Do not add separate monthly mie_total or grand_total values: each estimate assumes a new trip. If omitted, uses the max monthly lodging rate (conservative estimate for IGCE). fiscal_year: if omitted, the FY of the next occurrence of travel_month (or the current FY when no month is given). Pass it for a trip that already happened. county: optional; selects the rate area when the city spans more than one (see lookup_city_perdiem). No estimate is produced when the city is ambiguous or unresolved; the candidate rate areas are returned instead. Does NOT include airfare or ground transportation. Formula: - Lodging = nightly_rate * num_nights - M&IE = full_day_rate * (travel_days - 2) + first/last_day_rate * 2 - Travel days = num_nights + 1 num_nights bounded 1-365. NoYesNot declaredYes
get_data_statusReport which fiscal years are bundled, their GSA source files, and which tools call the GSA API. ZIP, state, and M&IE lookups for bundled fiscal years are answered from GSA's published files with no network call. City requests with a supplied county for a bundled year also need no key or network call. City-name requests without a county, and unbundled years, use the live GSA Per Diem API. Credential presence is reported without revealing or validating any value. NoYesNot declaredNo
get_mie_breakdownGet the M&IE (meals and incidental expenses) tier breakdown table. Returns all M&IE tiers with breakfast, lunch, dinner, incidental, and first/last day (75%) amounts, for showing the meal component of a per diem estimate. Bundled fiscal years come from GSA's published M&IE breakdown with no API call. M&IE does NOT vary seasonally (unlike lodging). The tier is set per location and applies year-round. NoYesNot declaredYes
lookup_city_perdiemLook up federal per diem rates for a city and state. Returns lodging rates (monthly breakdown for seasonal locations) and M&IE (meals and incidental expenses) for the specified fiscal year. state: 2-letter USPS code (e.g., 'DC', 'VA', 'MD', 'CA'). fiscal_year: defaults to current FY. FY runs Oct 1 - Sep 30, so FY2026 = 2025-10-01 through 2026-09-30. county: optional county or independent city (e.g., 'Fairfax', 'Hampden', 'Richmond city'). When given for a bundled fiscal year the rate is determined from GSA's county definitions without an API call. Without county, the GSA Per Diem API resolves the city name to rate areas. The result's status is: - resolved: one rate applies (exact name, composite name such as 'Boston / Cambridge', GSA's own city-to-county resolution, or a Census county tie-break among GSA's candidates) - ambiguous: GSA lists several rate areas for the city; candidates are returned and no single rate is chosen - unresolved: GSA did not recognize the city; no rate is asserted CONUS only: AK, HI, and territories return a pointer to DoD/State rates. NoYesNot declaredYes
lookup_state_ratesGet all Non-Standard Area (NSA) per diem rates for a state. Returns every city/county with rates above the standard rate in that state, plus the state's standard rate. Seasonal areas include their lodging rate for each month (lodging_by_month). Useful for comparing rates across cities within a state or for building a travel IGCE with multiple destinations. Bundled fiscal years are answered from GSA's published files with no API call. CONUS only: AK, HI, and territories return a pointer to DoD/State rates instead of an empty list that would falsely imply the standard CONUS rate applies there. NoYesNot declaredYes
lookup_zip_perdiemLook up federal per diem rates by ZIP code. Accepts 5-digit ZIPs or ZIP+4 (e.g., '02101' or '02101-1234'). Bundled fiscal years are answered from GSA's published ZIP file with no API call; other years use the GSA Per Diem API. GSA sets rates by county or locality, and about 1,800 ZIPs span more than one rate area. The result's status is 'resolved' when every rate area GSA lists for the ZIP has the same rate, otherwise 'ambiguous' with all candidates and no single rate chosen. county (optional) selects the candidate for that county. NoYesNot declaredYes

Details

Registry status
Active
Published
Oct 27, 2026
Updated
Oct 27, 2026
Categories (suggested)
Invoicing and accountingSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing