PubRecords MCP

PubRecords MCP

Aggregate US business filings, SEC reports, federal court cases, federal spending awards, and professional licenses through a single MCP server.

Category
访问服务器

README

PubRecords MCP

status mcp price

Public-records intelligence for AI agents. Aggregate US business filings, SEC reports, federal court cases, federal spending awards, and professional licenses through a single MCP server. Built for due diligence, compliance, sales research, and background checks.


MCPize Listing Copy

PubRecords MCP turns the patchwork of US public-records APIs into a single, predictable tool surface for AI agents. One call cross-references a company across OpenCorporates, SEC EDGAR, USASpending.gov, CourtListener (RECAP), the NPI registry, and FCC license-view — and returns a normalized confidence score so your agent doesn't need to babysit the messy bits. Every endpoint is async, retries upstream 429s with exponential backoff, and never crashes — failures come back as structured {success: false, error: ...} envelopes that downstream tools can branch on cleanly.

Designed for due diligence and KYB workflows, compliance and adverse-media checks, sales prospecting, and background research. AI agents using PubRecords MCP can verify whether a counterparty actually exists, find their officers and registered agent, surface federal litigation history, see contract awards from Uncle Sam, and confirm professional licenses — all without juggling six different API keys, rate-limit headers, or response schemas. Cached 24 hours by default; most underlying records refresh daily at the source. Free tier (30 calls/day) for evaluation; Pro at $29/mo or $0.03/call for production traffic.


Pricing

Tier Price Limit
Free $0 30 calls/day
Pro $29/mo Unlimited
Metered $0.03/call Pay-as-you-go

Default dev key (free tier): pubrecords-dev-key-001

Upgrade: https://mcpize.com/pubrecords-mcp


Tool Reference

Tool Args Returns
search_companies name, state?, status?, limit? OpenCorporates entities
get_company_details company_id, jurisdiction Officers, registered agent, filings
search_sec_filings company_name, form_type?, date_from?, limit? EDGAR filing list
get_sec_filing accession_number Filing metadata + index URL
search_court_cases party_name, court?, date_from?, limit? RECAP federal dockets
lookup_federal_spending recipient_name, agency?, year?, limit? USASpending awards
lookup_npi name?, specialty?, state?, limit? NPPES providers
get_ucc_filings debtor_name, state UCC liens (roadmap — see Data Gaps)
verify_entity name, state? Cross-source 0–100 confidence score
search_licenses entity_name, license_type?, state? NPI + FCC license union

Install in Claude

claude mcp add --transport http pubrecords-mcp https://mcp-pubrecords-production.up.railway.app/mcp/

Note the trailing slash on /mcp/. Without it the gateway issues a 307 that drops the POST body, breaking the JSON-RPC handshake.

Then set the API key in your client:

X-API-Key: pubrecords-dev-key-001

Python SDK

A thin Python wrapper for non-MCP integrations is published on PyPI:

pip install pubrecords
from pubrecords import PubRecords

client = PubRecords(api_key="pubrecords-dev-key-001")
print(client.health())
print(client.search_companies(name="Apple", state="CA"))

Source: pubrecords-sdk/. PyPI: https://pypi.org/project/pubrecords/.


REST surface (mirrors the MCP tools)

All MCP tools are also available over plain HTTP for non-MCP clients:

curl -H "X-API-Key: pubrecords-dev-key-001" \
  "https://mcp-pubrecords-production.up.railway.app/tools/search_companies?name=Apple&state=CA"

Production URL: https://mcp-pubrecords-production.up.railway.app

GET  /health                          (no auth)
GET  /usage                           (X-API-Key)
GET  /tools/<tool_name>?...           (X-API-Key)
POST /mcp/                            (MCP streamable-http transport)

GET /usage returns your remaining daily quota. GET /health is unauthenticated.


Local development

git clone https://github.com/bch1212/mcp-pubrecords.git
cd mcp-pubrecords
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn server:app --reload --port 8000

Run tests:

pytest -v

Optional environment variables (see .env.example):

  • PUBRECORDS_SEC_USER_AGENT — SEC EDGAR requires an identifying UA. Set it in production.
  • OPENCORPORATES_TOKEN — raises the OpenCorporates anonymous cap of ~50/month.
  • COURTLISTENER_TOKEN — raises CourtListener's anonymous rate limit.
  • PUBRECORDS_CACHE_TTL — cache TTL in seconds (default 86400 = 24h).
  • PUBRECORDS_ADMIN_TOKEN — required to issue new keys at /admin/keys.

Data freshness

Responses are cached for 24 hours by default. Underlying source agencies update on different cadences:

Source Refresh cadence
OpenCorporates Daily / weekly (varies by jurisdiction)
SEC EDGAR Real-time (filings appear ~minutes after submission)
USASpending.gov Monthly (FY-end backfills)
CourtListener (RECAP) Daily (depends on volunteer uploads)
NPPES NPI Weekly
FCC License-View Daily

For ultra-fresh queries, set PUBRECORDS_CACHE_TTL=300 (5 minutes) — note that this will multiply your upstream API costs.


Data Gaps & Source Limitations

These are honest caveats — the MCP returns structured not_implemented envelopes rather than fabricated data when a query falls outside coverage:

  1. UCC filings — there is no uniform federal UCC API. Most state Secretary-of-State systems are HTML-only or require per-state credentials. get_ucc_filings returns {"error": "not_implemented"} until per-state adapters land (CA, DE, NY, TX are the priority backlog).
  2. State professional licenses — covered for healthcare (NPI) and FCC. Other categories (bar, real estate, contractor, CPA) are state-by-state with no central API. search_licenses will say which sources matched.
  3. OpenCorporates rate limits — anonymous traffic is capped at ~50 requests/month per IP. Set OPENCORPORATES_TOKEN for production. The 24h cache absorbs most of the burn.
  4. SEC EDGAR full-text — search_sec_filings searches the body of filings, not just metadata, so query terms common across many filings can return wide result sets. Combine with form_type to narrow.
  5. CourtListener coverage — federal only (PACER/RECAP). State court coverage is uneven and not guaranteed.
  6. No PII / consumer-record sources — by design. PubRecords is for entity-level due diligence; consumer credit and identity data are deliberately out of scope.

License & Compliance

This MCP only proxies and caches public records that are already free to access from federal sources. Cached payloads are kept for 24 hours and can be flushed by deleting the SQLite DB. No PII is stored beyond what the underlying public-record agencies already publish.

推荐服务器

Baidu Map

Baidu Map

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

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

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

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

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

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选