Skip to main content
Glama

EDGAR MCP — SEC companyfacts, frames, Form 4, 13F

MCP-Server, der sich mit User-Agent mit SEC EDGAR verbindet. Kein API-Key. Finanzdaten werden nicht über FMP, sondern über companyfacts / frames gelesen; die XBRL-Tag-Zuordnung befindet sich in xbrl_map.py.

Tools

Tool

Funktion

search_company

Ticker / CIK / Name

get_company

SIC, Börse, Geschäftsjahresende

get_financials

Zugeordnete Einnahmen, Bilanz, Cashflow

get_concept

Rohe Serie eines einzelnen us-gaap/ifrs/dei-Tags

get_frame

Gleiches Konzept + Zeitraum, alle Filers (Ausschnitt)

list_filings

10-K, 10-Q, 8-K, 4, 13F-HR...

get_form4

Insider-Transaktionen (Issuer-Ticker oder Personen-CIK)

get_13f

13F-HR-Portfolio der Institution (nicht Aktien-Ticker)

search_filings

Volltext (efts.sec.gov)

Related MCP server: edgarmcp

Installation

cd edgar-mcp
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env

In .env muss EDGAR_USER_AGENT ein echter Name + E-Mail sein. SEC blockiert generische python-requests-Agenten mit 403.

EDGAR_USER_AGENT=Your Name your.email@example.com
MCP_TRANSPORT=stdio

Cursor (stdio)

%USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "edgar": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "C:\\Users\\yunus\\Documents\\dev\\edgar-mcp",
      "env": {
        "MCP_TRANSPORT": "stdio",
        "EDGAR_USER_AGENT": "Your Name your.email@example.com"
      }
    }
  }
}

Railway → Claude (Streamable HTTP)

Wenn PORT gesetzt ist, ist der Standardtransport http und der Endpoint https://<railway-host>/mcp. Setze MCP_TRANSPORT=stdio nicht — der Prozess lauscht nicht, Railway zeigt „online“, aber Claude kann sich nicht verbinden.

Variablen

Key

Wert

EDGAR_USER_AGENT

Ad Soyad you@email.com (echt, damit SEC nicht 403 zurückgibt)

MCP_TRANSPORT

http (oder gar nicht hinzufügen)

MCP_AUTH_TOKEN

Für Claude.ai nicht setzen. Das Connector-Formular sendet keinen Header; der Token erzeugt 401 + „Authentication failed“.

Kontrolle: https://<host>/health → {"ok": true, ...}

Claude (claude.ai / Desktop Connectors)

  1. Customize → Connectors → Add custom connector

  2. URL: https://<host>/mcp (nicht mit /sse am Ende)

  3. OAuth-Felder leer lassen, Individual sign-in deaktiviert

  4. Add, dann in der Chat-Oberfläche mit + → Connectors öffnen

Wenn Claude Code Header senden kann, MCP_AUTH_REQUIRED=true und Authorization: Bearer <token>.

Für altes /sse gilt MCP_TRANSPORT=sse (für Claude-Connector nicht bevorzugen).

Test

python -m unittest tests.test_xbrl_map tests.test_form_parsers tests.test_http_auth tests.test_client_utils

Ressourcen

13F-Werte sind gemäß SEC-Konvention in Tausend USD. 13F wird nicht von Aktien, sondern von der Institution ausgefüllt.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Hosted MCP server that gives AI agents real-time access to SEC EDGAR filings search, 10-K/8-K reading, XBRL financial facts, and insider-trade (Form 4) alerts.
    13 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for SEC EDGAR that provides real-time access to filings, financial statements, and full-text search across all EDGAR documents.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A free, key-less MCP server for SEC EDGAR that provides company filings, XBRL financial facts, and full-text search directly from the SEC.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that wraps SEC EDGAR APIs to provide company financial data, screening metrics, and disclosure signals for investment diligence, with every figure traced to its source filing.
    8
    MIT