# Allowances API (remote · mcp.allowancesapi.com)

U.S. government per diem and overseas allowance rates from GSA, DTMO OCONUS and State DSSR tables.

- Trust score: 80/100 (high trust)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-06

## Components

- remote · `mcp.allowancesapi.com`: 80/100 (this document), [markdown](https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp.md), [page](https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp)

## Channel facts

- Endpoint: `https://mcp.allowancesapi.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-06.

- **Endpoint Security**: 97/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 8889 tokens (~206/item across 43 items; 43 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "search_opm_pay" implies "pay" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 44 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Allowances API MCP server?

Allowances API is a hosted endpoint at https://mcp.allowancesapi.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-allowancesapi-per-diem-allowances 'https://mcp.allowancesapi.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-allowancesapi-per-diem-allowances": {
      "url": "https://mcp.allowancesapi.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-allowancesapi-per-diem-allowances": {
      "type": "http",
      "url": "https://mcp.allowancesapi.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-allowancesapi-per-diem-allowances]
url = "https://mcp.allowancesapi.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-allowancesapi-per-diem-allowances": {
      "type": "remote",
      "url": "https://mcp.allowancesapi.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-allowancesapi-per-diem-allowances --url 'https://mcp.allowancesapi.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-allowancesapi-per-diem-allowances:
    url: "https://mcp.allowancesapi.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-allowancesapi-per-diem-allowances": {
      "Transport": "http",
      "Url": "https://mcp.allowancesapi.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-allowancesapi-per-diem-allowances -t streamable-http -u 'https://mcp.allowancesapi.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-allowancesapi-per-diem-allowances": {
      "type": "http",
      "url": "https://mcp.allowancesapi.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-06 (score 80, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-05 (score 79, +7)

- [security improvement] Authorization: partial → pass
- [security] First check of Authorization: pass
- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 182 → 207
- [cosmetic] “calculate_mileage_reimbursement” reworded the description of “date”
- [cosmetic] “calculate_trip_per_diem” reworded the description of “verification_url”
- [cosmetic] “cola_calculator_by_postcode” reworded the description of “date”
- [cosmetic] “get_allowances” reworded the description of “date”
- [cosmetic] “get_allowances” reworded the description of “verification_url”
- [cosmetic] “get_allowances_by_location” reworded the description of “date”
- [cosmetic] “get_allowances_by_location” reworded the description of “verification_url”
- [cosmetic] “get_allowances_by_postcode” reworded the description of “date”
- [cosmetic] “get_allowances_by_postcode” reworded the description of “verification_url”
- [cosmetic] “get_city_pair_locations” reworded the description of “date”
- [cosmetic] “get_city_pairs” reworded the description of “date”
- [cosmetic] “get_city_pairs” reworded the description of “verification_url”
- [cosmetic] “get_dtmo_perdiem_conus” reworded the description of “date”
- [cosmetic] “get_dtmo_perdiem_conus” reworded the description of “verification_url”
- [cosmetic] “get_dtmo_perdiem_conus” reworded the description of “year”
- [cosmetic] “get_dtmo_perdiem_oconus” reworded the description of “date”
- [cosmetic] “get_dtmo_perdiem_oconus” reworded the description of “verification_url”
- [cosmetic] “get_dtmo_perdiem_oconus” reworded the description of “year”
- [cosmetic] “get_fleet_rates_by_sin” reworded the description of “verification_url”
- [cosmetic] “get_fleet_rates_by_sin” reworded the description of “year”
- [cosmetic] “get_gsa_perdiem_by_destination” reworded the description of “date”
- [cosmetic] “get_gsa_perdiem_by_destination” reworded the description of “verification_url”
- [cosmetic] “get_gsa_perdiem_by_state” reworded the description of “date”
- [cosmetic] “get_gsa_perdiem_by_state” reworded the description of “verification_url”
- [cosmetic] “get_gsa_perdiem_by_state_year” reworded the description of “verification_url”
- [cosmetic] “get_gsa_perdiem_by_state_year” reworded the description of “year”
- [cosmetic] “get_gsa_perdiem_by_zipcode” reworded the description of “date”
- [cosmetic] “get_gsa_perdiem_by_zipcode” reworded the description of “verification_url”
- [cosmetic] “get_gsa_perdiem_by_zipcode_year” reworded the description of “verification_url”
- [cosmetic] “get_gsa_perdiem_by_zipcode_year” reworded the description of “year”
- [cosmetic] “get_mie_breakdowns” reworded the description of “date”
- [cosmetic] “get_mie_breakdowns” reworded the description of “verification_url”
- [cosmetic] “get_mileage” reworded the description of “date”
- [cosmetic] “get_mileage” reworded the description of “verification_url”
- [cosmetic] “get_perdiem_allowance” reworded the description of “date”
- [cosmetic] “get_perdiem_allowance” reworded the description of “verification_url”
- [cosmetic] “get_perdiem_allowance_by_location” reworded the description of “date”
- [cosmetic] “get_perdiem_allowance_by_location” reworded the description of “verification_url”
- [cosmetic] “get_perdiem_allowance_by_postcode” reworded the description of “date”
- [cosmetic] “get_perdiem_allowance_by_postcode” reworded the description of “verification_url”
- [cosmetic] “search_dtmo_perdiem” reworded the description of “date”
- [cosmetic] “search_dtmo_perdiem” reworded the description of “verification_url”
- [cosmetic] “search_dtmo_perdiem” reworded the description of “year”
- [cosmetic] “search_perdiem” reworded the description of “date”

### 2026-11-04 (score 72, +8)

- [security improvement] Authorization: unverified → partial
- [security] Tool “calculate_mileage_reimbursement” rewrote its description, which is the text the model reads
- [security] Tool “calculate_trip_per_diem” rewrote its description, which is the text the model reads
- [security] Tool “cola_calculator_by_postcode” rewrote its description, which is the text the model reads
- [security] Tool “get_allowances” rewrote its description, which is the text the model reads
- [security] Tool “get_allowances_by_location” rewrote its description, which is the text the model reads
- [security] Tool “get_allowances_by_postcode” rewrote its description, which is the text the model reads
- [security] Tool “get_city_pair_locations” rewrote its description, which is the text the model reads
- [security] Tool “get_city_pairs” rewrote its description, which is the text the model reads
- [security] Tool “get_countries” rewrote its description, which is the text the model reads
- [security] Tool “get_country” rewrote its description, which is the text the model reads
- [security] Tool “get_destination_by_id” rewrote its description, which is the text the model reads
- [security] Tool “get_destinations” rewrote its description, which is the text the model reads
- [security] Tool “get_dssr_locations” rewrote its description, which is the text the model reads
- [security] Tool “get_dssr_locations_by_country” rewrote its description, which is the text the model reads
- [security] Tool “get_dtmo_conus_locations” rewrote its description, which is the text the model reads
- [security] Tool “get_dtmo_oconus_locations” rewrote its description, which is the text the model reads
- [security] Tool “get_dtmo_perdiem_conus” rewrote its description, which is the text the model reads
- [security] Tool “get_dtmo_perdiem_oconus” rewrote its description, which is the text the model reads
- [security] Tool “get_fema_hotel_by_id” rewrote its description, which is the text the model reads
- [security] Tool “get_fema_hotels_by_state_city” rewrote its description, which is the text the model reads
- [security] Tool “get_fema_hotels_by_zipcode” rewrote its description, which is the text the model reads
- [security] Tool “get_fleet_rates_by_sin” rewrote its description, which is the text the model reads
- [security] Tool “get_gsa_perdiem_by_destination” rewrote its description, which is the text the model reads
- [security] Tool “get_gsa_perdiem_by_state” rewrote its description, which is the text the model reads
- [security] Tool “get_gsa_perdiem_by_state_year” rewrote its description, which is the text the model reads
- [security] Tool “get_gsa_perdiem_by_zipcode” rewrote its description, which is the text the model reads
- [security] Tool “get_gsa_perdiem_by_zipcode_year” rewrote its description, which is the text the model reads
- [security] Tool “get_latest_publications” rewrote its description, which is the text the model reads
- [security] Tool “get_mie_breakdowns” rewrote its description, which is the text the model reads
- [security] Tool “get_mileage” rewrote its description, which is the text the model reads
- [security] Tool “get_opm_localities” rewrote its description, which is the text the model reads
- [security] Tool “get_opm_locality_by_county” rewrote its description, which is the text the model reads
- [security] Tool “get_opm_pay” rewrote its description, which is the text the model reads
- [security] Tool “get_perdiem_allowance” rewrote its description, which is the text the model reads
- [security] Tool “get_perdiem_allowance_by_location” rewrote its description, which is the text the model reads
- [security] Tool “get_perdiem_allowance_by_postcode” rewrote its description, which is the text the model reads
- [security] Tool “get_user” rewrote its description, which is the text the model reads
- [security] Tool “get_zipcode” rewrote its description, which is the text the model reads
- [security] Tool “search_dtmo_perdiem” rewrote its description, which is the text the model reads
- [security] Tool “search_fema_hotels” rewrote its description, which is the text the model reads
- [security] Tool “search_opm_pay” rewrote its description, which is the text the model reads
- [security] Tool “search_perdiem” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 210 → 182
- [cosmetic] Tool “calculate_mileage_reimbursement” changed its title: Mileage reimbursement calculator
- [cosmetic] Tool “calculate_trip_per_diem” changed its title: GSA trip per diem calculator
- [cosmetic] Tool “cola_calculator_by_postcode” changed its title: DSSR COLA calculator
- [cosmetic] Tool “get_allowances” changed its title: DSSR allowances by country
- [cosmetic] Tool “get_allowances_by_location” changed its title: DSSR allowances by location name
- [cosmetic] Tool “get_allowances_by_postcode” changed its title: DSSR allowances by location post code
- [cosmetic] Tool “get_city_pair_locations” changed its title: City Pair airport and city codes
- [cosmetic] Tool “get_city_pairs” changed its title: City Pair contract airfares
- [cosmetic] Tool “get_countries” changed its title: Find country code and posts
- [cosmetic] Tool “get_country” changed its title: Country by ISO code
- [cosmetic] Tool “get_destination_by_id” changed its title: Get GSA destination metadata by ID
- [cosmetic] Tool “get_destinations” changed its title: List GSA destinations
- [cosmetic] Tool “get_dssr_locations” changed its title: List DSSR posts
- [cosmetic] Tool “get_dssr_locations_by_country” changed its title: DSSR posts in a country
- [cosmetic] Tool “get_dtmo_conus_locations” changed its title: DTMO CONUS locations by state
- [cosmetic] Tool “get_dtmo_oconus_locations” changed its title: DTMO OCONUS locations by country
- [cosmetic] Tool “get_dtmo_perdiem_conus” changed its title: DTMO CONUS per diem by state
- [cosmetic] Tool “get_dtmo_perdiem_oconus” changed its title: DTMO OCONUS per diem by country
- [cosmetic] Tool “get_fema_hotel_by_id” changed its title: FEMA-listed property by FEMA ID
- [cosmetic] Tool “get_fema_hotels_by_state_city” changed its title: FEMA-listed hotels by state and city
- [cosmetic] Tool “get_fema_hotels_by_zipcode” changed its title: FEMA-listed properties by ZIP code
- [cosmetic] Tool “get_fleet_rates_by_sin” changed its title: GSA Fleet leasing rates
- [cosmetic] Tool “get_gsa_perdiem_by_destination” changed its title: GSA per diem rate by destination
- [cosmetic] Tool “get_gsa_perdiem_by_state” changed its title: GSA per diem rates by state and date
- [cosmetic] Tool “get_gsa_perdiem_by_state_year” changed its title: GSA per diem rates by state and fiscal year
- [cosmetic] Tool “get_gsa_perdiem_by_zipcode” changed its title: GSA per diem rates by ZIP code and date
- [cosmetic] Tool “get_gsa_perdiem_by_zipcode_year” changed its title: GSA per diem rates by ZIP code and fiscal year
- [cosmetic] Tool “get_latest_publications” changed its title: Latest data publications
- [cosmetic] Tool “get_mie_breakdowns” changed its title: M&IE meal breakdowns
- [cosmetic] Tool “get_mileage” changed its title: POV mileage rates
- [cosmetic] Tool “get_opm_localities” changed its title: GS locality pay areas
- [cosmetic] Tool “get_opm_locality_by_county” changed its title: GS locality pay area of a county
- [cosmetic] Tool “get_opm_pay” changed its title: GS pay by locality code
- [cosmetic] Tool “get_perdiem_allowance” changed its title: DSSR per diem by country
- [cosmetic] Tool “get_perdiem_allowance_by_location” changed its title: DSSR per diem by location name
- [cosmetic] Tool “get_perdiem_allowance_by_postcode” changed its title: DSSR per diem by location post code
- [cosmetic] Tool “get_user” changed its title: Account plan and quota
- [cosmetic] Tool “get_zipcode” changed its title: ZIP code metadata
- [cosmetic] Tool “search_dtmo_perdiem” changed its title: Search DTMO per diem by name
- [cosmetic] Tool “search_fema_hotels” changed its title: Search FEMA-listed properties by name and town
- [cosmetic] Tool “search_opm_pay” changed its title: Search GS pay by locality area
- [cosmetic] Tool “search_perdiem” changed its title: Search DSSR per diem by name

### 2026-11-03 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 63, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-01 (score 63)

First indexed and scored.

## MCP tools (43)

### `get_allowances` (~324 tokens)

DSSR allowances by country

Returns State Department (DSSR) allowance rates for every post in a country: cost-of-living (COLA),
hardship differential, living quarters (LQA), danger pay and education allowances, plus each post's per
diem, in force today or on `date`. `type` limits the result to some allowances. For one post use
get_allowances_by_location or get_allowances_by_postcode; for Department of Defense rates use the DTMO
tools.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `type` (array): Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accep…
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_allowances_by_location` (~337 tokens)

DSSR allowances by location name

Returns DSSR allowances (COLA, hardship, LQA, danger pay, education, per diem) for one post in a country
matched by name, case-insensitive and partial ('toky' finds Tokyo), today or on `date`. Find exact post
names with get_dssr_locations_by_country or search_perdiem. Use get_allowances_by_postcode when the DSSR
post code is known, get_allowances for every post in the country.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `location` (string, required): Location name, case insensitive
- `type` (array): Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accep…
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_allowances_by_postcode` (~335 tokens)

DSSR allowances by location post code

Returns DSSR allowances (COLA, hardship, LQA, danger pay, education, per diem) for the post identified by
its five-digit DSSR post code, today or on `date`. Post codes are the State Department's own identifiers
and come back in every DSSR result, so this is the most precise lookup. Use get_allowances_by_location
for a name, get_allowances for the whole country.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `postcode` (integer, required): 5-digit DSSR post code (no zero-padding)
- `type` (array): Filter returned allowances. Unknown values are ignored.<br/>If not specified, all allowances are returned.<br/>Canonical values: cola, hardship, lqa, danger_pay, education, perdiem.<br/>Aliases accep…
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `search_perdiem` (~179 tokens)

Search DSSR per diem by name

Finds DSSR per diem by a partial, case-insensitive country or post name of at least three characters,
with no country code needed. Returns lodging, M&IE and maximum per diem per matching post, today or on
\`date`, with the post code for precise follow-up lookups. A name that matches nothing is a 404 error, not
an empty list. Once the ISO code is known, the country tools are more precise.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `q` (string, required): Required case-insensitive substring of a location or country name; at least three characters after trimming.

