us-gov-data-mcp

us-gov-data-mcp

MCP server for querying US federal contracts and public company financial data from USAspending and SEC EDGAR. Enables searching expiring contracts, screening companies by metrics, and retrieving financial histories.

Category
访问服务器

README

us-gov-data-mcp

An MCP server for US government data. Ask your AI assistant which federal contracts are expiring, or which public companies had the most revenue last year — and get answers you can verify against the government's own records.

Built on the US Treasury's USAspending API and the SEC's EDGAR XBRL data. No scraping, no API key, no account, no personal data.


Why this exists

Both of these sources publish everything and let you query almost none of it.

usaspending.gov cannot search by contract end date. But when a federal contract's period of performance ends, the work usually has to be re-competed — and those recompetes are the highest-probability opportunities in government contracting, visible in public data months before any solicitation appears.

sec.gov serves filings one company at a time. There is no way on the site to ask which public companies had revenue over $100 billion, or which hold the most cash. The SEC's frames API can answer that across all ~5,800 filers in one call, if you already know the XBRL tag and the period format.

This server answers the questions those sites can't.

Four tools

find_expiring_contracts — recompetes

Federal contracts coming up for re-bid, with the incumbent and days remaining. expiring_after_days sets your bid lead time, because a contract ending next week is useless to prepare for.

{
  "days_until_expiry": 120,
  "recipient": "PERATON ENTERPRISE SOLUTIONS LLC",
  "amount_usd": 682369225.00,
  "awarding_agency": "General Services Administration",
  "verify_url": "https://www.usaspending.gov/award/..."
}

search_federal_contracts

Awarded contracts by agency, keyword, date, or dollar amount. Who is winning federal work, what an agency spends, a competitor's history.

screen_public_companies

Rank every US public company by any reported financial metric.

"Which companies had revenue over $200 billion in 2023?"

{ "company": "Walmart Inc.", "value": 648125000000, "unit": "USD",
  "period_end": "2023-12-31", "period_type": "annual",
  "verify_url": "https://www.sec.gov/Archives/edgar/data/104169/..." }

company_financial_history

One company's reported history of a metric — revenue, net income, assets, cash flow — deduplicated, with the form type and filing date on each record.

Everything is verifiable

Each record carries a verify_url to the government filing it came from. Open it and compare.

That matters most with an AI in the loop: when an assistant reports a dollar figure, you should be able to check it against the source rather than trust the chain. If a value ever disagrees with the official record, that is a bug — please open an issue.

Three traps this handles for you

Raw SEC data misleads in three specific ways, each silent — you get a plausible wrong number, not an error.

  1. A 10-Q reports the quarter and the year-to-date with the same end date. Comparing net income across filings silently mixes a three-month figure with a nine-month one. Every record carries period_type, and you can filter on it.
  2. The same fact recurs across filings with different values. This year's 10-K restates last year's figures. Deduplicated to one record per period, most recent filing winning — the SEC's own treatment of restatements.
  3. Companies switch XBRL tags over time. Microsoft filed Revenues until 2010 and a different tag afterwards. Taking the first tag that returns data yields a stale partial history; this merges across all of them.

Install

uvx --from git+https://github.com/groundtruthtools/us-gov-data-mcp us-gov-data-mcp

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "us-gov-data": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/groundtruthtools/us-gov-data-mcp",
        "us-gov-data-mcp"
      ],
      "env": { "SEC_USER_AGENT": "Your Name your@email.com" }
    }
  }
}

Works with any MCP client: Claude Desktop, Claude Code, Cursor, VS Code.

SEC_USER_AGENT is worth setting. SEC's fair-access policy requires a User-Agent containing a contact address, and requests without one get a 403. A default is included so the tools work out of the box, but identifying yourself is the polite thing and keeps you off a shared identity.

One quirk, learned the hard way: do not put a URL in that string. SEC returns 403 for any User-Agent containing one. Your Name your@email.com works; adding github.com/... does not.

Not on PyPI yet, so install from the repository. When it lands there this becomes a plain uvx us-gov-data-mcp.

Honest limits

  • Contracts: awarded, not open solicitations. For published bids, use SAM.gov.
  • Contracts: federal only, no data before fiscal year 2008.
  • Recompete search covers contracts with activity in the past year, because USAspending caps how deep results can be paged. A long-dormant contract may not appear, and an over-broad search says so rather than returning a confidently empty list.
  • SEC: XBRL coverage starts around 2009, and only covers concepts companies actually tagged. Smaller filers tag less.
  • It reports; it does not compute. No ratios, growth rates, or derived metrics — those would be our arithmetic rather than the filing, and you could not verify them against the source.
  • Not investment advice. It is a data-reformatting tool.

Also on Apify

The same logic runs as hosted tools, no install required:

Data sources and licence

Contracts: USAspending.gov, US Department of the Treasury, published under the DATA Act. Financials: SEC EDGAR, US Securities and Exchange Commission. Both public domain. Code: MIT.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选