Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for usaspending-mcp-server

Pod holds 19 of 19 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to usaspending-mcp-server.

Most discussed

bug(service): api_timeout and api_unavailable never reach the wire with reason or recovery

Server version

0.4.2

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

All 18 tools declare api_timeout and api_unavailable (thrownBy: 'service'), but USASpendingService.request() attaches no reason, retryable, or recovery, so neither structuredContent.error nor content[] carries the declared hint.

usaspending_disaster_spending's hint (fewer DEF codes or a smaller limit) would…

Read the thread · 2026-09-12 · closed · 3 comments

bug(usaspending_disaster_spending): recipient id is comma-joined when upstream sends several

Server version

0.4.3

mcp-ts-core version

0.13.6

Runtime

Bun

Transport

HTTP (Streamable HTTP)

Description

disaster/recipient/spending/ returns each row's id as an array of recipient hash IDs. The tool maps it with String(r.id), so a recipient that has both a child-level and a recipient-level ID comes back as one comma-joined string. That string is not a valid recipient_id for usaspending_get_recipient.

Related: #63.

Steps to reproduce

  1. Call…

Read the thread · 2026-09-25 · closed · 1 comment

bug(date-filters): an inverted date range is sent upstream and surfaces as api_unavailable

Server version

0.4.3

mcp-ts-core version

0.13.6

Runtime

Bun

Transport

HTTP (Streamable HTTP)

Description

No date input checks that the start precedes the end. An inverted range (start after end) goes upstream as-is:

Read the thread · 2026-09-25 · closed · 1 comment

feat(usaspending_disaster_spending): surface breakdown totals and budgetary resources

Use case

usaspending_disaster_spending's breakdown dimensions are the working route to disaster totals while the upstream /disaster/overview/ endpoint times out, but the tool drops the totals the breakdown response already carries, so a caller has to sum rows for obligations and outlays and cannot get budgetary resources at all.

Related: #57

Proposed behavior

Surface the breakdown response's totals object (obligation, outlay, total_budgetary_resources) and the per-row…

Read the thread · 2026-09-25 · closed · 1 comment

bug(date-filters): a lone start or end date is dropped but echoed as applied

Server version

0.4.3

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

The optional date-range inputs send a time_period upstream only when both ends are present (buildFilters in filters.ts, and the filters.time_period_* branch of usaspending_search_awards). A lone start or end date is dropped without notice, but the response still echoes it as applied_time_period_start /…

Read the thread · 2026-09-25 · closed · 1 comment

feat(usaspending_search_awards): filter awards by assistance listing (CFDA) number

Use case

Agents researching a grant program need "who has won awards under Assistance Listing 93.866, and for how much." usaspending_autocomplete_filters type=cfda returns the listing number with a note to use it in filter parameters, but usaspending_search_awards has no filter that accepts it, so the lookup dead-ends.

Proposed behavior

Add an assistance_listings input (array of listing numbers) to usaspending_search_awards, mapped to the USAspending API's program_numbers…

Read the thread · 2026-09-22 · closed · 1 comment

bug(usaspending_search_awards): sort is not award-type-aware — loans fail by default, IDVs reject End Date

Server version

0.4.3

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

OS

Linux (Docker)

Description

sort on usaspending_search_awards defaults to Award Amount for every award type, but /api/v2/search/spending_by_award/ checks the sort against a per-group field mapping and answers 400 outside it. Loans (07/08) have no Award Amount, Total Outlays, Start Date, or End Date, so a loan search…

Read the thread · 2026-09-22 · closed · 1 comment

bug(date-filters): date format is prose-only, and the upstream 4xx detail never reaches the error text

Server version

0.4.2

mcp-ts-core version

0.12.3

Runtime

Bun

Runtime version

Not recorded

Transport

HTTP (Streamable HTTP)

Description

The ten date inputs — usaspending_search_awards time_period.start_date / end_date and filters.time_period_start / time_period_end, plus filters.time_period_start / time_period_end on the three usaspending_spending_* tools — are bare z.string() fields with YYYY-MM-DD only in .describe(), so the advertised…