### `get_perdiem_allowance` (~253 tokens)

DSSR per diem by country

Returns State Department (DSSR) per diem for every post in a country: lodging, M&IE and maximum per diem
in USD per day, today or on `date`. For one post use get_perdiem_allowance_by_location or
get_perdiem_allowance_by_postcode; for a place name without a country code use search_perdiem. For
Department of Defense travel use get_dtmo_perdiem_oconus.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_perdiem_allowance_by_location` (~265 tokens)

DSSR per diem by location name

Returns DSSR per diem (lodging, M&IE and maximum per diem in USD per day) for one post in a country
matched by name, case-insensitive and partial, today or on `date`. Find exact post names with
get_dssr_locations_by_country or search_perdiem. Use get_perdiem_allowance for the whole country,
get_perdiem_allowance_by_postcode for a known post code.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `location` (string, required): Location name, case insensitive
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_perdiem_allowance_by_postcode` (~267 tokens)

DSSR per diem by location post code

Returns DSSR per diem (lodging, M&IE and maximum per diem in USD per day) for the post identified by its
five-digit DSSR post code, today or on `date`. Every DSSR result carries the post code, so use it for
follow-up lookups. Use get_perdiem_allowance_by_location for a name, get_perdiem_allowance for the whole
country.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `postcode` (integer, required): 5-digit DSSR post code (no zero-padding)
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_dssr_locations` (~118 tokens)

List DSSR posts

Returns a paginated list of every DSSR post with its country, ISO code and post name; `q` filters by
case-insensitive substring. `total` counts every match regardless of `offset` and `limit`. Use it to find
the exact post name for the by-location tools when the country is unknown; get_dssr_locations_by_country
is shorter when it is known. Returns no rates.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `q`: Search by name

### `get_countries` (~102 tokens)

Find country code and posts

Resolves a country name to its ISO alpha-2 code and lists the names of its DSSR posts; `q` matches the
country name case-insensitively ('papua' finds PG). Use it before any tool that needs a country code. ZZ
stands for Other Foreign Localities, not a country. Returns no rates.

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `q`: Search by country name

### `get_country` (~124 tokens)

Country by ISO code

Returns one country by ISO alpha-2 code: its name, the names of its DSSR posts and State Department
notes. Use get_countries to find the code from a name, and get_dssr_locations_by_country when the post
codes are needed too. Returns no rates.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).

### `get_dssr_locations_by_country` (~129 tokens)

DSSR posts in a country

Returns the DSSR posts of a country by ISO alpha-2 code, each with its name and five-digit post code
(`external_id`), as needed by the by-location and by-postcode tools. Use get_countries to resolve a name
to the code. Returns no rates.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).

### `cola_calculator_by_postcode` (~210 tokens)

DSSR COLA calculator

Calculates the DSSR cost-of-living allowance (COLA) for a post: the COLA rate in percent and the annual and biweekly USD amounts for the given base salary and family size, today or on `date`. The post is identified by its five-digit DSSR post code (see get_dssr_locations_by_country). Use get_allowances for the COLA rate alone.

Input parameters:

- `base_salary` (integer, required): Basic annual salary, excluding U.S. locality pay; including Overseas Comparability Pay.
- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `family_size` (integer, required): The number of family members, including the FS/DoS employee/contractor
- `postcode` (integer, required): 5-digit DSSR post code (no zero-padding)

### `get_gsa_perdiem_by_destination` (~240 tokens)

GSA per diem rate by destination

Returns the GSA per diem of one GSA destination rate area (a city, county, metro area or the Standard CONUS area, ID 0) in effect today or on `date`: the seasonal lodging rate and daily M&IE in USD. Destination IDs come from get_destinations or any GSA per diem result. When the ID is unknown use get_gsa_perdiem_by_zipcode or get_gsa_perdiem_by_state.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `destination_id` (integer, required): GSA's numeric identifier for a rate area. Retrieve valid IDs from `GET /v1/gsa/destinations`; ID 0 is the Standard CONUS rate.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_gsa_perdiem_by_state` (~238 tokens)

