Skip to main content
Glama

GSA Per Diem

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
1102tools-dev/federal-contracting-mcps
GitHub Stars
25
Server Listing
ecfr-mcp

TDQS

Score is being calculated.

Available Tools

7 tools
compare_locations
Read-only
Inspect

Compare 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.
ParametersJSON Schema
NameRequiredDescriptionDefault
locationsYes
fiscal_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

estimate_travel_cost
Read-only
Inspect

Estimate 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.
ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes
stateYes
countyNo
num_nightsYes
fiscal_yearNo
travel_monthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_data_status
Read-only
Inspect

Report 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

get_mie_breakdown
Read-only
Inspect

Get 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fiscal_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

lookup_city_perdiem
Read-only
Inspect

Look 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.
ParametersJSON Schema
NameRequiredDescriptionDefault
cityYes
stateYes
countyNo
fiscal_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

lookup_state_rates
Read-only
Inspect

Get 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.
ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
fiscal_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

lookup_zip_perdiem
Read-only
Inspect

Look 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
countyNo
zip_codeYes
fiscal_yearNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedcompare_locations
    • First observedestimate_travel_cost
    • First observedget_data_status
    • First observedget_mie_breakdown
    • First observedlookup_city_perdiem
    • First observedlookup_state_rates
    • First observedlookup_zip_perdiem

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables models to query real US government data (BLS, BEA, Census, IRS 2026) to calculate 2026 take-home pay across all 50 states plus DC, compare cost-of-living-adjusted salaries between 50 US metros, retrieve tax bracket ladders, and look up occupation-level salary percentiles. Exposes five read-only tools over a free, keyless remote Streamable HTTP endpoint.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables geographic parity analysis with 26 read-only tools covering purchasing power, salary localization, cost of living, nomad visas, tax residency, FIRE planning, and relocation costs.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.