mcpField
S
sec-ai: SEC EDGAR

sec-ai: SEC EDGAR

Local
github.comFinance0Updated 1w ago

About sec-ai: SEC EDGAR

sec-ai: SEC EDGAR is an MCP server for financial researchers, using official SEC APIs to provide read-only access to filings and financial data. It combines filing search with XBRL facts, insider transactions, and institutional holdings.

Key features

  1. 01Retrieve company filings and IPOs
  2. 02Read and search filing text in pages
  3. 03Query and rank XBRL financial data
  4. 04Review insider trades and beneficial ownership
  5. 05Retrieve 13F fund holdings

Use cases

  1. 01Review a company’s 10-K, 10-Q, or 8-K
  2. 02Search historical filings for phrases
  3. 03Compare financial metrics across companies
  4. 04Inspect fund holdings and insider trades

MCP support

The MCP server provides SEC EDGAR query tools to compatible clients over stdio. All tools are read-only.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"lkcair-sec-ai": {
"command": "uvx",
"args": [
"sec-finance-ai"
],
"env": {
"SEC_USER_AGENT": "<SEC_USER_AGENT>"
}
}
}
}
Run commanduvx sec-finance-ai
Environment variables to set
SEC_USER_AGENTName and e-mail sent to the SEC, e.g. 'Jane Doe [email protected]'. A built-in default is used if unset.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypisec-finance-ai2.0.5

Tools

22

Saved tool list · updated 1w ago

ParameterTypeRequiredDescription
tickerstringYesStock ticker symbol

Details

From the project README

sec-finance-ai MCP server

PyPI License: MIT

AI-powered SEC EDGAR integration: 23 tools on the official sec.gov APIs, in one Python file.

🚀 Thousands of downloads on ClawHub and OpenWebUI

10-K, 10-Q, 8-K, 20-F and proxy filings, the full text of any filing read in pages or searched, XBRL company facts and cross-company rankings, Form 4 insider trades, 13D/13G ownership, 13F fund portfolios, IPOs, and full-text search of every filing since 2001.

Use it inInstallRepo
Claude, Cursor, VS Code, LangChain, Google ADK, Strands Agents and other MCP clientsuvx sec-finance-ai@latestsec-ai-mcp
ClawHub skill for OpenClaw 🚀 Thousands of downloadsopenclaw skills install @lkcair/secsec-ai-skill
OpenWebUI tool 🚀 Thousands of downloadsGet it on openwebui.comsec-finance-ai
Pythonfrom sec_finance_ai import Toolssec-finance-ai

Install

Needs uv. No API key.

Claude Code:

claude mcp add sec-ai -e SEC_USER_AGENT="Your Name [email protected]" -- uvx sec-finance-ai@latest

VS Code:

code --add-mcp '{"name":"sec-ai","type":"stdio","command":"uvx","args":["sec-finance-ai@latest"],"env":{"SEC_USER_AGENT":"Your Name [email protected]"}}'

Claude Desktop, Cursor, Windsurf and other clients, in the client's MCP config file:

{
  "mcpServers": {
    "sec-ai": {
      "command": "uvx",
      "args": [
        "sec-finance-ai@latest"
      ],
      "env": {
        "SEC_USER_AGENT": "Your Name [email protected]"
      }
    }
  }
}

@latest picks up new releases when the client starts. Without uv: pip install sec-finance-ai, then use "command": "sec-finance-ai" with no args.

SEC_USER_AGENT is the name and e-mail the SEC asks programs to send. If it is not set, a default is sent.

Listed in the MCP Registry as io.github.lkcair/sec-ai. Every tool is read-only.

Agent frameworks

The server runs over stdio with uvx sec-finance-ai@latest, so any framework with MCP support can load all its tools.

SEC_USER_AGENT is optional. MCP starts the server with a minimal environment, so pass it as shown; **os.environ keeps PATH, so uvx is found.

LangChain: pip install "langchain[mcp]" langchain-anthropic

import asyncio
import os
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter

async def main():
    config = {"mcpServers": {"sec-ai": {
        "command": "uvx", "args": ["sec-finance-ai@latest"],
        "env": {**os.environ, "SEC_USER_AGENT": "Your Name [email protected]"},  # optional
    }}}
    async with MCPAdapter(config) as adapter:
        tools = await adapter.list_tools()
        agent = create_agent("claude-sonnet-5", tools)
        result = await agent.ainvoke({"messages": [{"role": "user", "content": "What does Apple's latest 10-K say about Greater China?"}]})
        print(result["messages"][-1].content)

asyncio.run(main())

Google ADK: pip install "google-adk[mcp]"

import os
from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

root_agent = LlmAgent(
    model="gemini-flash-latest",
    name="sec_ai",
    instruction="Answer with the sec-ai tools.",
    tools=[McpToolset(connection_params=StdioConnectionParams(
        server_params=StdioServerParameters(
            command="uvx", args=["sec-finance-ai@latest"],
            env={**os.environ, "SEC_USER_AGENT": "Your Name [email protected]"},  # optional
        ),
        timeout=60,
    ))],
)

Strands Agents: pip install strands-agents

import os
from mcp import stdio_client, StdioServerParameters
from strands import Agent
from strands.tools.mcp import MCPClient

sec_ai = MCPClient(lambda: stdio_client(StdioServerParameters(
    command="uvx", args=["sec-finance-ai@latest"],
    env={**os.environ, "SEC_USER_AGENT": "Your Name [email protected]"},  # optional
)))
agent = Agent(tools=[sec_ai])
agent("What does Apple's latest 10-K say about Greater China?")

Example questions

  • What does Apple's latest 10-K say about Greater China?
  • What are Berkshire Hathaway's top holdings in its latest 13F?
  • Find every 8-K this year that mentions 'going concern'.
  • Which companies had the highest revenue in 2024?

MCP tools (22)

Filings
ToolParametersDescription
get_company_filingsticker, form_type=null, limit=10, start_date=null, end_date=nullGet SEC filings for a company by ticker symbol
get_latest_10ktickerLatest 10-K with a short preview of its text
get_latest_10qtickerLatest 10-Q with a short preview of its text
get_recent_8k_filingsticker, limit=5Recent 8-K filings with a short preview of each
analyze_8k_filingtickerGet and summarize the latest 8-K filing for a company
get_proxy_statementsticker, limit=3Get proxy statements (DEF 14A) for a company
get_recent_iposlimit=20, days=30Get recent IPO activity from EDGAR
Reading inside a filing
ToolParametersDescription
get_filing_sizefiling_urlExact size of a filing document before downloading it
download_filing_textfiling_url, max_length=50000, offset=0, search=nullRead a filing in 50,000-character pages, search inside it, or get the link when it is over 25 MB
get_filing_documentsfiling_urlList every document in a filing (main document, exhibits, XBRL, XML) with sizes and links
get_filing_contentticker, filing_type=null, get_full_content=false, specific_metrics=nullKey financial figures from XBRL, or the full filing text in pages
Search
ToolParametersDescription
full_text_searchquery, form_type=null, start_date=null, end_date=null, limit=20Search the full text of every EDGAR filing since 2001 (words or "exact phrase")
search_filingsquery, form_type=null, start_date=null, end_date=null, limit=20Search SEC filings by company name or other criteria
Ownership and insiders
ToolParametersDescription
get_insider_transactionsticker, limit=20Get insider trading transactions (Forms 3, 4, 5) for a company
get_beneficial_ownershipticker, limit=10, schedule="all"Get beneficial ownership reports (13D, 13G) for a company
get_13f_holdingsticker_or_cik, limit=25Get the latest 13F portfolio of an institutional investment manager
Financial data (XBRL)
ToolParametersDescription
get_company_factstickerGet company facts from SEC XBRL data
get_company_conceptticker, conceptGet specific financial concept data for a company
get_available_metricsticker, search_term=nullDiscover available financial metrics for a company from SEC XBRL data
get_xbrl_framesconcept, period, unit="USD", taxonomy="us-gaap", limit=20One financial concept across all reporting companies for one period, ranked
Utility
ToolParametersDescription
get_sec_api_statusCheck SEC API status and connectivity
run_self_testRun comprehensive self-test of all SEC-AI tools

License

MIT. All data comes from public SEC EDGAR databases. Not affiliated with the U.S. Securities and Exchange Commission.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.