io.github.paperandbeyond23-gif/edgrapi-skills
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
US government + SEC data as clean JSON: SAM.gov, USAspending, Grants.gov, Congress, SEC filings.
| Author | io.github.paperandbeyond23-gif |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 182 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"edgrapi-skills": {
"url": "https://api.edgrapi.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (19)
get_fundamentalsread-onlyNormalized 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.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.limit— integer — Number of periods to return, 1-20 (default 5).period— string — Reporting period (default annual).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_ratiosread-onlyMargins, 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.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_companyread-onlyCIK, legal name, SIC industry, fiscal-year end, exchanges and website for a ticker, resolved from SEC EDGAR submissions.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_filingsread-onlyRecent SEC filings for a ticker (10-K/10-Q/8-K) with filing/report dates and document links.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.form— string — Optional form filter, e.g. '10-K', '10-Q', '8-K'.limit— integer — Number of filings to return, 1-100 (default 20).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_sectionsread-onlyNarrative 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.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_insiderread-onlyParsed 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.
Parameters:
ticker(required) — string — US stock ticker (e.g. 'AAPL'), 'latest' for market-wide buys, or 'clusters' for cluster buys.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).min_insiders— integer — For 'clusters': min distinct insiders (default 3).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_eventsread-only8-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.
Parameters:
ticker(required) — string — US stock ticker (e.g. 'AAPL'), or 'restatements' / 'auditor-changes' for the market-wide item feed.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).notable— boolean — Only market-moving events (default false).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_holdingsread-onlyA 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).
Parameters:
identifier(required) — string — Fund name (e.g. 'berkshire', 'burry', 'pershing-square'), a CIK, or a ticker whose company files the 13F (e.g. BRK-B).limit— integer — Max positions, 1-500 (default 50).changes— boolean — Diff vs the prior quarter (default true).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_activistread-onlySchedule 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.
Parameters:
identifier(required) — string — 'latest' for the market-wide >5% feed, or a US ticker (e.g. 'AAPL') for stakes indexed on that company.limit— integer — Number of filings, 1-100 (default 40).min_percent— number — For 'latest': minimum percent of class (default 0).activist_only— boolean — For 'latest': keep only 13D (activist-intent) filings (default false).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
resolve_entityread-onlyMap 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.
Parameters:
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'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
search_filingsread-onlySearch 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.
Parameters:
q(required) — 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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_xbrlread-onlyThe 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.
Parameters:
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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_sharesread-onlyCommon 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.
Parameters:
ticker(required) — string — US stock ticker, e.g. 'AAPL'.history— boolean — Include the full reported history (default false).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_form_dread-onlyParsed 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.
Parameters:
identifier(required) — string — Issuer CIK (Form D issuers are usually private), a ticker if public, or 'latest' for the market-wide feed.limit— integer — Number of notices, 1-100 (default 20 for latest, 10 per issuer).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_subsidiariesread-onlyThe 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.
Parameters:
ticker(required) — string — US stock ticker or CIK, e.g. 'AAPL'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_opportunitiesread-onlyFederal 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.
Parameters:
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'.posted_from— string — Posted-date start, YYYY-MM-DD (default: 30 days ago).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_awardsread-onlyFederal 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.
Parameters:
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.recipient— string — Recipient name search, e.g. 'Lockheed'.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_grantsread-onlyFederal 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).
Parameters:
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).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_congressread-onlyCongressional 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.
Parameters:
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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.