GSA per diem rates by state and date

Returns every GSA destination rate in a US state (US-XX) in effect today or on `date`: seasonal lodging and daily M&IE in USD per destination, with its county. `location` filters by destination or defined-area name, case-insensitive and partial. A state with no non-standard destination returns the Standard CONUS rate. CONUS only: for Alaska, Hawaii, territories and abroad use the DTMO or DSSR tools.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `location`: Optional case-insensitive partial match against the GSA destination name or location-defined name.
- `state_iso` (string, required): Two-letter US postal abbreviation for the state or District of Columbia.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_gsa_perdiem_by_state_year` (~261 tokens)

GSA per diem rates by state and fiscal year

Return every GSA destination rate in a US state (US-XX) for a US fiscal year (October 1 to September 30): the lodging rate for every month and the daily M&IE rate per destination. The optional `location` filters destinations by GSA destination or defined-area name, case-insensitive and partial. Set `verification_url=true` to include the official GSA state lookup URL. Use get_gsa_perdiem_by_state for the rate on one date.

Input parameters:

- `location`: Optional case-insensitive partial match against the GSA destination name or location-defined name.
- `state_iso` (string, required): Two-letter US postal abbreviation for the state or District of Columbia.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer, required): Four-digit US fiscal year. Fiscal year 2026 runs from 2025-10-01 through 2026-09-30. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previ…

### `get_gsa_perdiem_by_zipcode` (~227 tokens)

GSA per diem rates by ZIP code and date

Returns the GSA per diem for a US ZIP code (five digits or ZIP+4) in effect today or on `date`: seasonal lodging and daily M&IE in USD. A ZIP can map to several destinations; then every rate is returned with its county and none is chosen for you. A ZIP with no non-standard destination returns the Standard CONUS rate. Use get_gsa_perdiem_by_zipcode_year for a whole fiscal year.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `zipcode` (string, required): Five-digit US ZIP code, or ZIP+4. ZIP+4 values are normalized to the first five digits.

### `get_gsa_perdiem_by_zipcode_year` (~251 tokens)

GSA per diem rates by ZIP code and fiscal year

Returns the GSA lodging rate for every month of a US fiscal year (October 1 to September 30) and the daily M&IE, in USD, for a US ZIP code (five digits or ZIP+4). A ZIP can map to several destinations; then every rate is returned with its county and none is chosen for you. A ZIP with no non-standard destination returns the Standard CONUS rate. Use get_gsa_perdiem_by_zipcode for the rate on one date.

Input parameters:

- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer, required): Four-digit US fiscal year. Fiscal year 2026 runs from 2025-10-01 through 2026-09-30. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previ…
- `zipcode` (string, required): Five-digit US ZIP code, or ZIP+4. ZIP+4 values are normalized to the first five digits.

### `get_zipcode` (~93 tokens)

ZIP code metadata

Returns the state or states a US ZIP code (five digits or ZIP+4) belongs to; a ZIP that crosses a state line returns every state. Metadata only, no rates: use get_gsa_perdiem_by_zipcode for per diem. Send ZIPs as strings so leading zeros survive.

Input parameters:

- `zipcode` (string, required): US ZIP (12345) or ZIP+4 (12345-6789)

### `get_destination_by_id` (~116 tokens)

Get GSA destination metadata by ID

Returns the metadata of one GSA destination rate area by numeric ID: GSA's display name, the defined geographic scope, county and state. ID 0 is the Standard CONUS area. No rates: use get_gsa_perdiem_by_destination for the rate on a date and get_destinations to browse IDs.

Input parameters:

- `destination_id` (integer, required): GSA's numeric identifier for a destination rate area. Retrieve valid IDs from `GET /v1/gsa/destinations`; ID 0 is Standard CONUS.

### `get_destinations` (~121 tokens)

List GSA destinations

Returns the paginated list of every GSA destination rate area with its numeric ID, display name, defined scope, county and state, ordered by ID (`offset`, `limit`; past the end is an empty list). Use the ID with get_gsa_perdiem_by_destination or calculate_trip_per_diem. No rates; a ZIP or state lookup is usually faster than browsing.

Input parameters:

- `limit` (integer): Maximum number of destinations to return. The maximum is 200.
- `offset` (integer): Number of destination records to skip before returning results.

### `get_city_pair_locations` (~195 tokens)

City Pair airport and city codes

Returns the airport or metropolitan codes GSA uses in City Pair airfare awards for the fiscal year of `date` (today by default), with city, state and country. GSA decides whether a city uses airport codes (DCA, IAD) or a metro code (WAS), so resolve codes here before get_city_pairs. `q` (3+ characters) matches a code exactly or a city or country name by substring. Fiscal years other than the current one depend on the plan.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `q`: Match a code exactly or a city/country name by substring; case-insensitive. Omit to list every code of the fiscal year.

### `get_city_pairs` (~241 tokens)

City Pair contract airfares

Returns GSA City Pair Program contract airfares between two codes (see get_city_pair_locations) on `date`, today by default: every matching award with airline, service and one-way USD fares by category (YCA, CA, business and others; null means not offered), valid in either direction. Government contract prices, not live availability; domestic fares exclude passenger and security fees. Other fiscal years depend on the plan; there is no fallback to another date.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `destination` (string, required): Three-letter airport or international city code; case-insensitive. No city-name expansion.
- `origin` (string, required): Three-letter airport or international city code; case-insensitive. No city-name expansion.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_mileage` (~170 tokens)

