Edgrapi Skills

io.github.paperandbeyond23-gifPublished by GitHub account paperandbeyond23-gifv1.3.1Updated Oct 27, 2026

US government + SEC data as clean JSON: SAM.gov, USAspending, Grants.gov, Congress, SEC filings.

The publisher's own server: RestoSignals

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinanceBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server that gives an assistant normalized JSON on SEC EDGAR filings, insider trades, 13F holdings, plus US federal contracts, awards, grants and…

What you can do
  • Look up companies and filings: resolve tickers, CIKs and CUSIPs, list recent 10-K/10-Q/8-K filings, full-text search EDGAR since 2001, and pull narrative sections such as Risk Factors and MD&A
  • Read financials: normalized income statement, balance sheet and cash flow, computed ratios, shares outstanding and public float, and raw XBRL tag time series
  • Track ownership and events: Form 4 insider trades, 13F fund portfolios diffed quarter over quarter, 13D/13G large stakes, and typed 8-K material events
  • Search federal procurement and funding: SAM.gov contract opportunities, USAspending awards, and Grants.gov grant opportunities
  • Retrieve congressional stock trades from US House STOCK Act reports
When to use it
Useful for equity research, due diligence and public-sector market research where an assistant needs SEC fundamentals, filings or ownership data, or federal contract, grant and award data, in one consistent schema instead of raw government feeds.
Requirements
A remote streamable-HTTP endpoint or the Docker image run locally. An Edgrapi API key in EDGRAPI_API_KEY (format edgr_...) is required for tool calls; discovery is open without one. A free tier gives 50 credits, and paid plans or top-ups are available. Network access to the Edgrapi API is needed.
Before you install
Calls consume paid credits weighted per endpoint (1 to 5), so heavy use can exhaust the free tier and require a paid plan. The API key is a secret sent to a third-party service. Data is read-only but comes from third parties: congressional trades cover the US House only, are reported as dollar ranges and lag up to 45 days, and freshness follows each source's cadence.

Installation

In SourceWeft

  1. Open Edgrapi Skills in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.paperandbeyond23-gif%2Fedgrapi-skills/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "edgrapi-skills": {
      "type": "http",
      "url": "https://api.edgrapi.com/mcp"
    }
  }
}

README

edgrapi-skills

US government data for AI agents — five official sources, one key, one JSON schema.

SAM.gov contract opportunities, USAspending awards, Grants.gov funding, US House STOCK Act trades, and SEC EDGAR filings, served as a hosted MCP server plus drop-in Python skills, over the Edgrapi API.

Every one of those sources is free and public. Each also ships its own headache: SAM.gov takes ncode where you'd expect naics and silently ignores unknown filters, its dates are MM/dd/yyyy and its query window caps at a year; USAspending's hasNext goes false at record 10,000 while real rows continue to 50,000; EDGAR gives you XBRL tag drift. Edgrapi normalises all of it into one schema so your agent gets numbers it can trust in one call.

Free to start — grab a key, 50 free credits to start, no card.

Pure Python standard library. No dependencies. MIT-0 licensed.

Fastest path: the hosted MCP server

Nothing to install, no local process. Point any MCP client at one URL:

json
{  "mcpServers": {    "edgrapi": {      "url": "https://api.edgrapi.com/mcp",      "headers": { "Authorization": "Bearer edgr_YOUR_KEY" }    }  }}

Works in Claude Desktop, Claude Code, Cursor and Cline. Transport is streamable-http. Auth is a bearer edgr_ key or OAuth 2.1 with PKCE — the server is its own provider and supports dynamic client registration. Discovery (initialize, tools/list) is open, so you can inspect the full tool list before you have a key; tools/call needs one.

Other ways in

bash
# Python clientpip install edgrapi
# Docker — the MCP server as a containerdocker run -e EDGRAPI_API_KEY=edgr_... ghcr.io/paperandbeyond23-gif/edgrapi-mcp:latest
# Python skills from this repo, via the skills CLInpx skills add paperandbeyond23-gif/edgrapi-skills --allnpx skills add paperandbeyond23-gif/edgrapi-skills --skill edgrapi-full

Also listed in the Official MCP Registry as io.github.paperandbeyond23-gif/edgrapi-skills.

What the MCP server covers

19 tools, all read-only.

SourceToolsCredits
SAM.govget_opportunities — contract opportunities by NAICS, set-aside, state, type2
USAspendingget_awards — contracts, grants, loans, direct payments2
Grants.govget_grants — funding opportunities with CFDA numbers and deadlines2
Congressget_congress — US House STOCK Act stock trades2
SEC EDGARget_insider (Form 4, with cluster-buy detection), get_holdings (13F, diffed quarter-over-quarter), get_activist (13D/G >5% stakes), get_events (typed 8-K), get_fundamentals, get_ratios, get_sections, get_company, get_filings, XBRL-to-JSON, entity resolution, full-text search1–5

