Data source: SEC EDGAR
https://context.gnist.ai/mcp/sec-edgar/
AuthenticationAll requests require a Gnist-API-Key header (or api_key query parameter).
Free tier: 100 calls/day. Get your API key.
Tools (5)
search_filingsFull-text search over all public SEC filings (10-K, 10-Q, 8-K, proxy, and more).
Args:
query: Search terms — phrase-matched against filing text.
Examples: "artificial intelligence", "climate risk", "supply chain".
form_type: Filter to a specific form type: "10-K", "10-Q", "8-K", "DEF 14A".
Omit to search all form types.
company: Filter by company name (partial match).
date_from: Earliest filing date — YYYY-MM-DD.
date_to: Latest filing date — YYYY-MM-DD.
max_results: Maximum filings to return (1–100, default 20).
Returns:
List of matching filings with accession number, form type, filing date,
company name, reporting period, and EDGAR viewer URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search terms — phrase-matched against filing text. |
form_type | any | optional | |
company | any | optional | |
date_from | any | optional | |
date_to | any | optional | |
max_results | integer | optional | (default: 20) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_filings",
"arguments": {
"query": "example"
}
}
}get_company_filingsRetrieve recent SEC filings for any public company by ticker or CIK.
Args:
ticker_or_cik: Company identifier — either a ticker symbol (e.g. "AAPL", "MSFT")
or a numeric CIK (e.g. "320193" or "0000320193").
form_type: Filter to a specific form type: "10-K", "10-Q", "8-K", etc.
Omit to return all recent filings.
limit: Maximum filings to return (default 10).
Returns:
Company metadata (name, CIK, ticker, industry) and a list of filings,
each with accession number, form type, dates, and document URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
ticker_or_cik | string | required | Company identifier — either a ticker symbol (e.g. "AAPL", "MSFT") or a numeric CIK (e.g. "320193" or "0000320193"). |
form_type | any | optional | Filter to a specific form type: "10-K", "10-Q", "8-K", etc. Omit to return all recent filings. |
limit | integer | optional | Maximum filings to return (default 10). (default: 10) |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_company_filings",
"arguments": {
"ticker_or_cik": "example"
}
}
}get_financial_factsRetrieve XBRL-tagged financial data for a company concept across all reporting periods.
Common concepts (us-gaap taxonomy):
- Revenue: "Revenues" or "RevenueFromContractWithCustomerExcludingAssessedTax"
- Net income: "NetIncomeLoss"
- Total assets: "Assets"
- Cash: "CashAndCashEquivalentsAtCarryingValue"
- EPS (basic): "EarningsPerShareBasic" (use unit="USD/shares")
Args:
ticker_or_cik: Ticker symbol (e.g. "AAPL") or numeric CIK (e.g. "320193").
concept: XBRL concept tag name. Case-sensitive, CamelCase.
unit: Unit of measure — "USD", "shares", or "USD/shares". Default "USD".
taxonomy: XBRL taxonomy — "us-gaap" (default) or "dei".
Returns:
Company name, concept label, and a list of facts sorted newest-first.
| Parameter | Type | Required | Description |
|---|---|---|---|
ticker_or_cik | string | required | Ticker symbol (e.g. "AAPL") or numeric CIK (e.g. "320193"). |
concept | string | required | XBRL concept tag name. Case-sensitive, CamelCase. |
unit | string | optional | Unit of measure — "USD", "shares", or "USD/shares". Default "USD". (default: "USD") |
taxonomy | string | optional | XBRL taxonomy — "us-gaap" (default) or "dei". (default: "us-gaap") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_financial_facts",
"arguments": {
"ticker_or_cik": "example",
"concept": "example"
}
}
}get_filing_sectionExtract a specific section from a public SEC filing as plain text.
Args:
accession_number: EDGAR accession number — e.g. "0000320193-23-000106".
section: Section to extract. Named sections: "business", "risk_factors",
"mda", "financial_statements", "executive_compensation",
"quantitative_risk", "controls".
Also accepts raw item numbers: "1", "1A", "7", "7A", "8", "9A", "11".
Returns:
Section name, source URL, and extracted plain text (up to ~8000 chars).
| Parameter | Type | Required | Description |
|---|---|---|---|
accession_number | string | required | EDGAR accession number — e.g. "0000320193-23-000106". |
section | string | required | Section to extract. Named sections: "business", "risk_factors", "mda", "financial_statements", "executive_compensation", "quantitative_risk", "controls". Also accepts raw item numbers... |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "get_filing_section",
"arguments": {
"accession_number": "123456789",
"section": "123456789"
}
}
}report_feedbackReport a bug, feature request, or general feedback for this data source.
Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.
Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "report_feedback",
"arguments": {
"feedback": "example"
}
}
}Quick Start
curl -X POST "https://context.gnist.ai/mcp/sec-edgar/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_filings", "arguments": {"query": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/sec-edgar/",
headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"id": 1,
"params": {
"name": "search_filings",
"arguments": {
"query": "example"
}
}
},
)
print(resp.json())