POV mileage rates

Returns the GSA privately owned vehicle (POV) mileage reimbursement rates in USD per mile for airplane, automobile, government-furnished automobile, motorcycle and moving, in effect today or on `date`; `type` selects one. Use calculate_mileage_reimbursement to turn a distance into an amount.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `type`: Filter by mileage type
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_mie_breakdowns` (~212 tokens)

M&IE meal breakdowns

Return how daily M&IE totals break down into breakfast, lunch, dinner and incidental expenses, as in effect on the given date. The CONUS table breaks down the five standard CONUS M&IE tiers and is returned by default. Set region=oconus for the generic DTMO/DSSR M&IE total table. If date is not specified, today's breakdowns will be returned.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `region` (string): Breakdown table to return; defaults to CONUS
- `total`: Filter by daily M&IE total in USD
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_fleet_rates_by_sin` (~249 tokens)

GSA Fleet leasing rates

Returns the GSA Fleet vehicle leasing rates (monthly lease rate and rate per mile) for the vehicle type identified by its Standard Item Number (SIN), from the standard (US) or europe rate schedule, for the current fiscal year unless `year` is given; rates are available from fiscal year 2022. SINs are the vehicle-type codes of the GSA Fleet rate schedule; the response names the vehicle type.

Input parameters:

- `rate_type` (string, required): The GSA Fleet rate schedule: 'standard' covers vehicles leased in the United States, 'europe' covers vehicles leased in Europe.
- `sin` (string, required): Standard Item Number (SIN) identifying a GSA Fleet leased vehicle type, case insensitive.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer): A fiscal year starts Oct 1st, ends Sep 30th. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal year, Business any date.

