Back to Browse

Sec Ai MCP Server

by Lkcair
Developer ToolsUse Caution4.5MCP RegistryLocal
Free

Server data from the Official MCP Registry

SEC EDGAR in 22 tools: 10-K/10-Q/8-K text, XBRL facts, insider trades, 13F, full-text search.

About

SEC EDGAR in 22 tools: 10-K/10-Q/8-K text, XBRL facts, insider trades, 13F, full-text search.

Security Report

4.5
Use Caution4.5High Risk

The visible code is a legitimate SEC EDGAR client that restricts all network access to https sec.gov hosts, re-checks every redirect, and caps response sizes. The score is held slightly below the top range because the source file is truncated, so about two-thirds of the tool implementations could not be reviewed, including tools named in the scanner's confirmed-dangerous list. Supply chain analysis found 8 known vulnerabilities in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

4 files analyzed ยท 13 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Name and e-mail sent to the SEC, e.g. 'Jane Doe jane@example.com'. A built-in default is used if unset.Optional

Environment variable: SEC_USER_AGENT

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-lkcair-sec-ai": {
      "env": {
        "SEC_USER_AGENT": "your-sec-user-agent-here"
      },
      "args": [
        "sec-finance-ai"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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 you@example.com" -- 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 you@example.com"}}'

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 you@example.com"
      }
    }
  }
}

@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 you@example.com"},  # 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 you@example.com"},  # 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 you@example.com"},  # 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.

Reviews

No reviews yet

Be the first to review this server!