This guide covers how to integrate SEC EDGAR MCP with various MCP-compatible clients.

Supported Clients

SEC EDGAR MCP works with any MCP-compatible client:

Claude Desktop

Official Anthropic desktop app with native MCP support

Cline

VS Code extension for AI-powered development

Continue.dev

Open-source AI code assistant

Claude Desktop

Claude Desktop is Anthropic’s official desktop application with built-in MCP support.

Installation Steps

1

Install Claude Desktop

Download from claude.ai/download
2

Locate Configuration File

~/Library/Application Support/Claude/claude_desktop_config.json
3

Add SEC EDGAR MCP

Edit the configuration file:
{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ]
    }
  }
}
4

Restart Claude Desktop

Completely quit and restart the application for changes to take effect.

Verification

Test the integration with these queries:
"What is Apple's CIK number?"
"Show me Tesla's latest 10-K filing"
"Get Microsoft's quarterly revenue for the last year"

Cline (VS Code Extension)

Cline is a powerful VS Code extension that brings AI assistance directly into your IDE.

Installation Steps

1

Install Cline Extension

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Search for “Cline”
  4. Click Install
2

Configure MCP Servers

Open VS Code settings (Ctrl+,) and search for “cline.mcpServers”:
{
  "cline.mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ]
    }
  }
}
3

Alternative: Local Installation

For local installation with uv:
{
  "cline.mcpServers": {
    "sec-edgar-mcp": {
      "command": "uv",
      "args": ["run", "sec-edgar-mcp"],
      "cwd": "/path/to/sec-edgar-mcp",
      "env": {
        "SEC_EDGAR_USER_AGENT": "Your Name (your.email@domain.com)"
      }
    }
  }
}
4

Reload VS Code Window

Press Ctrl+Shift+P and run “Developer: Reload Window”

Using with Cline

Open Cline chat (Ctrl+Shift+L) and try:
Analyze the latest quarterly earnings from Apple's 10-Q filing

Continue.dev

Continue is an open-source AI code assistant that supports multiple LLMs.

Installation Steps

1

Install Continue

  1. Install the VS Code extension
  2. Or download the standalone app from continue.dev
2

Open Configuration

Click the gear icon in Continue or edit ~/.continue/config.json
3

Add MCP Configuration

{
  "models": [
    {
      "title": "Claude 3 with SEC EDGAR",
      "provider": "anthropic",
      "model": "claude-3-sonnet-20240229",
      "apiKey": "YOUR_API_KEY",
      "mcpServers": {
        "sec-edgar-mcp": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "-e",
            "SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)",
            "stefanoamorelli/sec-edgar-mcp:latest"
          ]
        }
      }
    }
  ]
}
4

Restart Continue

Restart the Continue extension or application

Advanced Integration Options

Using with Multiple Clients

You can use SEC EDGAR MCP with multiple clients simultaneously:
Run a single container that multiple clients can connect to:
# Start container with name
docker run -d \
  --name sec-edgar-mcp-server \
  -e SEC_EDGAR_USER_AGENT="Your Name (your.email@domain.com)" \
  stefanoamorelli/sec-edgar-mcp:latest

# Connect from clients using docker exec

Custom Client Configuration

For custom MCP clients, implement the connection:
import subprocess
import json

# Start the MCP server
process = subprocess.Popen(
    ["docker", "run", "--rm", "-i", "-e", "SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)", "stefanoamorelli/sec-edgar-mcp:latest"],
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    text=True
)

# Send JSON-RPC request
request = {
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
        "name": "get_cik_by_ticker",
        "arguments": {"ticker": "AAPL"}
    },
    "id": 1
}

process.stdin.write(json.dumps(request) + "\n")
process.stdin.flush()

# Read response
response = json.loads(process.stdout.readline())

Troubleshooting Integration

Best Practices

Performance Tip: For production use, consider running SEC EDGAR MCP as a persistent service rather than starting a new container for each request.

Resource Management

# docker-compose.yml for production
version: '3.8'
services:
  sec-edgar-mcp:
    image: stefanoamorelli/sec-edgar-mcp:latest
    restart: unless-stopped
    environment:
      - SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)
    mem_limit: 512m
    cpus: '0.5'

Monitoring

Enable logging to track usage:
{
  "mcpServers": {
    "sec-edgar-mcp": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "SEC_EDGAR_USER_AGENT=Your Name (your.email@domain.com)",
        "-e", "LOG_LEVEL=INFO",
        "-v", "/var/log/mcp:/logs",
        "stefanoamorelli/sec-edgar-mcp:latest"
      ]
    }
  }
}

Next Steps


Created and maintained by Stefano Amorelli. Built together with the community.