### `get_gsa_fedrooms` (~183 tokens)

List worldwide FedRooms properties

Lists current worldwide FedRooms hotels with name, address, postal city, state, postal code and country. Optional q matches every word as a case-insensitive literal substring across those fields. country filters by ISO alpha-2 code; results include country_iso_code. Paginate with offset and limit (maximum 200); total counts matches. as_of is the UTC download date. verification_url always links to GSA. No prices or availability; book through approved channels for the FedRooms rate.

Input parameters:

- `country`: Filter by ISO 3166-1 alpha-2 country code, e.g. US or GB.
- `limit` (integer): Properties per page, at most 200.
- `offset` (integer): Number of properties to skip.
- `q`: Search all six property fields; every word must match a case-insensitive literal substring.

### `calculate_mileage_reimbursement` (~241 tokens)

Mileage reimbursement calculator

Calculate mileage reimbursement with the official GSA rate in effect on the travel date (today if omitted). Provide a distance in miles and the vehicle type: automobile, airplane, motorcycle or moving. For automobile travel, say whether a government-furnished automobile was available, which selects the reduced rate. Returns the rate category, rate and effective date, and the amount rounded to the cent. Use get_mileage for the rates alone.

Input parameters:

- `date`: Travel date used to select the effective rate. Accepts YYYY-MM-DD or YYYYMMDD; defaults to today. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the curr…
- `distance` (number, required): One-way or total travel distance in miles, from 0.001 through 100,000.
- `government_vehicle_available` (boolean): Optional for automobile calculations and defaults to false. Use true when a government-furnished automobile is authorized and available; false selects the standard privately owned automobile rate.
- `vehicle_type` (string, required): Vehicle or travel category used to select the applicable GSA mileage rate.

### `calculate_trip_per_diem` (~190 tokens)

GSA trip per diem calculator

Estimates GSA CONUS per diem for a multi-stop trip: a day-by-day breakdown and totals of payable lodging and M&IE. Each stop has inclusive arrival and departure dates and a GSA destination ID or ZIP code, optionally the actual nightly lodging cost and meals to deduct. Applies the rate in effect each day, 75% M&IE on first and last days, the official meal deductions and the lodging cap (excess reported as overage). Not for Department of Defense or foreign travel.

Input parameters:

- `deductible_meals` (array): Sparse caller-determined meal deductions, keyed by trip date.
- `stops` (array, required): Ordered, contiguous TDY-locality stops for the trip.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.

### `get_dtmo_perdiem_conus` (~325 tokens)

DTMO CONUS per diem by state

Department of Defense per diem for the continental U.S. by state code (e.g. 'TX'); Alaska, Hawaii
and the territories are served by the OCONUS endpoint. Returns lodging, local and proportional meal
rates, incidentals and the maximum per diem (lodging + meals + incidentals) per season. `q` filters by
location name. `date` selects the rates in force on that day, `year` a fiscal year (Oct 1 to Sep 30);
omit both for the current fiscal year.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `limit` (integer)
- `offset` (integer)
- `q`: Search by location name or state/country name
- `state_iso` (string, required): US state code: US- followed by the postal abbreviation, e.g. US-CA for California.
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer): A fiscal year starts Oct 1st, ends Sep 30th. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal year, Business any date.