Read the thread · 2026-09-18 · closed · 1 comment

Most recent

feat(spending-filters): expose program, PSC, and emergency funding filters

Use case

A water-program analyst can discover Assistance Listing 15.507, PSC Y1NE, and DEF code Z through the current tools, but cannot reuse those codes to ask where or when the corresponding funding was spent. usaspending_search_awards supports Assistance Listings only; the three general analytics tools support none of these filters.

Proposed behavior

Extend the existing award-search and shared analytics filters with the relevant assistance_listings, psc_codes, and…

Read the thread · 2026-09-30 · open · 0 comments

bug(pagination): exact-cap results are falsely labeled truncated

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

Exact-cap results are reported as definitely truncated even when the complete set was returned. Related: #30 and #54. Conservative continuation can be useful, but it is different from known truncation.

Steps to reproduce

Call usaspending_autocomplete_filters with {"type":"naics","search_text":"Water","limit":10}; repeat at…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_get_agency): conflicting identifiers silently ignore agency_slug

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_get_agency says to provide either toptier_code or agency_slug, never both, but accepts conflicting identifiers and silently ignores the slug.

Steps to reproduce

Call with {"toptier_code":"014","agency_slug":"department-of-defense"}.

Actual behavior

Successful Department of the Interior profile with no…

Read the thread · 2026-09-30 · open · 0 comments

bug(filters): unsupported nested keys become unfiltered successful queries

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

Unsupported nested filter keys are silently stripped by the definitions' non-strict Zod objects. The tools then succeed with a broader query; top-level strict validation does not protect these objects.

Steps to reproduce

Call usaspending_search_awards with…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_disaster_spending): geography ignores limits and returns unbounded rows

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_disaster_spending ignores limit and page on its geography branch and returns an unbounded county table. Unlike #19, this branch requires client-side adaptation because the provider geography endpoint is not paginated.

Steps to reproduce

Call with…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_spending_by_geography): capped counties have no complete retrieval route

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_spending_by_geography discloses its cap but cannot retrieve the omitted counties for the same query. The cap introduced in #48 works; its filter-down guidance cannot select an omitted geographic area.

Steps to reproduce

Call with scope: "place_of_performance", geo_layer: "county", limit: 500, and filters for…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_autocomplete_filters): replaces matched sub-agency with parent

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_autocomplete_filters replaces matched sub-agencies with their top-tier parent's name and discards the tier and chainable code. This differs from #2's empty-result-field fix.

Steps to reproduce

Call with {"type":"awarding_agency","search_text":"Geological","limit":5}; compare [the provider…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_search_awards): county guidance contradicts provider location format

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_search_awards.location_filter.county recommends a five-digit FIPS code, but USAspending location filters require the three-digit county component with a state and country. The…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_get_agency): suppresses failed budget and sub-agency requests

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP); fault injection into built handler

Description

usaspending_get_agency converts budgetary-resource and sub-agency request failures into empty successful data without a partial-result notice. A missing breakdown is reported as has_more_sub_agencies: false.

Steps to reproduce

Keep getAgency successful; inject ServiceUnavailable into…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_get_award): drops assistance listings and recipient identity fields

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_get_award drops populated Assistance Listing, recipient UEI, business-category, and country fields from USAspending award detail. These are different mappings from the financial/PSC fields fixed in #36.

Steps to reproduce

Call with…

Read the thread · 2026-09-30 · open · 0 comments

bug(usaspending_get_recipient): fiscal-year and award-type filters are ignored

Server version

0.4.4

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

1.4.2

Transport

HTTP (Streamable HTTP)

Description

usaspending_get_recipient advertises fiscal-year and award-type scoping, but sends unsupported fiscal_year and award_type query parameters. USAspending accepts year, defaults to the…

Read the thread · 2026-09-30 · open · 0 comments

The remaining reports are on the project's issue tracker.