Skip to main content

MCP server for SEC, BLS, and US Census data — give your AI assistant native access to financials, labor market stats, and demographics

Project description

Thesma MCP Server

Give your AI assistant access to SEC, Census, and BLS data.

PyPI version Python License: MIT

What it does

An MCP server that wraps the Thesma API, giving AI assistants (Claude, Cursor, ChatGPT) native access to SEC EDGAR filings, Bureau of Labor Statistics employment data, and US Census Bureau demographics. Ask questions in plain English, get structured data back.

Quick example

"What was Apple's revenue last year?"

The AI calls get_financials and returns Apple's income statement with formatted line items.

"Find high-margin S&P 500 companies where insiders are buying"

The AI calls screen_companies with margin filters and insider buying signals.

"Which funds increased their position in NVDA last quarter?"

The AI calls get_holding_changes and shows quarter-over-quarter position changes.

"What's the average wage for software developers in Texas?"

The AI calls get_occupation_wages with SOC code 15-1252 and state filter, returning median and percentile wage data.

"What does Apple's labor market look like — hiring trends, local wages, compensation benchmarks?"

The AI calls get_company for AAPL, which automatically includes BLS labor market context alongside SEC company details.

Installation

pip install thesma-mcp

Claude Desktop

Add to your config file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "thesma": {
      "command": "uvx",
      "args": ["thesma-mcp"],
      "env": {
        "THESMA_API_KEY": "your-api-key"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "thesma": {
      "command": "uvx",
      "args": ["thesma-mcp"],
      "env": {
        "THESMA_API_KEY": "your-api-key"
      }
    }
  }
}

Using pip install instead of uvx? If you've already installed thesma-mcp with pip, you can use "command": "thesma-mcp" directly (no args needed) instead of uvx.

Get your API key at portal.thesma.dev (free tier: 250 requests/day).

Available tools

Company Discovery

Tool Description
search_companies Find US public companies by name or ticker symbol
get_company Get company details — CIK, SIC code, fiscal year end, index membership

Financial Statements

Tool Description
get_financials Get income statement, balance sheet, or cash flow from SEC filings
get_financial_metric Get a single financial metric over time for trend analysis

Financial Ratios

Tool Description
get_ratios Get computed financial ratios — margins, returns, leverage, growth
get_ratio_history Get a single ratio over time for trend analysis

Screening

Tool Description
screen_companies Find companies matching financial criteria — profitability, growth, leverage, insider/institutional signals

Corporate Events

Tool Description
get_events Get 8-K corporate events — earnings, M&A, leadership changes, material agreements

Insider Trading

Tool Description
get_insider_trades Get Form 4 insider transactions — purchases, sales, grants, option exercises

Institutional Holdings

Tool Description
search_funds Find institutional investment managers (hedge funds, mutual funds) by name
get_institutional_holders Get which funds hold a company's stock with shares and market values
get_fund_holdings Get a fund's portfolio — what stocks it owns
get_holding_changes Get quarter-over-quarter changes in institutional positions

Compensation & Governance

Tool Description
get_executive_compensation Get executive pay — salary, bonus, stock awards, total, CEO pay ratio
get_board_members Get board of directors — age, tenure, independence, committee memberships

Filings

Tool Description
search_filings Search SEC filings by company, type (10-K, 10-Q, 8-K, etc.), and date range

Industry Lookup

Tool Description
search_industries Find BLS industries by name or NAICS level
get_industry_detail Get industry details — child industries, data availability across CES/QCEW/OEWS

Industry Employment (CES)

Tool Description
get_industry_employment Get employment, earnings, and hours data for an industry by NAICS code

County Employment & Wages (QCEW)

Tool Description
get_county_employment Get quarterly employment data for a US county by FIPS code
get_county_wages Get county wage snapshot with location quotients vs. national average

Occupation Wages (OEWS)

Tool Description
search_occupations Find BLS occupations by name or SOC group
get_occupation_wages Get occupation wage data — mean, median, and percentile distribution

Labor Market Turnover (JOLTS)

Tool Description
get_industry_turnover Get job openings, hires, quits, and layoffs for an industry
get_state_turnover Get state-level labor market turnover (total nonfarm)
get_regional_turnover Get turnover data for a Census region (Northeast, South, Midwest, West)

BLS Discovery

Tool Description
explore_bls_metrics Browse available BLS metrics by category, source, or keyword

Configuration

Variable Required Description
THESMA_API_KEY Yes API key from portal.thesma.dev
THESMA_API_URL No Override API base URL (default: https://api.thesma.dev)

Data coverage

  • ~3,000 US public companies — about 98% of the investable US equity market by market cap
  • SEC EDGAR: financial statements (2009-present), insider trades, institutional holdings, executive compensation, board data, corporate events, filings
  • Bureau of Labor Statistics: industry employment (CES), county wages (QCEW), occupation wages (OEWS), job openings and turnover (JOLTS)
  • Labor market enrichment: get_company automatically includes BLS labor context; screen_companies supports labor market filters
  • All data sourced from US federal public-domain sources: SEC EDGAR, US Census Bureau, Bureau of Labor Statistics

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thesma_mcp-0.9.0.2.tar.gz (75.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thesma_mcp-0.9.0.2-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file thesma_mcp-0.9.0.2.tar.gz.

File metadata

  • Download URL: thesma_mcp-0.9.0.2.tar.gz
  • Upload date:
  • Size: 75.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for thesma_mcp-0.9.0.2.tar.gz
Algorithm Hash digest
SHA256 da1c8685d1ddd5a40d086fd29d42c562ad9ee1bfadeb2800e0750b101dcbe09f
MD5 24b0a0ee7601dcb52fa6e9fdcac8c96d
BLAKE2b-256 421ee281eeb678c9d567b53d027ff3b224f1c39f7ef4e734af0c992712757d52

See more details on using hashes here.

Provenance

The following attestation bundles were made for thesma_mcp-0.9.0.2.tar.gz:

Publisher: publish.yml on thesma-dev/thesma-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file thesma_mcp-0.9.0.2-py3-none-any.whl.

File metadata

  • Download URL: thesma_mcp-0.9.0.2-py3-none-any.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for thesma_mcp-0.9.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe1fd304521d1ccbc483c6952e1e6ede3a878442c5dd5c78a2431b8974d0776c
MD5 15dd983911776474c4fc5d9144a70221
BLAKE2b-256 90f065f1761f41c8ceeac7bfd4b7de7d22fa775aa7f3b7637f2dcd8dec071470

See more details on using hashes here.

Provenance

The following attestation bundles were made for thesma_mcp-0.9.0.2-py3-none-any.whl:

Publisher: publish.yml on thesma-dev/thesma-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page