Skip to main content
Glama
tonymon

TRORBOT MCP Server

by tonymon

TRORBOT MCP Server

GSA MCP Server Government Hackathon — Dataset Access Server Submission deadline: November 20, 2026

An MCP (Model Context Protocol) server that gives any Claude Desktop, Cursor, or MCP-compatible LLM client direct access to the Treasury Report on Receivables (TROR) dataset — federal agency delinquent debt referral compliance data spanning FY2016 to present.

Built on top of TRORBOT, the Bureau of the Fiscal Service's AI assistant for receivables analysis.


What This Server Exposes

The TROR dataset tracks whether federal agencies comply with the Debt Collection Improvement Act (DCIA) requirement to refer eligible delinquent debts to the Treasury for cross-servicing or offset within 120 days. This MCP server surfaces that data — 12,800+ quarterly agency compliance records from FY2016 to present — directly to LLMs.

Tools (6)

Tool

Credentials

What it does

list_agencies

None

List federal agencies reporting TROR data, with fiscal year coverage

query_receivables

None

Query DDR compliance records by agency, fiscal year, and quarter

get_delinquency_trends

None

Rank agencies by change in compliance rate or debt amounts over a FY window, with a government-wide aggregate. Filter to the 24 CFO Act agencies (cfo_agencies_only) or by size (min_eligible_debt_usd)

search_program_context

TRORBOT API

Search analyst-curated policy events explaining data changes

search_program_guidance

TRORBOT API

Search program rules, legal authorities, TFM chapters

get_annual_report_insights

TRORBOT API

Search Annual TROR Reports to Congress

The first three tools hit the public Fiscal Data API (api.fiscaldata.treasury.gov) with no credentials required. Any judge or user can test them immediately.

Prompts (2)

Prompt

What it does

analyze_agency_performance

Guides a 5-step structured analysis of an agency's compliance trend

explain_collection_program

Explains a debt collection program using guidance + recent policy context

Resource (1)

URI

What it contains

trorbot://fiscal-year-metadata

Current FY, data coverage, quarter definitions, freshness notes


Related MCP server: USAspending MCP Server

Quickstart

Prerequisites

  • uv — Python package manager

  • Python 3.11+

Install

git clone https://github.com/tonymon/trorbot-mcp.git
cd trorbot-mcp
uv sync

Run in stdio mode (Claude Desktop)

cp .env.example .env
uv run trorbot-mcp

Run as HTTP server

MCP_TRANSPORT=http PORT=8080 uv run trorbot-mcp

Claude Desktop Configuration

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "trorbot": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--directory",
        "/path/to/trorbot-mcp",
        "trorbot-mcp"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Restart Claude Desktop. You'll see a 🔨 icon confirming the server is connected.


Example Prompts (Claude Desktop)

Use trorbot list_agencies to find agencies with "Defense" in the name.
Use trorbot query_receivables to get FY2024 Q4 DDR compliance data
for "Department of Defense".
Use trorbot get_delinquency_trends to show which CFO Act agencies
improved or declined the most in compliance rate from FY2021 to FY2025.
Use trorbot get_delinquency_trends to show the year-by-year compliance
rate for "Social Security Administration" from FY2016 to FY2025.

Environment Variables

Variable

Required

Default

Description

FISCAL_DATA_BASE_URL

No

https://api.fiscaldata.treasury.gov/services/api/fiscal_service

Fiscal Data API base URL

TRORBOT_API_URL

For KB tools

—

TRORBOT API Gateway URL

TRORBOT_API_KEY

For KB tools

—

TRORBOT API key

MCP_TRANSPORT

No

stdio

stdio or http

PORT

No

8080

Port for HTTP mode

HTTP_TIMEOUT

No

30

Request timeout (seconds)

Copy .env.example to .env and fill in values. The first three tools (list_agencies, query_receivables, get_delinquency_trends) work without any credentials.


Data Source

