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.
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 installinstead ofuvx? If you've already installedthesma-mcpwith pip, you can use"command": "thesma-mcp"directly (noargsneeded) instead ofuvx.
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, ticker, index tier, exchange, or domicile |
get_company |
Get company details — CIK, SIC code, fiscal year end, index membership, exchange, domicile |
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, index tier, SIC, exchange, domicile, insider/institutional signals, labor market |
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) |
Local Area Unemployment (LAUS)
| Tool | Description |
|---|---|
get_county_unemployment |
Get monthly unemployment rate, labor force, and employment for a US county (never seasonally adjusted) |
compare_county_unemployment |
Compare unemployment metrics across up to 10 counties in a single period |
get_state_unemployment |
Get monthly state unemployment with labor force participation rate and employment-population ratio (SA or NSA) |
compare_state_unemployment |
Compare unemployment metrics across up to 10 states in a single period |
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), local unemployment (LAUS)
- Labor market enrichment:
get_companyautomatically includes BLS labor context;screen_companiessupports 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thesma_mcp-0.9.0.5.tar.gz.
File metadata
- Download URL: thesma_mcp-0.9.0.5.tar.gz
- Upload date:
- Size: 96.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46f3df6c9758eeea2bc3cd592b7d66e7b8ad1746c713cd6499a9a65d1ca3d8e1
|
|
| MD5 |
48cd7cecf8405ad49dcca2d7c5f72567
|
|
| BLAKE2b-256 |
73242d5e0511a9615ccb632da11ef0ba1ca6bb11db3cf2820a12be591bde4035
|
Provenance
The following attestation bundles were made for thesma_mcp-0.9.0.5.tar.gz:
Publisher:
publish.yml on thesma-dev/thesma-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thesma_mcp-0.9.0.5.tar.gz -
Subject digest:
46f3df6c9758eeea2bc3cd592b7d66e7b8ad1746c713cd6499a9a65d1ca3d8e1 - Sigstore transparency entry: 1338571292
- Sigstore integration time:
-
Permalink:
thesma-dev/thesma-mcp@af9c1b7911f82d1644d1c41ab2ce4797462f7854 -
Branch / Tag:
refs/tags/v0.9.0.5 - Owner: https://github.com/thesma-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@af9c1b7911f82d1644d1c41ab2ce4797462f7854 -
Trigger Event:
push
-
Statement type:
File details
Details for the file thesma_mcp-0.9.0.5-py3-none-any.whl.
File metadata
- Download URL: thesma_mcp-0.9.0.5-py3-none-any.whl
- Upload date:
- Size: 61.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e8575d03fad6c41fa286c7b8df09429ff0e972100d53630719bfdbe47689d16
|
|
| MD5 |
96cd872ae1c2dc43be70889d53db1b55
|
|
| BLAKE2b-256 |
718d1024e90d7fe12aa22b7558954e2cf98a70713f74d371472801b0f2e2de57
|
Provenance
The following attestation bundles were made for thesma_mcp-0.9.0.5-py3-none-any.whl:
Publisher:
publish.yml on thesma-dev/thesma-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thesma_mcp-0.9.0.5-py3-none-any.whl -
Subject digest:
1e8575d03fad6c41fa286c7b8df09429ff0e972100d53630719bfdbe47689d16 - Sigstore transparency entry: 1338571294
- Sigstore integration time:
-
Permalink:
thesma-dev/thesma-mcp@af9c1b7911f82d1644d1c41ab2ce4797462f7854 -
Branch / Tag:
refs/tags/v0.9.0.5 - Owner: https://github.com/thesma-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@af9c1b7911f82d1644d1c41ab2ce4797462f7854 -
Trigger Event:
push
-
Statement type: