US government + SEC data as clean JSON: SAM.gov, USAspending, Grants.gov, Congress, SEC filings.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Schedule 13D/13G filings, the disclosure anyone crossing 5% of a company's voting stock must make. A 13D signals possible activist intent; a 13G is a passive large holder. Each record has the issuer, CUSIP, reporting person(s), and exact percent of class. Pass identifier='latest' for the market-wide feed of new >5% stakes, or a ticker for the stakes indexed on that company.
'latest' for the market-wide >5% feed, or a US ticker (e.g. 'AAPL') for stakes indexed on that company.
Number of filings, 1-100 (default 40).
For 'latest': minimum percent of class (default 0).
For 'latest': keep only 13D (activist-intent) filings (default false).
Schedule 13D/13G filings, the disclosure anyone crossing 5% of a company's voting stock must make. A 13D signals possible activist intent; a 13G is a passive large holder. Each record has the issuer, CUSIP, reporting person(s), and exact percent of class. Pass identifier='latest' for the market-wide feed of new >5% stakes, or a ticker for the stakes indexed on that company.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of filings, 1-100 (default 40). |
| identifier* | string | 'latest' for the market-wide >5% feed, or a US ticker (e.g. 'AAPL') for stakes indexed on that company. |
| min_percent | number | For 'latest': minimum percent of class (default 0). |
| activist_only | boolean | For 'latest': keep only 13D (activist-intent) filings (default false). |
{
"type": "object",
"required": [
"identifier"
],
"properties": {
"limit": {
"type": "integer",
"description": "Number of filings, 1-100 (default 40)."
},
"identifier": {
"type": "string",
"description": "'latest' for the market-wide >5% feed, or a US ticker (e.g. 'AAPL') for stakes indexed on that company."
},
"min_percent": {
"type": "number",
"description": "For 'latest': minimum percent of class (default 0)."
},
"activist_only": {
"type": "boolean",
"description": "For 'latest': keep only 13D (activist-intent) filings (default false)."
}
}
}Federal spending awards from USAspending.gov — contracts, grants, loans, and direct payments — normalized into flat JSON. Each carries the award id, recipient, amount, awarding agency, type, dates, place of performance, description, and the usaspending.gov link. Pick one category per call; leave dates off for the last year. Pairs with get_opportunities: the SAM solicitation, then who won the awards here.
| Argument | Type | Description |
|---|---|---|
| end | string | Action-date end, YYYY-MM-DD (default: today). |
| page | integer | Page number (default 1). |
| limit | integer | Records to return, 1-100 (default 20). |
| start | string | Action-date start, YYYY-MM-DD (default: 1 year ago). |
| state | string | Place-of-performance state, e.g. 'CA'. |
| agency | string | Awarding agency, top-tier exact name, e.g. 'Department of Defense'. |
| keyword | string | Full-text keyword filter. |
| category | string | contracts (default), idvs, grants, loans, direct_payments, or other. |
CIK, legal name, SIC industry, fiscal-year end, exchanges and website for a ticker, resolved from SEC EDGAR submissions.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Congressional stock trades parsed from US House STOCK Act periodic transaction reports, normalized to flat JSON: member, state/district, ticker, buy or sell, the disclosed dollar range, transaction and disclosure dates, and a House disclosure PDF link. Pass a ticker for one stock, or omit it for the recent feed. House-only for now (Senate coming); amounts are ranges and disclosure lags the trade by up to 45 days.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Trades to return, 1-100 (default 40). |
| action | string | Filter the feed to 'buy' or 'sell'. |
| ticker | string | Stock ticker for one-stock history, e.g. 'NVDA'. Omit for the recent feed. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Trades to return, 1-100 (default 40)."
},
"action": {
"type": "string",
"description": "Filter the feed to 'buy' or 'sell'."
},
"ticker": {
"type": "string",
"description": "Stock ticker for one-stock history, e.g. 'NVDA'. Omit for the recent feed."
}
}
}8-K material events for a ticker as typed items (2.02 earnings, 5.02 executive change, 1.05 cybersecurity incident, 2.01 acquisition, etc.), each with a notable flag for the market-moving ones and a link to the filing. Pass item to filter to one event type (e.g. '4.02' for every restatement a company filed). Pass ticker='restatements' or 'auditor-changes' for the market-wide red-flag feed of recent item 4.02 / 4.01 8-Ks across all filers.
| Argument | Type | Description |
|---|---|---|
| days | integer | For the market-wide feeds: lookback window in days (default 45). |
| item | string | Filter to a specific 8-K item code, or comma-separated codes, e.g. '4.02' (restatement) or '5.02,2.02'. |
| limit | integer | Number of events, 1-100 (default 20; 50 for feeds). |
| ticker* | string | US stock ticker (e.g. 'AAPL'), or 'restatements' / 'auditor-changes' for the market-wide item feed. |
| notable | boolean | Only market-moving events (default false). |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"description": "For the market-wide feeds: lookback window in days (default 45)."
},
"item": {
"type": "string",
"description": "Filter to a specific 8-K item code, or comma-separated codes, e.g. '4.02' (restatement) or '5.02,2.02'."
},
"limit": {
"type": "integer",
"description": "Number of events, 1-100 (default 20; 50 for feeds)."
},
"ticker": {
"type": "string",
"description": "US stock ticker (e.g. 'AAPL'), or 'restatements' / 'auditor-changes' for the market-wide item feed."
},
"notable": {
"type": "boolean",
"description": "Only market-moving events (default false)."
}
}
}Recent SEC filings for a ticker (10-K/10-Q/8-K) with filing/report dates and document links.
| Argument | Type | Description |
|---|---|---|
| form | string | Optional form filter, e.g. '10-K', '10-Q', '8-K'. |
| limit | integer | Number of filings to return, 1-100 (default 20). |
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"form": {
"type": "string",
"description": "Optional form filter, e.g. '10-K', '10-Q', '8-K'."
},
"limit": {
"type": "integer",
"description": "Number of filings to return, 1-100 (default 20)."
},
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Parsed Form D notices — the filing a company makes when it raises money in a private placement under a Regulation D exemption. Each carries the issuer, jurisdiction, industry, amount offered and sold, the exemption, related persons, and date of first sale. Pass a CIK (or ticker if public) for one issuer, or 'latest' for the market-wide feed of new private raises.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of notices, 1-100 (default 20 for latest, 10 per issuer). |
| identifier* | string | Issuer CIK (Form D issuers are usually private), a ticker if public, or 'latest' for the market-wide feed. |
{
"type": "object",
"required": [
"identifier"
],
"properties": {
"limit": {
"type": "integer",
"description": "Number of notices, 1-100 (default 20 for latest, 10 per issuer)."
},
"identifier": {
"type": "string",
"description": "Issuer CIK (Form D issuers are usually private), a ticker if public, or 'latest' for the market-wide feed."
}
}
}Normalized income statement, balance sheet, and cash flow for a US-listed ticker, parsed from SEC EDGAR XBRL. Counts as one request on the Edgrapi plan.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Number of periods to return, 1-20 (default 5). |
| period | string | Reporting period (default annual). |
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"limit": {
"type": "integer",
"description": "Number of periods to return, 1-20 (default 5)."
},
"period": {
"enum": [
"annual",
"quarterly"
],
"type": "string",
"description": "Reporting period (default annual)."
},
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Federal grant funding opportunities from Grants.gov, normalized into flat JSON. Each carries the opportunity id and number, title, agency, status, open and close dates, the Assistance Listing (CFDA) numbers, and the grants.gov link. Defaults to open opportunities (posted + forecasted). Completes the gov-funding trio with get_opportunities (contracts) and get_awards (spending).
| Argument | Type | Description |
|---|---|---|
| aln | string | Assistance Listing (CFDA) number, e.g. '93.217'. |
| limit | integer | Records to return, 1-100 (default 20). |
| agency | string | Agency code filter, e.g. 'HHS-OPHS'. |
| offset | integer | Start record number (default 0). |
| status | string | Pipe/comma list of forecasted, posted, closed, archived (default posted|forecasted). |
| keyword | string | Full-text keyword filter. |
| category | string | Funding category code, e.g. 'HL' (health). |
{
"type": "object",
"properties": {
"aln": {
"type": "string",
"description": "Assistance Listing (CFDA) number, e.g. '93.217'."
},
"limit": {
"type": "integer",
"description": "Records to return, 1-100 (default 20)."
},
"agency": {
"type": "string",
"description": "Agency code filter, e.g. 'HHS-OPHS'."
},
"offset": {
"type": "integer",
"description": "Start record number (default 0)."
},
"status": {
"type": "string",
"description": "Pipe/comma list of forecasted, posted, closed, archived (default posted|forecasted)."
},
"keyword": {
"type": "string",
"description": "Full-text keyword filter."
},
"category": {
"type": "string",
"description": "Funding category code, e.g. 'HL' (health)."
}
}
}A fund's latest 13F portfolio parsed from the SEC information table: every position ranked by value, aggregated by CUSIP across sub-managers, options flagged put/call, and diffed against the prior quarter (new / added / reduced / exited). Identify the fund by a known name (berkshire, burry, ackman, bridgewater, citadel), a CIK, or a filer ticker (BRK-B).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max positions, 1-500 (default 50). |
| changes | boolean | Diff vs the prior quarter (default true). |
| identifier* | string | Fund name (e.g. 'berkshire', 'burry', 'pershing-square'), a CIK, or a ticker whose company files the 13F (e.g. BRK-B). |
{
"type": "object",
"required": [
"identifier"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max positions, 1-500 (default 50)."
},
"changes": {
"type": "boolean",
"description": "Diff vs the prior quarter (default true)."
},
"identifier": {
"type": "string",
"description": "Fund name (e.g. 'berkshire', 'burry', 'pershing-square'), a CIK, or a ticker whose company files the 13F (e.g. BRK-B)."
}
}
}Parsed SEC Form 4 insider trades for a ticker: owner, role, transaction code (P open-market purchase, S sale, A award, M exercise, F tax withholding), shares, price, dollar value, and a 10b5-1 plan flag. Code P is the only own-money buy signal; A/M/F are automatic compensation. Set form=3/5 for holdings statements or form=144 for notices of proposed sale (an intent-to-sell signal that precedes the Form 4). Pass ticker='latest' for the market-wide feed of the biggest open-market buys, or ticker='clusters' for companies where several insiders bought at once.
| Argument | Type | Description |
|---|---|---|
| days | integer | For 'clusters': lookback window in days (default 15). |
| form | string | Ownership form: 4 (trades, default), 3 (initial holdings), 5 (annual), or 144 (notice of proposed sale — an intent-to-sell signal that precedes the Form 4). |
| limit | integer | Number of results, 1-100 (default 20). |
| ticker* | string | US stock ticker (e.g. 'AAPL'), 'latest' for market-wide buys, or 'clusters' for cluster buys. |
| min_insiders | integer | For 'clusters': min distinct insiders (default 3). |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"days": {
"type": "integer",
"description": "For 'clusters': lookback window in days (default 15)."
},
"form": {
"enum": [
"3",
"4",
"5",
"144"
],
"type": "string",
"description": "Ownership form: 4 (trades, default), 3 (initial holdings), 5 (annual), or 144 (notice of proposed sale — an intent-to-sell signal that precedes the Form 4)."
},
"limit": {
"type": "integer",
"description": "Number of results, 1-100 (default 20)."
},
"ticker": {
"type": "string",
"description": "US stock ticker (e.g. 'AAPL'), 'latest' for market-wide buys, or 'clusters' for cluster buys."
},
"min_insiders": {
"type": "integer",
"description": "For 'clusters': min distinct insiders (default 3)."
}
}
}Federal contract opportunities from SAM.gov — solicitations, presolicitations, sources-sought, and award notices — normalized into flat JSON. Each carries the notice id, title, solicitation number, posted date, type, set-aside, NAICS, place of performance, award (when present), a point of contact, and the sam.gov link. Leave the dates off for the recent feed; SAM caps a query window at one year.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return, 1-200 (default 20). |
| naics | string | NAICS code filter, up to 6 digits, e.g. '541519'. |
| ptype | string | Procurement type: o solicitation, p presolicitation, a award, etc. |
| state | string | Place-of-performance state, e.g. 'TX'. |
| title | string | Match on opportunity title. |
| offset | integer | Pagination offset (default 0). |
| posted_to | string | Posted-date end, YYYY-MM-DD (default: today). |
| set_aside | string | Set-aside code, e.g. 'SBA', '8A', 'WOSB', 'HZC'. |
Margins, returns (ROE/ROA), leverage and liquidity ratios for a ticker, derived from SEC EDGAR fundamentals, plus per-share figures (eps_diluted, book_value_per_share, shares_outstanding). Price-based ratios (P/E, P/B) aren't returned because EDGAR has no market price; divide your own price by the per-share figures.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Narrative sections from the latest 10-K/10-Q as clean text — Risk Factors (item 1A), MD&A (item 7), Business (item 1), etc. Built for LLM/RAG equity research. Omit 'item' to list the available sections first.
| Argument | Type | Description |
|---|---|---|
| form | string | Filing type: '10-K' (default) or '10-Q'. |
| item | string | Section to fetch, e.g. '1A' (Risk Factors) or '7' (MD&A). Omit to list available sections. |
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"form": {
"type": "string",
"description": "Filing type: '10-K' (default) or '10-Q'."
},
"item": {
"type": "string",
"description": "Section to fetch, e.g. '1A' (Risk Factors) or '7' (MD&A). Omit to list available sections."
},
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Common shares outstanding (latest + history) and public float for a ticker, from the SEC XBRL cover-page tags. Shares outstanding updates every 10-Q/10-K; public float is reported on the 10-K cover. The inputs for market-cap and free-float math.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | US stock ticker, e.g. 'AAPL'. |
| history | boolean | Include the full reported history (default false). |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"history": {
"type": "boolean",
"description": "Include the full reported history (default false)."
}
}
}The company's subsidiaries and their jurisdictions of incorporation, parsed from Exhibit 21 of its latest 10-K. Best-effort parse of an HTML exhibit; empty for filers that list only significant subsidiaries or file no Exhibit 21.
| Argument | Type | Description |
|---|---|---|
| ticker* | string | US stock ticker or CIK, e.g. 'AAPL'. |
{
"type": "object",
"required": [
"ticker"
],
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker or CIK, e.g. 'AAPL'."
}
}
}The full XBRL-to-JSON converter. By default returns a company's normalized income statement, balance sheet and cash flow across every reported period, plus a concept index of every us-gaap/dei tag it reports. Pass `concept` to pull the raw time series for any specific tag(s) beyond the curated fundamentals; pass `accession` for every concept reported in one specific filing.
| Argument | Type | Description |
|---|---|---|
| cik | string | SEC CIK, alternative to ticker. |
| limit | integer | Max periods per statement, 1-100 (default 40). |
| period | string | Statement period (default annual). |
| ticker | string | US stock ticker, e.g. 'AAPL'. |
| concept | string | Comma-separated us-gaap/dei tag(s) to return the raw series for, e.g. 'Revenues,Assets'. Omit for normalized statements + concept index. |
| accession | string | An accession (e.g. '0000320193-24-000123') to return every XBRL concept reported in that one filing. Overrides ticker/concept. |
{
"type": "object",
"properties": {
"cik": {
"type": "string",
"description": "SEC CIK, alternative to ticker."
},
"limit": {
"type": "integer",
"description": "Max periods per statement, 1-100 (default 40)."
},
"period": {
"enum": [
"annual",
"quarterly"
],
"type": "string",
"description": "Statement period (default annual)."
},
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"concept": {
"type": "string",
"description": "Comma-separated us-gaap/dei tag(s) to return the raw series for, e.g. 'Revenues,Assets'. Omit for normalized statements + concept index."
},
"accession": {
"type": "string",
"description": "An accession (e.g. '0000320193-24-000123') to return every XBRL concept reported in that one filing. Overrides ticker/concept."
}
}
}Map any one of a ticker, CIK, or CUSIP to the canonical SEC entity: legal name, CIK, ticker(s), exchange, SIC industry and sector, state of incorporation, and location. The foundational lookup for identifying a filer.
| Argument | Type | Description |
|---|---|---|
| cik | string | SEC CIK, e.g. '320193' (zero-padding optional). |
| cusip | string | 9-character CUSIP, e.g. '037833100'. |
| ticker | string | US stock ticker, e.g. 'AAPL'. |
{
"type": "object",
"properties": {
"cik": {
"type": "string",
"description": "SEC CIK, e.g. '320193' (zero-padding optional)."
},
"cusip": {
"type": "string",
"description": "9-character CUSIP, e.g. '037833100'."
},
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
}
}Search the full text of every SEC filing since 2001 (the EDGAR full-text index). Returns matching filing documents with company, form, date, 8-K item codes, and a SEC.gov link. Quote a phrase for exact match; filter by form and date range.
| Argument | Type | Description |
|---|---|---|
| q* | string | Search query. Quote a phrase ("climate change") for an exact match; space-separated terms are ANDed. |
| enddt | string | Only filings on/before this date, YYYY-MM-DD. |
| forms | string | Comma-separated form filter, e.g. '8-K' or '10-K,10-Q'. |
| limit | integer | Results to return, 1-100 (default 20). |
| offset | integer | Pagination offset into the result set (default 0). |
| startdt | string | Only filings on/after this date, YYYY-MM-DD. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query. Quote a phrase (\"climate change\") for an exact match; space-separated terms are ANDed."
},
"enddt": {
"type": "string",
"description": "Only filings on/before this date, YYYY-MM-DD."
},
"forms": {
"type": "string",
"description": "Comma-separated form filter, e.g. '8-K' or '10-K,10-Q'."
},
"limit": {
"type": "integer",
"description": "Results to return, 1-100 (default 20)."
},
"offset": {
"type": "integer",
"description": "Pagination offset into the result set (default 0)."
},
"startdt": {
"type": "string",
"description": "Only filings on/after this date, YYYY-MM-DD."
}
}
}| recipient |
| string |
| Recipient name search, e.g. 'Lockheed'. |
{
"type": "object",
"properties": {
"end": {
"type": "string",
"description": "Action-date end, YYYY-MM-DD (default: today)."
},
"page": {
"type": "integer",
"description": "Page number (default 1)."
},
"limit": {
"type": "integer",
"description": "Records to return, 1-100 (default 20)."
},
"start": {
"type": "string",
"description": "Action-date start, YYYY-MM-DD (default: 1 year ago)."
},
"state": {
"type": "string",
"description": "Place-of-performance state, e.g. 'CA'."
},
"agency": {
"type": "string",
"description": "Awarding agency, top-tier exact name, e.g. 'Department of Defense'."
},
"keyword": {
"type": "string",
"description": "Full-text keyword filter."
},
"category": {
"type": "string",
"description": "contracts (default), idvs, grants, loans, direct_payments, or other."
},
"recipient": {
"type": "string",
"description": "Recipient name search, e.g. 'Lockheed'."
}
}
}| posted_from |
| string |
| Posted-date start, YYYY-MM-DD (default: 30 days ago). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Records to return, 1-200 (default 20)."
},
"naics": {
"type": "string",
"description": "NAICS code filter, up to 6 digits, e.g. '541519'."
},
"ptype": {
"type": "string",
"description": "Procurement type: o solicitation, p presolicitation, a award, etc."
},
"state": {
"type": "string",
"description": "Place-of-performance state, e.g. 'TX'."
},
"title": {
"type": "string",
"description": "Match on opportunity title."
},
"offset": {
"type": "integer",
"description": "Pagination offset (default 0)."
},
"posted_to": {
"type": "string",
"description": "Posted-date end, YYYY-MM-DD (default: today)."
},
"set_aside": {
"type": "string",
"description": "Set-aside code, e.g. 'SBA', '8A', 'WOSB', 'HZC'."
},
"posted_from": {
"type": "string",
"description": "Posted-date start, YYYY-MM-DD (default: 30 days ago)."
}
}
}