https://github.com/stefanoamorelli/sec-edgar-agentkit
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.
https://github.com/stefanoamorelli/sec-edgar-agentkit
10k 8k agent-toolkit ai-agents dify edgar financial-analysis financial-data gradio insider-trading investment-research langchain mcp model-context-protocol monorepo python sec sec-filings typescript xbrl
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/stefanoamorelli/sec-edgar-agentkit
- Owner: stefanoamorelli
- License: agpl-3.0
- Created: 2025-08-10T12:31:35.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-17T17:28:30.000Z (10 months ago)
- Last Synced: 2025-11-23T15:05:18.895Z (7 months ago)
- Topics: 10k, 8k, agent-toolkit, ai-agents, dify, edgar, financial-analysis, financial-data, gradio, insider-trading, investment-research, langchain, mcp, model-context-protocol, monorepo, python, sec, sec-filings, typescript, xbrl
- Language: Python
- Size: 402 KB
- Stars: 7
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
- Security: SECURITY.md
Awesome Lists containing this project
README
# SEC EDGAR Agent Kit
A multi-framework monorepo toolkit for building AI agents and applications that can access and analyze [SEC EDGAR](https://www.sec.gov/edgar) filing data. Built on top of the [sec-edgar-mcp](https://github.com/stefanoamorelli/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
-
**[LangChain](https://github.com/langchain-ai/langchain)** - Build sophisticated agents with LangChain's agent framework ([integrations/langchain](./integrations/langchain))
-
**[MCP-use](https://github.com/mcp-use/mcp-use)** - Create MCP agents with any LLM for accessing SEC EDGAR data ([integrations/mcp-use](./integrations/mcp-use))
-
**[Gradio](https://github.com/gradio-app/gradio)** - Interactive web interface for exploring SEC filings ([integrations/gradio](./integrations/gradio))
-
**[Dify](https://github.com/langgenius/dify)** - Plugin for Dify workflow automation platform ([integrations/dify](./integrations/dify))
-
**[smolagents](https://github.com/huggingface/smolagents)** - Lightweight agent framework by Hugging Face for quick prototypes ([integrations/smolagents](./integrations/smolagents))
## 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
```bash
# 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:
- Gradio: [integrations/gradio/README.md](./integrations/gradio/README.md)
- Dify: [integrations/dify/README.md](./integrations/dify/README.md)
### Development setup
```bash
# 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](https://bun.sh/) (for TypeScript/JavaScript development)
- [Python](https://www.python.org/) 3.8+ (for Gradio interface)
- `sec-edgar-mcp` server: `pip install sec-edgar-mcp`
## Quick start
### LangChain
```typescript
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
```javascript
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
```bash
# 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
```typescript
{
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
```typescript
const result = await executor.invoke({
input: "Find Microsoft's CIK and get their latest 10-K filing summary"
});
```
### Financial analysis
```typescript
const result = await executor.invoke({
input: "Compare Apple's revenue growth over the last 3 years using their 10-K filings"
});
```
### Insider trading analysis
```typescript
const result = await executor.invoke({
input: "Show me insider selling activity for Tesla in the last quarter"
});
```
## Framework-specific examples
### LangChain - Complex agent
```typescript
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
```javascript
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](https://amorelli.tech)
This open-source project is licensed under the [GNU Affero General Public License v3.0 (AGPL-3.0)](https://www.gnu.org/licenses/agpl-3.0.html). 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](LICENSE) file for full details
For commercial licensing options or other licensing inquiries, please contact stefano@amorelli.tech.
Author: [Stefano Amorelli](https://amorelli.tech)