Fiscal Data API — 120 Day Delinquent Debt Referral Compliance Report

  • Endpoint: GET /services/api/fiscal_service/v2/debt/tror/data_act_compliance

  • Coverage: FY2016 Q1 — present (~12,800 agency-quarter records)

  • Published by: Bureau of the Fiscal Service

  • Update cadence: Quarterly (~45–60 days after quarter close)

  • License: Public domain, no auth required

Key Fields

Field

Type

Description

agency_nm

String

Federal agency name

record_fiscal_year

Year

Fiscal year (Oct–Sep)

record_fiscal_quarter

Quarter

1=Oct–Dec, 2=Jan–Mar, 3=Apr–Jun, 4=Jul–Sep

total_eligible_debt_amt

USD

Debt eligible for 120-day referral

eligible_debt_referred_amt

USD

Debt actually referred

compliance_rate_amt

%

Referred ÷ eligible (dollar basis)

compliance_rate_cnt

%

Referred ÷ eligible (count basis)


Architecture

Claude Desktop / Cursor / any MCP client
        │
        │  MCP protocol (stdio or HTTP/SSE)
        ▼
┌─────────────────────────────────────┐
│         TRORBOT MCP Server          │
│         (FastMCP, Python)           │
│                                     │
│  Tools          Prompts  Resources  │
│  ├ list_agencies                    │
│  ├ query_receivables    fiscal-year │
│  ├ get_delinquency_trends  metadata │
│  ├ search_program_context           │
│  ├ search_program_guidance          │
│  └ get_annual_report_insights       │
└──────────────┬──────────────────────┘
               │
       ┌───────┴───────┐
       ▼               ▼
Fiscal Data API    TRORBOT API
(public, no auth)  (optional KB tools)
       │               │
  TROR DDR         Bedrock KBs
  compliance       (OpenSearch
  FY2016–present    Serverless)

Evaluation

8 ground-truth analyst questions answered through the live tools and scored against answers computed independently from raw API rows — 8/8 passing (the initial commit scored 3/8). See eval/README.md.

uv run python eval/run_eval.py --live

Development

uv sync --group dev

# Run tests (offline — Fiscal Data responses are replayed from tests/cassettes/)
uv run pytest tests/ -v

# Lint
uv run ruff check .

# Re-record cassettes from the live API (only when upstream data or a query changes)
uv run python tests/record_cassettes.py

Project structure

trorbot-mcp/
├── src/trorbot_mcp/
│   ├── app.py          # FastMCP server entry point
│   ├── config.py       # pydantic-settings configuration
│   ├── models.py       # Pydantic input models
│   ├── utils.py        # Shared HTTP helpers
│   ├── tools/          # 6 MCP tools
│   ├── prompts/        # 2 MCP prompts
│   └── resources/      # 1 MCP resource
├── eval/                     # ground-truth eval: cases, runner, fixtures, results
├── tests/
│   ├── test_tools.py         # registration and input-validation tests
│   ├── test_fiscal_tools.py  # tool behavior, replayed from recorded API responses
│   ├── conftest.py           # respx replay fixtures
│   ├── record_cassettes.py   # re-records cassettes from the live API
│   ├── test_eval.py          # runs the eval offline in CI
│   └── cassettes/            # recorded Fiscal Data API responses
├── pyproject.toml
└── .env.example

Hackathon Alignment

Category: Dataset Access Server

Judging criteria met:

Criteria

How

Real government dataset

TROR DDR compliance — public Fiscal Data API, 12,800+ records

No credentials to demo

3 of 6 tools are fully public

MCP primitives

All three used: tools, prompts, resources

Useful to analysts

Compliance trends, agency benchmarking, policy context

Extensible

KB tools light up with TRORBOT credentials for narrative context


License

Public domain — see LICENSE (CC0 1.0). Security posture: SECURITY.md. Data sourced from the U.S. Department of the Treasury, Bureau of the Fiscal Service.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Read-only MCP server for exploring US federal spending data via the USAspending.gov API, enabling natural language queries on awards, agencies, recipients, and spending trends.
    12
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides access to US Treasury Fiscal Data via a free, no-auth public API. Enables querying government financial data through natural language.
    2 npm
    MIT