analyze_8k_filing
Analyze 8-K Filing
Get and summarize the latest 8-K filing for a company. Returns: Dictionary containing 8-K summary with actual content
ticker必填
io.github.lkcair由 GitHub 账号 lkcair 发布v2.0.5更新于 Nov 4, 2026
SEC EDGAR in 22 tools: 10-K/10-Q/8-K text, XBRL facts, insider trades, 13F, full-text search.
发布方自己的服务:edgar.tools SEC Intelligence
只读访问 SEC EDGAR:美国上市公司与基金的申报文件、XBRL 财务数据、内部人交易、13F 持仓与全文检索。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
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.
Needs uv. No API key.
Claude Code:
VS Code:
Claude Desktop, Cursor, Windsurf and other clients, in the client's MCP config file:
@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.
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
Google ADK: pip install "google-adk[mcp]"
Strands Agents: pip install strands-agents
MIT. All data comes from public SEC EDGAR databases. Not affiliated with the U.S. Securities and Exchange Commission.
来源:README.md,提交 7683f51
Analyze 8-K Filing
Get and summarize the latest 8-K filing for a company. Returns: Dictionary containing 8-K summary with actual content
ticker必填Download Filing Text
Read or search the text of one SEC filing document. Three modes, chosen automatically: - mode 'text': returns `content` in pages of max_length characters. If has_more is true, call again with offset=next_offset to keep reading. - mode 'search': when `search` is given, returns snippets around each match with its position (use offset=position to read that part). - mode 'link_only': when the document is larger than the size limit, returns only the link and size so the user can open it. The exact size is checked BEFORE downloading. Returns: Dictionary with mode, filing_url, size_mb, total_characters and content/snippets
offsetsearchfiling_url必填max_lengthFull Text Search
Search the full text of every EDGAR filing since 2001 (words or "exact phrase"). Returns: Matching filings (newest first) with company, form, date and a link to the matching document
limitquery必填end_dateform_typestart_date13F Holdings
Get the latest 13F portfolio of an institutional investment manager. Returns: Report period, total value, top_issuers (one row per company, share classes combined; use this for "largest holdings") and top_positions (one row per security: CUSIP, share class, put/call)
limitticker_or_cik必填Available Metrics
Discover available financial metrics for a company from SEC XBRL data. This function lists ALL available metrics that can be requested via specific_metrics. Useful for AI to find exactly which metrics are available before requesting them. Returns: Dict containing: - all_metrics: List of ALL available metric names - filtered_metrics: List of metrics matching search_term (if provided) - metric_categories: Organized by category (income, balance_sheet, cash_flow, etc) - total_available: Total number of available metrics - example_ttm_metrics: Example metrics useful for TTM calculations
ticker必填search_termBeneficial Ownership
Get beneficial ownership reports (13D, 13G) for a company. Returns: Dictionary containing beneficial ownership information
limitticker必填scheduleCompany Concept
Get specific financial concept data for a company. Returns: Dictionary containing concept data over time
ticker必填concept必填Company Facts
Get company facts from SEC XBRL data. Returns: Dictionary containing company facts and financial metrics
ticker必填Company Filings
Get SEC filings for a company by ticker symbol. Returns: Dictionary containing filing information
limitticker必填end_dateform_typestart_dateFiling Content
Get SEC financial data - SMART & EFFICIENT dual-mode approach. GENERIC MODE (no specific_metrics parameter) - Returns 13 essential metrics for any financial analysis - 5 historical values per metric (sufficient for TTM calc) - Most token-efficient for general questions - Includes: Net Income, Revenues, Interest Expense, Taxes, Operating Income, Gross Profit, Assets, Liabilities, Equity, Depreciation, Shares Outstanding, Cash, Long-term Debt SPECIFIC MODE (provide specific_metrics parameter) - Returns ONLY the requested metrics you specify - Perfect for targeted analysis (TTM EBITDA, leverage ratios) - Minimal token usage - only fetch what you need - Example: ['NetIncomeLoss', 'DepreciationDepletionAndAmortization', 'InterestExpense', 'IncomeTaxExpenseBenefit'] - Use get_available_metrics(ticker) to discover all metrics WORKFLOW FOR TTM CALCULATIONS: 1. Call: get_available_metrics(ticker='GME', search_term='Depreciation') 2. Find needed metrics from results 3. Call: get_filing_content(ticker='GME', specific_metrics=['NetIncomeLoss', ...]) 4. Calculate TTM from 5 historical values (last 4 quarters + 1 prior) FILE HANDLING (get_full_content=True): - The exact document size is checked first (EDGAR filing index) - Up to 25MB: first 50,000 characters in full_content; if has_more, continue with download_filing_text(filing_url, offset=next_offset) or search it with search='keyword' - Over 25MB: link only (file_too_large=True), AI told via ai_note Returns: Dict containing: - ticker, cik, company_name: Company identification - financial_metrics: Dict of requested/essential metrics with 5 historical values each - filing_date, filing_type: Filing metadata - mode: "generic" or "specific" - metrics_returned, values_per_metric: Data shape info - content_mode: 'text' or 'link_only' - full_content, has_more, next_offset: first page of the filing text - file_size_mb, filing_url, ai_note: size, link and what to do next
ticker必填filing_typeget_full_contentspecific_metricsFiling Documents
List every document in a filing (main document, exhibits, XBRL, XML) with sizes and links. Returns: Dictionary with the filing folder and its documents (name, size_bytes, url)
filing_url必填Filing Size
Get the exact size of a filing document BEFORE downloading it. Use this to decide between reading the text (download_filing_text) and giving the user the link only. Sizes come from the EDGAR filing index. Returns: size_bytes, size_mb, recommendation ('read_text' or 'link_only') and filing_url
filing_url必填Insider Transactions
Get insider trading transactions (Forms 3, 4, 5) for a company. Returns: Dictionary containing insider transaction information
limitticker必填Latest 10-K
Get the latest 10-K filing for a company: filing link plus a SHORT preview of its text. The preview is only the first 10,000 characters (cover page and first statements). When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) pages through the rest, download_filing_text(filing_url, search='...') jumps to a section. Returns: Dictionary with the 10-K filing: filing_url, content_preview, preview_characters, total_characters, preview_is_partial and read_more
ticker必填Latest 10-Q
Get the latest 10-Q filing for a company: filing link plus a SHORT preview of its text. The preview is only the first 10,000 characters (cover page and first statements). When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) pages through the rest, download_filing_text(filing_url, search='...') jumps to a section. Returns: Dictionary with the 10-Q filing: filing_url, content_preview, preview_characters, total_characters, preview_is_partial and read_more
ticker必填Proxy Statements
Get proxy statements (DEF 14A) for a company. Returns: Dictionary containing proxy statement information
limitticker必填Recent 8-K Filings
Get recent 8-K filings for a company with a SHORT preview of each. Each preview is only the first 5,000 characters. When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) or download_filing_text(filing_url, search='...'). Returns: Dictionary with 8-K filings: filing_url, content_preview, preview_characters, total_characters, preview_is_partial, read_more and extracted items
limitticker必填Recent IPOs
Get recent IPO activity from EDGAR. Returns: priced: final prospectuses (424B4, filed when an offering is priced) registrations: new S-1 / F-1 registration statements (companies preparing to list)
dayslimitSEC API Status
Check SEC API status and connectivity. Returns: Dictionary containing API status information
无需输入参数。
XBRL Frames
Compare one financial concept across ALL reporting companies for one period. Returns: Companies ranked by value for that concept and period
unitlimitperiod必填concept必填taxonomySelf-Test
Run comprehensive self-test of all SEC-AI tools. Returns: Dictionary containing test results
无需输入参数。
Search Filings
Search SEC filings by company name or other criteria. Returns: Dictionary containing search results
limitquery必填end_dateform_typestart_date已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
tools.edgar官方发布者
远程 MCP 服务器,为助手提供 23 个工具和 5 个配方,用于查询 SEC 文件、财务数据、内部人交易、13F 持仓和基金。

