Skip to content

AI agent toolkit for accessing and analyzing SEC EDGAR filing data. Build intelligent agents with LangChain, MCP-use, Gradio, Dify, and smolagents to analyze financial statements, insider trading, and company filings.

License

Notifications You must be signed in to change notification settings

stefanoamorelli/sec-edgar-agentkit

Repository files navigation

SEC EDGAR Agent Kit

npm version License TypeScript Python Nx Monorepo AI Agents LangChain MCP Protocol

A multi-framework monorepo toolkit for building AI agents and applications that can access and analyze SEC EDGAR filing data. Built on top of the sec-edgar-mcp Model Context Protocol server.

This monorepo contains multiple packages and integrations, each optimized for different AI agent frameworks and use cases.

Supported Frameworks

Features

  • Company information: Look up CIKs, retrieve company details, and access company facts
  • Filing search & analysis: Search for filings, extract content, and analyze 8-K reports
  • Financial data: Extract financial statements and parse XBRL data with precision
  • Insider trading: Analyze Forms 3, 4, and 5 for insider transaction data
  • LangChain integration: Seamless integration with LangChain agents and chains

Installation

This monorepo is organized using modern tooling and contains multiple packages. You can install individual packages from npm:

Install individual packages

# LangChain toolkit
npm install @sec-edgar-agentkit/langchain

# MCP-use natural language interface
npm install @sec-edgar-agentkit/mcp-use

# smolagents Python package
pip install sec-edgar-agentkit-smolagents

Gradio and Dify

For Gradio and Dify setup instructions, see their respective documentation:

Development setup

# Clone the repository
git clone https://github.com/stefanoamorelli/sec-edgar-agentkit
cd sec-edgar-agentkit

# Install all dependencies (monorepo)
bun install

# Build all packages
bun run build

Prerequisites:

  • Bun (for TypeScript/JavaScript development)
  • Python 3.8+ (for Gradio interface)
  • sec-edgar-mcp server: pip install sec-edgar-mcp

Quick start

LangChain

import { SECEdgarAgentToolkit } from './integrations/langchain';

const toolkit = new SECEdgarAgentToolkit({
  mcpServerUrl: 'sec-edgar-mcp',
  configuration: {
    actions: {
      companies: { lookupCIK: true, getInfo: true },
      filings: { search: true, getContent: true },
    }
  }
});

const tools = toolkit.getTools();
// Use with any LangChain agent

MCP-use

import { agent, analyzeFinancials } from './integrations/mcp-use';

// Simple function calls
const appleInfo = await agent.use("Look up Apple's latest 10-K filing");
const analysis = await analyzeFinancials('AAPL', 3);

Gradio interface

# Run the Gradio interface
cd integrations/gradio
./run.sh
# Access at http://localhost:7860

# Or manually:
pip install -r requirements.txt
python app.py

Configuration

Available actions

{
  actions: {
    companies: {
      lookupCIK: boolean,      // CIK lookup by name/ticker
      getInfo: boolean,        // Company information
      getFacts: boolean,       // XBRL company facts
    },
    filings: {
      search: boolean,         // Search filings
      getContent: boolean,     // Extract filing content
      analyze8K: boolean,      // Analyze 8-K reports
      extractSection: boolean, // Extract specific sections
    },
    financial: {
      getStatements: boolean,  // Financial statements
      parseXBRL: boolean,      // XBRL data parsing
    },
    insiderTrading: {
      analyzeTransactions: boolean, // Forms 3/4/5 analysis
    }
  }
}

Available tools

Company tools

  • sec_edgar_cik_lookup: Look up a company's CIK by name or ticker
  • sec_edgar_company_info: Get detailed company information
  • sec_edgar_company_facts: Retrieve XBRL company facts

Filing tools

  • sec_edgar_filing_search: Search for filings with filters
  • sec_edgar_filing_content: Extract filing content
  • sec_edgar_analyze_8k: Analyze 8-K reports

Financial tools

  • sec_edgar_financial_statements: Extract financial statements
  • sec_edgar_xbrl_parse: Parse XBRL data for precise values

Insider trading tools

  • sec_edgar_insider_trading: Analyze insider transactions

Examples

Basic company analysis

const result = await executor.invoke({
  input: "Find Microsoft's CIK and get their latest 10-K filing summary"
});

Financial analysis

const result = await executor.invoke({
  input: "Compare Apple's revenue growth over the last 3 years using their 10-K filings"
});

Insider trading analysis

const result = await executor.invoke({
  input: "Show me insider selling activity for Tesla in the last quarter"
});

Framework-specific examples

LangChain - Complex agent

import { SECEdgarAgentToolkit } from './integrations/langchain';
import { ChatOpenAI } from '@langchain/openai';
import { AgentExecutor, createStructuredChatAgent } from 'langchain/agents';

const toolkit = new SECEdgarAgentToolkit({
  mcpServerUrl: 'sec-edgar-mcp',
  configuration: {
    actions: {
      companies: { lookupCIK: true, getInfo: true },
      filings: { search: true, analyze8K: true },
      financial: { getStatements: true, parseXBRL: true },
    }
  }
});

const agent = await createStructuredChatAgent({
  llm: new ChatOpenAI({ modelName: 'gpt-4' }),
  tools: toolkit.getTools(),
  prompt: ChatPromptTemplate.fromMessages([
    ['system', 'You are a financial analyst with access to SEC EDGAR data.'],
    ['human', '{input}'],
    ['assistant', '{agent_scratchpad}']
  ])
});

const executor = new AgentExecutor({ agent, tools: toolkit.getTools() });
const result = await executor.invoke({
  input: "Compare Apple and Microsoft's revenue growth over the last 3 years"
});

MCP-use - Simple queries

import { agent } from './mcp-use';

// Natural language queries
const result = await agent.use(`
  Find Tesla's latest 8-K filing and summarize any material events.
  Also show me their insider trading activity for the past month.
`);

console.log(result);

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

© 2025 Stefano Amorelli

This open-source project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:

  • You can use, modify, and distribute this software
  • If you modify and distribute it, you must release your changes under AGPL-3.0
  • If you run a modified version on a server, you must provide the source code to users
  • See the LICENSE file for full details

For commercial licensing options or other licensing inquiries, please contact [email protected].

Author: Stefano Amorelli

About

AI agent toolkit for accessing and analyzing SEC EDGAR filing data. Build intelligent agents with LangChain, MCP-use, Gradio, Dify, and smolagents to analyze financial statements, insider trading, and company filings.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published