### `get_dtmo_perdiem_oconus` (~390 tokens)

DTMO OCONUS per diem by country

Department of Defense per diem outside the continental U.S.: foreign countries by ISO alpha-2 code
(e.g. 'PG'), and Alaska, Hawaii and U.S. territories by 'US-XX' code. Returns lodging, local and
proportional meal rates, incidentals and the maximum per diem (lodging + meals + incidentals) per
season. `q` filters by location name. `date` selects the rates in force on that day, `year` a fiscal
year (Oct 1 to Sep 30); omit both for the current fiscal year.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `limit` (integer)
- `oconus_iso_code` (string, required): Foreign country ISO 3166-1 alpha-2 code (e.g. BE), or one of the OCONUS state codes US-AK, US-HI, US-PR, US-GU, US-VI, US-AS, US-MP, US-UM. Resolve a country name to its code with get_countries (q=na…
- `offset` (integer)
- `q`: Search by location name or state/country name
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer): A fiscal year starts Oct 1st, ends Sep 30th. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal year, Business any date.

### `search_dtmo_perdiem` (~264 tokens)

Search DTMO per diem by name

Finds Department of Defense per diem by location name ('Kabul') or country or state name ('Afghanistan'),
across CONUS and OCONUS, with no code needed. Returns lodging, local and proportional meal rates,
incidentals and maximum per diem per matching location and season. `date` selects the rates in force on
that day, `year` a fiscal year (Oct 1 to Sep 30); omit both for the current fiscal year.

Input parameters:

- `date`: The day the rates must be in force, YYYY-MM-DD; today when omitted. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal yea…
- `q`: Search by location name or state/country name
- `verification_url` (boolean): Included by default: a link to the official government table for the returned location and date, for the user to confirm the figures. Pass false to omit it.
- `year` (integer): A fiscal year starts Oct 1st, ends Sep 30th. Plan limits: Sandbox and Google add-on accounts may query dates within 30 days of today, Pro the current and previous US fiscal year, Business any date.

### `get_dtmo_conus_locations` (~121 tokens)

DTMO CONUS locations by state

Returns the DTMO per diem locations of a US state (US-XX code) with location name and county, as named in
the Department of Defense CONUS table. Use it to find the name for the `q` filter of
get_dtmo_perdiem_conus. Returns no rates. For other countries, Alaska, Hawaii and territories use
get_dtmo_oconus_locations.

Input parameters:

- `state_iso` (string, required): US state code: US- followed by the postal abbreviation, e.g. US-CA for California.

### `get_dtmo_oconus_locations` (~163 tokens)

DTMO OCONUS locations by country

Returns the DTMO per diem locations of a country by ISO alpha-2 code ('AU', 'BE'), as named in the
Department of Defense OCONUS table. `location` filters by case-insensitive substring, taken literally (no
wildcards); no match returns an empty list. Use the names for the `q` filter of get_dtmo_perdiem_oconus.
Returns no rates.

Input parameters:

- `country_iso_code` (string, required): ISO 3166-1 alpha-2 country code, e.g. PG for Papua New Guinea; ZZ stands for 'Other Foreign Localities', not a country. Resolve a country name to its code with get_countries (q=name).
- `location`: Filter by location name

### `search_fema_hotels` (~178 tokens)

Search FEMA-listed properties by name and town

Searches FEMA's Hotel and Motel National Master List (fire-safe lodging, required for reimbursed federal travel) by property name and city: every word of `q` must appear as a plain substring of the name or city, with no fuzzy matching. `state` narrows to one state; paginated with `offset`, `limit` (up to 200) and `total`. Returns FEMA ID, address, phone and property details, no rates: pair with GSA per diem for the lodging cap.

Input parameters:

- `limit` (integer): Properties per page, 200 at most.
- `offset` (integer): Number of properties to skip.
- `q` (string, required): Words to find in the property name or city, all required, case-insensitive.
- `state`: Restrict the search to one state or territory.

### `get_fema_hotel_by_id` (~119 tokens)

FEMA-listed property by FEMA ID

Returns one property on FEMA's Hotel and Motel National Master List by FEMA ID, or a 404 error when the ID is not listed: name, address, phone, property type, stories and sprinklers, with `as_of` the date of the list snapshot. Use it to confirm a hotel is fire-safe for reimbursed federal lodging. No rates.

Input parameters:

- `fema_id` (string, required): FEMA ID of the property as printed on the Hotel and Motel National Master List, two letters followed by digits. Case-insensitive.

### `get_fema_hotels_by_zipcode` (~121 tokens)

FEMA-listed properties by ZIP code

Returns every property on FEMA's Hotel and Motel National Master List in a US ZIP code (five digits or ZIP+4), ordered by name, with FEMA ID, address and property details. A known ZIP with no listed property returns an empty list, an unknown ZIP a 404 error. Fire-safe lodging is required for reimbursed federal travel; no rates, pair with get_gsa_perdiem_by_zipcode.

Input parameters:

- `zipcode` (string, required): US ZIP (12345) or ZIP+4 (12345-6789)

### `get_fema_hotels_by_state_city` (~164 tokens)

FEMA-listed hotels by state and city

Returns the properties on FEMA's Hotel and Motel National Master List in a US state, optionally narrowed by a partial, case-insensitive `city` ('york' matches New York and Yorktown), ordered by city then name and paginated with `offset`, `limit` (up to 200) and `total`. Covers the 50 states, DC and the territories FEMA lists. Returns FEMA ID, address and property details, no rates.

Input parameters:

- `city`: Case-insensitive partial match on the city name.
- `limit` (integer): Properties per page, 200 at most.
- `offset` (integer): Number of properties to skip.
- `state_iso` (string, required): 2-digits US State ISO Code, format XX

### `get_opm_localities` (~140 tokens)

GS locality pay areas

Returns OPM General Schedule locality pay areas for the latest pay year with the code for get_opm_pay. `location` keeps areas whose name contains every word and areas of counties or cities with exactly that name (`state` narrows it); `matched_places` shows why. A place in no area returns Rest of U.S. (RUS); several areas come back when a name exists in several states or a city spans areas. Empty results mean an unknown name, not RUS. Territories are not covered.

Input parameters:

- `location`: County, city or locality area name.
- `state`: Restrict `location` to one state.

### `get_opm_locality_by_county` (~119 tokens)

GS locality pay area of a county

Returns the General Schedule locality pay area of a county by five-digit FIPS code for the latest pay year, with the code for get_opm_pay. Counties outside every area return Rest of U.S. (RUS); every county in Alaska or Hawaii returns that state's area. Unknown codes, Connecticut planning regions and territory counties are 404 errors. Use get_opm_localities to search by name.

Input parameters:

- `fips` (string, required): Five-digit county FIPS code: two for the state and three for the county.

### `search_opm_pay` (~175 tokens)

Search GS pay by locality area

Return the latest General Schedule pay tables whose locality area matches every word of `q`: each word must be contained in the area name, case-insensitively, or equal its code. `grade` and `step` narrow the rates; no match returns an empty `results` list. Matching only looks at OPM's area names, not the counties and towns they cover, so a town missing from the names returns nothing, which does not mean Rest of U.S. Use get_opm_localities to resolve a place to its area.

Input parameters:

- `grade`: Return only this GS grade, 1 to 15.
- `q` (string, required): Words to find in the locality area name or code, all required, case-insensitive.
- `step`: Return only this step, 1 to 10.

### `get_opm_pay` (~134 tokens)

GS pay by locality code

Return the latest pay table of a locality pay area, ordered by grade and step, or 404 for an unknown code. `grade` and `step` narrow the rates. Use `GS` for the base table without locality pay, and `RUS` for Rest of U.S.

Input parameters:

- `grade`: Return only this GS grade, 1 to 15.
- `locality_code` (string, required): OPM locality pay area code, from /v1/opm/localities, or GS for the base table. Case-insensitive.
- `step`: Return only this step, 1 to 10.

### `get_latest_publications` (~87 tokens)

Latest data publications

Returns the most recent data loaded for each source, with its publication date and fiscal year: DSSR
allowances and per diem, DTMO CONUS and OCONUS per diem, GSA per diem, mileage, vehicle rates and M&IE
breakdowns, FEMA hotels and OPM pay tables. Use it to say how current an answer is. Returns no rates.

### `get_user` (~66 tokens)

Account plan and quota

Returns the account behind the API key: plan, monthly request limit, requests used in the current billing
period, and the period start, end and renewal date. Use it to explain a quota or plan error or to check
remaining requests. This call does not count against the quota.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp#diagnostics

## Score history

- 2026-11-06: 80
- 2026-11-05: 79
- 2026-11-04: 72
- 2026-11-03: 64
- 2026-11-02: 63
- 2026-11-01: 63

## Common questions

### What is the Allowances API MCP server?

Allowances API is an MCP server listed in the public MCP registry as com.allowancesapi/per-diem-allowances. U.S. government per diem and overseas allowance rates from GSA, DTMO OCONUS and State DSSR tables. This page covers its hosted endpoint (https://mcp.allowancesapi.com/mcp).

### Is the Allowances API MCP server safe to use?

Allowances API scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Allowances API MCP server expose?

Allowances API exposes 43 tools: get_allowances, get_allowances_by_location, get_allowances_by_postcode, search_perdiem, get_perdiem_allowance, and 38 more. Their descriptions and schemas cost roughly 8,437 tokens of context every time the server is loaded.

### Does the Allowances API MCP server require authentication?

Yes. Allowances API asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Allowances API MCP server still maintained?

Allowances API is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Allowances API MCP server?

VerifyMCP ran 13 checks on Allowances API, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://mcp.allowancesapi.com/mcp
- Authorisation metadata: https://mcp.allowancesapi.com/.well-known/oauth-protected-resource/mcp
- Website: https://www.allowancesapi.com/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-allowancesapi-per-diem-allowances/mcp
