Skip to main content
Glama

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

MCP server that connects to SEC EDGAR with a User-Agent. No API key. Financials are read via companyfacts / frames, not FMP; XBRL tag mapping is in xbrl_map.py.

Tools

Tool

What it does

search_company

Ticker / CIK / name

get_company

SIC, exchange, fiscal year end

get_financials

Mapped income, balance sheet, cash flow

get_concept

Raw series of a single us-gaap/ifrs/dei tag

get_frame

Same concept + period, all filers (snapshot)

list_filings

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

get_form4

Insider transactions (issuer ticker or person CIK)

get_13f

Institution's 13F-HR portfolio (not stock ticker)

search_filings

Full-text (efts.sec.gov)

Related MCP server: sec-edgar-mcp

Setup

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

EDGAR_USER_AGENT in .env must be a real name + email. SEC blocks generic python-requests agents with 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)

If PORT is set, the default transport is http and the endpoint is https://<railway-host>/mcp. Don't set MCP_TRANSPORT=stdio — the process doesn't listen, Railway shows "online" but Claude can't connect.

Variables

Key

Value

EDGAR_USER_AGENT

First Last you@email.com (real, to avoid SEC 403)

MCP_TRANSPORT

http (or don't add it)

MCP_AUTH_TOKEN

long random string

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

Claude (claude.ai / Desktop Connectors)

  1. Customize → Connectors → Add custom connector

  2. URL: https://<host>/mcp (not ending in /sse)

  3. Request headers → Authorization = Bearer <MCP_AUTH_TOKEN> (including the Bearer space)

  4. Add, open with + → Connectors in the chat

Claude Code

claude mcp add --transport http edgar https://<host>/mcp --header "Authorization: Bearer <MCP_AUTH_TOKEN>"

For the old /sse, use MCP_TRANSPORT=sse (not preferred for the Claude connector).

Test

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

Resources

13F values are in thousands of USD per SEC convention. The 13F is filed by the institution, not the stock.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server providing read-only access to SEC EDGAR filings, allowing LLMs to look up companies, search filings, and retrieve securities offering data.
    3
    1
    MIT
  • A
    license
    -
    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
    -
    quality
    C
    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

View all related MCP servers

Related MCP Connectors

  • Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.

  • SEC XBRL MCP — wraps SEC EDGAR XBRL API (data.sec.gov)

  • SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/emresoykan/edgar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server