edgrapi-skills
US government + SEC data as clean JSON: SAM.gov, USAspending, Grants.gov, Congress, SEC filings.
我该使用它吗
质量与安全性
发现(4)
- LOW在 get_ratios 中
- LOW在 get_company 中
- LOW在 get_filings 中
- LOW在 resolve_entity 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"edgrapi-skills": {
"url": "https://api.edgrapi.com/mcp"
}
}
}远程端点
https://api.edgrapi.com/mcpstreamable-http它能做什么
工具清单
工具(19)
🟢get_fundamentals(ticker, period, limit)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"period": {
"type": "string",
"description": "Reporting period (default annual).",
"enum": [
"annual",
"quarterly"
]
},
"limit": {
"type": "integer",
"description": "Number of periods to return, 1-20 (default 5)."
}
},
"required": [
"ticker"
]
}🟢get_ratios(ticker)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
},
"required": [
"ticker"
]
}🟢get_company(ticker)
CIK, legal name, SIC industry, fiscal-year end, exchanges and website for a ticker, resolved from SEC EDGAR submissions.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
}
},
"required": [
"ticker"
]
}🟢get_filings(ticker, limit, form)
Recent SEC filings for a ticker (10-K/10-Q/8-K) with filing/report dates and document links.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"limit": {
"type": "integer",
"description": "Number of filings to return, 1-100 (default 20)."
},
"form": {
"type": "string",
"description": "Optional form filter, e.g. '10-K', '10-Q', '8-K'."
}
},
"required": [
"ticker"
]
}🟢get_sections(ticker, form, item)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"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."
}
},
"required": [
"ticker"
]
}🟢get_insider(ticker, limit, form, days, min_insiders)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker (e.g. 'AAPL'), 'latest' for market-wide buys, or 'clusters' for cluster buys."
},
"limit": {
"type": "integer",
"description": "Number of results, 1-100 (default 20)."
},
"form": {
"type": "string",
"enum": [
"3",
"4",
"5",
"144"
],
"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)."
},
"days": {
"type": "integer",
"description": "For 'clusters': lookback window in days (default 15)."
},
"min_insiders": {
"type": "integer",
"description": "For 'clusters': min distinct insiders (default 3)."
}
},
"required": [
"ticker"
]
}🟢get_events(ticker, limit, notable, item, days)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker (e.g. 'AAPL'), or 'restatements' / 'auditor-changes' for the market-wide item feed."
},
"limit": {
"type": "integer",
"description": "Number of events, 1-100 (default 20; 50 for feeds)."
},
"notable": {
"type": "boolean",
"description": "Only market-moving events (default false)."
},
"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'."
},
"days": {
"type": "integer",
"description": "For the market-wide feeds: lookback window in days (default 45)."
}
},
"required": [
"ticker"
]
}🟢get_holdings(identifier, limit, changes)
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).
输入模式
{
"type": "object",
"properties": {
"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)."
},
"limit": {
"type": "integer",
"description": "Max positions, 1-500 (default 50)."
},
"changes": {
"type": "boolean",
"description": "Diff vs the prior quarter (default true)."
}
},
"required": [
"identifier"
]
}🟢get_activist(identifier, activist_only, min_percent, limit)
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.
输入模式
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "'latest' for the market-wide >5% feed, or a US ticker (e.g. 'AAPL') for stakes indexed on that company."
},
"activist_only": {
"type": "boolean",
"description": "For 'latest': keep only 13D (activist-intent) filings (default false)."
},
"min_percent": {
"type": "number",
"description": "For 'latest': minimum percent of class (default 0)."
},
"limit": {
"type": "integer",
"description": "Number of filings, 1-100 (default 40)."
}
},
"required": [
"identifier"
]
}🟢resolve_entity(ticker, cik, cusip)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"cik": {
"type": "string",
"description": "SEC CIK, e.g. '320193' (zero-padding optional)."
},
"cusip": {
"type": "string",
"description": "9-character CUSIP, e.g. '037833100'."
}
}
}🟢search_filings(q, forms, startdt, enddt, limit, ...)
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.
输入模式
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Search query. Quote a phrase (\"climate change\") for an exact match; space-separated terms are ANDed."
},
"forms": {
"type": "string",
"description": "Comma-separated form filter, e.g. '8-K' or '10-K,10-Q'."
},
"startdt": {
"type": "string",
"description": "Only filings on/after this date, YYYY-MM-DD."
},
"enddt": {
"type": "string",
"description": "Only filings on/before this date, YYYY-MM-DD."
},
"limit": {
"type": "integer",
"description": "Results to return, 1-100 (default 20)."
},
"offset": {
"type": "integer",
"description": "Pagination offset into the result set (default 0)."
}
},
"required": [
"q"
]
}🟢get_xbrl(ticker, cik, concept, accession, period, ...)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"cik": {
"type": "string",
"description": "SEC CIK, alternative to ticker."
},
"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."
},
"period": {
"type": "string",
"enum": [
"annual",
"quarterly"
],
"description": "Statement period (default annual)."
},
"limit": {
"type": "integer",
"description": "Max periods per statement, 1-100 (default 40)."
}
}
}🟢get_shares(ticker, history)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker, e.g. 'AAPL'."
},
"history": {
"type": "boolean",
"description": "Include the full reported history (default false)."
}
},
"required": [
"ticker"
]
}🟢get_form_d(identifier, limit)
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.
输入模式
{
"type": "object",
"properties": {
"identifier": {
"type": "string",
"description": "Issuer CIK (Form D issuers are usually private), a ticker if public, or 'latest' for the market-wide feed."
},
"limit": {
"type": "integer",
"description": "Number of notices, 1-100 (default 20 for latest, 10 per issuer)."
}
},
"required": [
"identifier"
]
}🟢get_subsidiaries(ticker)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "US stock ticker or CIK, e.g. 'AAPL'."
}
},
"required": [
"ticker"
]
}🟢get_opportunities(posted_from, posted_to, naics, ptype, state, ...)
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.
输入模式
{
"type": "object",
"properties": {
"posted_from": {
"type": "string",
"description": "Posted-date start, YYYY-MM-DD (default: 30 days ago)."
},
"posted_to": {
"type": "string",
"description": "Posted-date end, YYYY-MM-DD (default: today)."
},
"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'."
},
"set_aside": {
"type": "string",
"description": "Set-aside code, e.g. 'SBA', '8A', 'WOSB', 'HZC'."
},
"title": {
"type": "string",
"description": "Match on opportunity title."
},
"limit": {
"type": "integer",
"description": "Records to return, 1-200 (default 20)."
},
"offset": {
"type": "integer",
"description": "Pagination offset (default 0)."
}
}
}🟢get_awards(category, keyword, agency, recipient, state, ...)
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.
输入模式
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "contracts (default), idvs, grants, loans, direct_payments, or other."
},
"keyword": {
"type": "string",
"description": "Full-text keyword filter."
},
"agency": {
"type": "string",
"description": "Awarding agency, top-tier exact name, e.g. 'Department of Defense'."
},
"recipient": {
"type": "string",
"description": "Recipient name search, e.g. 'Lockheed'."
},
"state": {
"type": "string",
"description": "Place-of-performance state, e.g. 'CA'."
},
"start": {
"type": "string",
"description": "Action-date start, YYYY-MM-DD (default: 1 year ago)."
},
"end": {
"type": "string",
"description": "Action-date end, YYYY-MM-DD (default: today)."
},
"limit": {
"type": "integer",
"description": "Records to return, 1-100 (default 20)."
},
"page": {
"type": "integer",
"description": "Page number (default 1)."
}
}
}🟢get_grants(keyword, status, agency, category, aln, ...)
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).
输入模式
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "Full-text keyword filter."
},
"status": {
"type": "string",
"description": "Pipe/comma list of forecasted, posted, closed, archived (default posted|forecasted)."
},
"agency": {
"type": "string",
"description": "Agency code filter, e.g. 'HHS-OPHS'."
},
"category": {
"type": "string",
"description": "Funding category code, e.g. 'HL' (health)."
},
"aln": {
"type": "string",
"description": "Assistance Listing (CFDA) number, e.g. '93.217'."
},
"limit": {
"type": "integer",
"description": "Records to return, 1-100 (default 20)."
},
"offset": {
"type": "integer",
"description": "Start record number (default 0)."
}
}
}🟢get_congress(ticker, action, limit)
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.
输入模式
{
"type": "object",
"properties": {
"ticker": {
"type": "string",
"description": "Stock ticker for one-stock history, e.g. 'NVDA'. Omit for the recent feed."
},
"action": {
"type": "string",
"description": "Filter the feed to 'buy' or 'sell'."
},
"limit": {
"type": "integer",
"description": "Trades to return, 1-100 (default 40)."
}
}
}社区
证据