由 GitHub 账号 SudiptoHaldar 发布
按股票代码查询 SEC EDGAR 申报元数据的只读服务器:最新申报、按自然年的申报记录和表格类型代码,附官方 sec.gov 链接。

由 GitHub 账号 kriton-dev 发布
SEC EDGAR — Recent Company Filing Index by CIK 的托管 MCP 服务;需要凭据;Streamable HTTP。

由 GitHub 账号 mrfentmen 发布
本地 MCP 服务器,让助手查询 SEC EDGAR 申报文件与 XBRL 财务概念,包括按 CIK 查公司资料和全文检索。

由 GitHub 账号 monriah-studio 发布
面向美国 SEC EDGAR 数据的远程 MCP 服务器,让助手查询内部人交易、公司申报文件、XBRL 财务数据和申报全文检索。
claude mcp add sec-ai -e SEC_USER_AGENT="Your Name [email protected]" -- uvx sec-finance-ai@latestcode --add-mcp '{"name":"sec-ai","type":"stdio","command":"uvx","args":["sec-finance-ai@latest"],"env":{"SEC_USER_AGENT":"Your Name [email protected]"}}'{ "mcpServers": { "sec-ai": { "command": "uvx", "args": [ "sec-finance-ai@latest" ], "env": { "SEC_USER_AGENT": "Your Name [email protected]" } } }}import asyncioimport osfrom langchain.agents import create_agentfrom 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())import osfrom google.adk.agents import LlmAgentfrom google.adk.tools.mcp_tool import McpToolsetfrom google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParamsfrom 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, ))],)import osfrom mcp import stdio_client, StdioServerParametersfrom strands import Agentfrom 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?")