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.
LangChain - Build sophisticated agents with LangChain's agent framework (integrations/langchain)
MCP-use - Create MCP agents with any LLM for accessing SEC EDGAR data (integrations/mcp-use)
Gradio - Interactive web interface for exploring SEC filings (integrations/gradio)
Dify - Plugin for Dify workflow automation platform (integrations/dify)
smolagents - Lightweight agent framework by Hugging Face for quick prototypes (integrations/smolagents)
- 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
This monorepo is organized using modern tooling and contains multiple packages. You can install individual packages from npm:
# 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
For Gradio and Dify setup instructions, see their respective documentation:
- Gradio: integrations/gradio/README.md
- Dify: integrations/dify/README.md
# 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
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
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);
# Run the Gradio interface
cd integrations/gradio
./run.sh
# Access at http://localhost:7860
# Or manually:
pip install -r requirements.txt
python app.py
{
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
}
}
}
sec_edgar_cik_lookup
: Look up a company's CIK by name or tickersec_edgar_company_info
: Get detailed company informationsec_edgar_company_facts
: Retrieve XBRL company facts
sec_edgar_filing_search
: Search for filings with filterssec_edgar_filing_content
: Extract filing contentsec_edgar_analyze_8k
: Analyze 8-K reports
sec_edgar_financial_statements
: Extract financial statementssec_edgar_xbrl_parse
: Parse XBRL data for precise values
sec_edgar_insider_trading
: Analyze insider transactions
const result = await executor.invoke({
input: "Find Microsoft's CIK and get their latest 10-K filing summary"
});
const result = await executor.invoke({
input: "Compare Apple's revenue growth over the last 3 years using their 10-K filings"
});
const result = await executor.invoke({
input: "Show me insider selling activity for Tesla in the last quarter"
});
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"
});
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);
Contributions are welcome! Please feel free to submit a Pull Request.
© 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