For the live list, call tools/list or read the server card — both are generated from the server, so neither goes stale.

Skills in this repo

Drop-in Python, pure standard library. Install all of them or just the one you need.

SkillToolsPurpose
edgrapi-full9Everything below in one skill, across all five sources
edgrapi-gov5SAM.gov opportunities, USAspending awards, Grants.gov, congressional trades
edgrapi-fundamentals2Normalised financial statements + computed ratios
edgrapi-filings2Company profiles + recent 10-K/10-Q/8-K

Authentication

Set EDGRAPI_KEY to your key (format edgr_...). It is sent as the X-API-Key header, and the base URL is hardcoded, so the key never reaches any other host.

bash
export EDGRAPI_KEY="edgr_..."

Get a free key — 50 credits to start, no card. The same key works for the skills, the MCP server and direct REST.

Pricing

Credits are weighted by endpoint, not one per request. Government endpoints cost 2. On the SEC side, company, filings, events, entity resolution and full-text search cost 1; fundamentals, ratios and XBRL cost 3; sections, insider, holdings and activist cost 5. The exact cost of a call comes back in the X-Credits-Cost header.

PlanPriceCredits
Free$050 to start (one-time)
Starter$10/mo10,000 / month
Pro$29/mo30,000 / month
Pro annual$290/yr360,000 up front
Business$99/mo150,000 / month

Top-up packs, one-time and never expiring: 5,000 / $7 · 15,000 / $18 · 50,000 / $55. Paid-plan credits roll over. Full details at https://edgrapi.com/pricing. Also available metered on RapidAPI.

Limits, stated plainly

  • Congressional trades are US House only, reported as dollar ranges, and lag up to 45 days by law.
  • No state or local (SLED) procurement. Federal only.
  • Contract alerts poll daily, not in realtime, so a notice can be up to a day old when it lands.
  • Freshness is each source's own cadence. Edgrapi normalises the official feeds; it does not hold or restate anything.
  • USAspending search cannot reach before 2007-10-01, and EDGAR full-text search covers 2001 onward.

Source

Issues and contributions

See CONTRIBUTING.md. Security reports: SECURITY.md.

License

MIT No Attribution. Fork, ship, sublicense — no attribution required.

Independence

Edgrapi is an independent service, not affiliated with, endorsed by or sponsored by the U.S. Securities and Exchange Commission, the General Services Administration, SAM.gov, USAspending.gov, Grants.gov, or the U.S. House of Representatives. All data originates from those bodies' public systems and is in the public domain.

Source: README.md at commit e7e1b2a

Tools

19

get_fundamentals

Get company financial statements

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.

Parameterslimitperiodtickerrequired

get_ratios

Get computed financial ratios

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.

Parameterstickerrequired

get_company

Get a company profile

CIK, legal name, SIC industry, fiscal-year end, exchanges and website for a ticker, resolved from SEC EDGAR submissions.

Parameterstickerrequired

get_filings

Get recent SEC filings

Recent SEC filings for a ticker (10-K/10-Q/8-K) with filing/report dates and document links.

Parametersformlimittickerrequired

get_sections

Get 10-K/10-Q narrative sections

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.

Parametersformitemtickerrequired

get_insider

Get parsed insider transactions

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.

Parametersdaysformlimittickerrequiredmin_insiders

get_events

Get 8-K material events

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.

Parametersdaysitemlimittickerrequirednotable

get_holdings

Get 13F institutional holdings

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).

Parameterslimitchangesidentifierrequired

get_activist

Get 13D/13G >5% activist stakes

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.

Parameterslimitidentifierrequiredmin_percentactivist_only

resolve_entity

Resolve a ticker, CIK, or 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.

Parameterscikcusipticker

search_filings

Full-text search across SEC filings

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.

Parametersqrequiredenddtformslimitoffsetstartdt

get_xbrl

Convert SEC XBRL to JSON

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.

Parametersciklimitperiodtickerconceptaccession

get_shares

Get shares outstanding & public float

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.

Parameterstickerrequiredhistory

get_form_d

Get Form D private placements

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.

Parameterslimitidentifierrequired

get_subsidiaries

Get company subsidiaries (10-K Exhibit 21)

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.

Parameterstickerrequired

get_opportunities

Get federal contract opportunities (SAM.gov)

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.

Parameterslimitnaicsptypestatetitleoffsetposted_toset_asideposted_from

get_awards

Get federal awards (USAspending)

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.

Parametersendpagelimitstartstateagencykeywordcategoryrecipient

get_grants

Get federal grant opportunities (Grants.gov)

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).

Parametersalnlimitagencyoffsetstatuskeywordcategory

get_congress

Get congressional stock trades (House STOCK Act)

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.

Parameterslimitactionticker

Version history

3
  1. v1.3.1LatestOct 16, 2026
  2. v1.3.0Sep 23, 2026
  3. v1.2.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Restosignals integrations