SEC EDGAR MCP

An MCP server for SEC EDGAR: US company filings, forms 10-K, 10-Q and 8-K, XBRL-parsed financials and insider trades

MCP server

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • The data feeds financial decisions, misreading it is costly, and it is not investment advice
  • It reaches the external SEC service and needs correctly identified requests
  • The HTTP transport has no authentication and must not be exposed on a shared network
All reasons and checks

stefanoamorelli/sec-edgar-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/sec-edgar-mcp

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport stdio --env 'SEC_EDGAR_USER_AGENT=<SEC_EDGAR_USER_AGENT value>' sec-edgar-mcp -- docker run -i --rm -e SEC_EDGAR_USER_AGENT stefanoamorelli/sec-edgar-mcp:latest

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

code --add-mcp '{"name":"sec-edgar-mcp","type":"stdio","command":"docker","args":["run","-i","--rm","-e","SEC_EDGAR_USER_AGENT","stefanoamorelli/sec-edgar-mcp:latest"],"env":{"SEC_EDGAR_USER_AGENT":"<SEC_EDGAR_USER_AGENT value>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "sec-edgar-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

codex mcp add sec-edgar-mcp --env 'SEC_EDGAR_USER_AGENT=<SEC_EDGAR_USER_AGENT value>' -- docker run -i --rm -e SEC_EDGAR_USER_AGENT stefanoamorelli/sec-edgar-mcp:latest

Or add to the file ~/.codex/config.toml, for all projects

[mcp_servers.sec-edgar-mcp]
command = "docker"
args = ["run", "-i", "--rm", "-e", "SEC_EDGAR_USER_AGENT", "stefanoamorelli/sec-edgar-mcp:latest"]
env = { SEC_EDGAR_USER_AGENT = "<SEC_EDGAR_USER_AGENT value>" }

If the file already exists, append the block to the end.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "sec-edgar-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "environment": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .codeassistant/mcp.json, in the project

{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "<SEC_EDGAR_USER_AGENT value>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

SEC_EDGAR_USER_AGENTrequired

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

You will need: Docker

Checked against the repository on Sep 25, 2026, commit 7442398.

Text for your agent

Add the server to the client config via Docker with the SEC_EDGAR_USER_AGENT variable in a name and email format. Other install methods (pip, uv) are in the project documentation.

Other ways from the author
{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "SEC_EDGAR_USER_AGENT=Your Name (your@email.com)", "stefanoamorelli/sec-edgar-mcp:latest"]
    }
  }
}

The -i flag is required for MCP communication. Provide your own name and email.

This is third-party code. Review the repository files before installing.

What it does

The server connects an AI assistant to SEC EDGAR and opens access to public US company filings. Its tools group by topic: company and CIK lookup, company info and facts, retrieval of 10-K, 10-Q and 8-K forms with section extraction, XBRL financial statements with exact numbers (balance sheet, income statement, cash flow) and insider trades from forms 3, 4 and 5. Every response includes links to the source SEC documents for verification. The data is read-only, with no trading operations.

Who it is for. For financial analysts, researchers and lawyers who need US company filings with exact figures.

Good fit when

  • You review US company filings in forms 10-K, 10-Q and 8-K
  • You need exact numbers from financial statements via XBRL
  • You look at insider trades in forms 3, 4 and 5

Not a fit when

  • You need data on companies outside the SEC scope
  • You expect an investment recommendation rather than facts from filings
  • You expose the HTTP transport without authentication on a shared network

Example request

Find Apple's latest 10-K and show revenue with a link to the document

Limitations

You must set SEC_EDGAR_USER_AGENT in a name and email format, which the SEC API requires. The project is not affiliated with or endorsed by the SEC. The HTTP transport ships without authentication, and the authors advise using it on a private network only. The data is informational and not investment advice. The license is AGPL-3.0, and commercial use needs a separate arrangement with the author.

How to disable. Remove the sec-edgar-mcp entry from the MCP client config. If installed via Docker, remove the image with the standard command; if installed via pip or uv, uninstall the package.

MCP

Transport
stdio, http
Authentication
not required
Environment variables
Environment variables
SEC_EDGAR_USER_AGENT
required
Name and email in the form First Last (email), required by the SEC API to identify requests.

Security check

  • The data feeds financial decisions, misreading it is costly, and it is not investment advice
  • It reaches the external SEC service and needs correctly identified requests
  • The HTTP transport has no authentication and must not be exposed on a shared network

README in short

The README describes an MCP server for accessing SEC EDGAR filings with exact numbers and source links. It gives a Docker quick start with the required user agent variable and an HTTP transport option for platforms like Dify. The tools group by company, filings, financials and insider trades. The project builds on sec-edgar-toolkit, ships an evaluation suite and documentation and notes the AGPL-3.0 license. It states the project is not affiliated with the SEC.

FAQ

Can it trade?

No. The server only reads public SEC filings. It has no trading and no account access.

Why the user agent variable?

The SEC API requires it: requests must carry a name and email so you can be identified.

Editors’ pick

A set of investment research skills for Claude Code and Codex built on four investors' methodologies. It is a research tool, not investment advice

SkillMedium riskNo VPN needed16.6KRepository stars
Official

Stripe's official MCP server, plugins and skills: the agent searches the API and docs, reads and changes account data

MCP serverHigh riskNeeds a VPN1.8KRepository stars
Official

Alpaca's official MCP server: orders for stocks, ETFs, crypto and options, position management and market data in plain language

MCP serverHigh risk995Repository stars
Editors’ pick

An open-source skill that checks a Russian company by tax ID across EGRUL, bailiffs, courts, bankruptcy and sanctions, and returns a dated risk verdict

SkillLow riskRussian stackNo VPN needed4Repository stars
Foxx AISEC EDGAR MCP

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.