SEC EDGAR MCP Server

Fornece acesso de assistentes de IA ao banco de dados SEC EDGAR por meio de sua API.

Documentação

SEC EDGAR MCP Server

License: MIT

Este é um servidor MCP (Model Context Protocol) baseado em .NET que permite que assistentes de IA acessem o banco de dados SEC EDGAR por meio de sua API. O servidor fornece uma interface padronizada para que assistentes de IA recuperem informações de empresas, documentos SEC e dados de demonstrações financeiras.

Observação: Este servidor utiliza stdio (entrada/saída padrão) para comunicação, facilitando a integração com assistentes de IA que iniciam processos filhos.

Aviso Legal

Este software é fornecido "no estado em que se encontra", sem garantia de qualquer tipo, expressa ou implícita, incluindo, mas não se limitando a, garantias de comercialização, adequação a um propósito específico e não violação. Em nenhum caso os autores ou detentores dos direitos autorais serão responsáveis por qualquer reclamação, danos ou outra responsabilidade, seja em ação de contrato, ato ilícito ou de outra forma, decorrente de, ou em conexão com o software ou o uso ou outras negociações no software.

Este projeto não é afiliado, endossado ou patrocinado pela Comissão de Valores Mobiliários dos Estados Unidos (SEC). Todos os dados recuperados por meio desta ferramenta estão sujeitos aos termos de serviço e políticas de uso da SEC.

Recursos

  • Pesquisar empresas por símbolo de ticker ou nome
  • Obter informações detalhadas da empresa pelo número CIK
  • Recuperar documentos SEC recentes de uma empresa
  • Acessar dados de demonstrações financeiras de relatórios de empresas
  • Gerar análises e comparações financeiras

Pré-requisitos

  • .NET 8.0 SDK ou posterior
  • Conexão com a internet para acessar a API SEC EDGAR

Configuração

O aplicativo usa appsettings.json para configuração. A configuração mais importante é o UserAgent para solicitações à API SEC EDGAR, que deve incluir suas informações de contato de acordo com as diretrizes da SEC:

{
  "EdgarApi": {
    "UserAgent": "EdgarMcpServer/1.0.0 (Your Name; your-email@example.com)"
  }
}

Compilação e Execução

Compilar o Projeto

dotnet build -c Release

Executar o Servidor

dotnet run --project EdgarMcpServer/EdgarMcpServer.csproj

O servidor lerá comandos MCP da entrada padrão (stdin) e escreverá respostas na saída padrão (stdout). Mensagens de erro são gravadas em stderr.

Comunicação via Protocolo MCP

O servidor implementa o Model Context Protocol usando comunicação stdio. Envie solicitações JSON para stdin e receba respostas JSON de stdout.

Listar Recursos Disponíveis

Envie o seguinte JSON para stdin:

{
  "method": "list_resources"
}

Retorna uma lista de funções disponíveis que podem ser invocadas.

Invocar uma Função

Envie o seguinte JSON para stdin:

{
  "method": "invoke",
  "params": {
    "name": "function-name",
    "parameters": {
      "param1": "value1",
      "param2": "value2"
    }
  }
}

Funções Disponíveis

search-company

Pesquisa uma empresa por símbolo de ticker ou nome.

Parâmetros:

  • query: O termo de pesquisa (símbolo de ticker ou nome da empresa)

get-company-info

Obtém informações detalhadas sobre uma empresa pelo número CIK.

Parâmetros:

  • cik: O número da Central Index Key (CIK) da empresa

get-company-filings

Obtém documentos SEC recentes de uma empresa pelo número CIK.

Parâmetros:

  • cik: O número da Central Index Key (CIK) da empresa
  • form (opcional): Filtrar por tipo de formulário (ex.: "10-K", "10-Q")
  • limit (opcional): Número máximo de documentos a retornar (padrão: 10)

get-financial-statement

Obtém dados de demonstrações financeiras de uma empresa.

Parâmetros:

  • cik: O número da Central Index Key (CIK) da empresa
  • concept: O conceito/métrica financeira a recuperar (ex.: "Revenue", "NetIncome")
  • fiscalPeriod: O período fiscal (ex.: "Q1", "FY")
  • fiscalYear: O ano fiscal (ex.: 2023)

Exemplos de Prompts para Pesquisa de Empresas

Aqui estão alguns exemplos de prompts que você pode usar com assistentes de IA que têm acesso ao servidor MCP Edgar:

Informações Básicas da Empresa

What is Apple's CIK number?
Get me basic information about Microsoft Corporation.
Find the ticker symbol for Alphabet Inc.

Análise de Demonstrações Financeiras

What was Apple's net income for fiscal year 2023?
Compare the revenue growth of Microsoft and Apple over the last 3 years.
Calculate the profit margin for Tesla in their most recent 10-K filing.
What is Amazon's debt-to-equity ratio based on their latest financial statements?

Pesquisa de Documentos SEC

Get the most recent 10-K filing for Apple Inc.
Find all 8-K filings for Tesla from the past year.
Summarize the risk factors mentioned in Microsoft's latest annual report.
What acquisitions did Meta Platforms report in their recent SEC filings?

Métricas e Índices Financeiros

Create a spreadsheet with key financial metrics for Apple Inc.
Calculate the return on assets (ROA) for Microsoft based on their latest 10-K.
Generate a consolidated statement of operations for Amazon for the past 3 years.
What is the current ratio for Google based on their latest quarterly report?

Comparações do Setor

Compare the profit margins of Apple, Microsoft, and Google.
Which tech company has the highest revenue growth over the past 2 years?
Create a spreadsheet comparing the R&D expenses of major pharmaceutical companies.
How does Tesla's debt-to-equity ratio compare to other automotive manufacturers?

Integração com Assistentes de IA

Para integrar este servidor MCP a um assistente de IA, adicione o servidor ao seu arquivo de configuração MCP. A configuração varia ligeiramente dependendo do assistente de IA que você está usando.

Configuração MCP Genérica

{
  "servers": [
    {
      "name": "edgar",
      "command": "/path/to/EdgarMcpServer"
    }
  ]
}

Configuração Windsurf (Cascade)

Para o assistente de IA Cascade do Windsurf, você pode configurar o servidor MCP Edgar no seu arquivo .cascade/config.json:

{
  "mcpServers": {
    "edgar": {
      "command": "/path/to/EdgarMcpServer/bin/Release/net8.0/EdgarMcpServer",
      "env": {
        "EDGAR_API_USER_AGENT": "EdgarMcpServer/1.0.0 (AI Assistant; you@example.com)"
      }
    }
  }
}

Configuração Claude

Para o assistente de IA Claude, você pode configurar o servidor MCP Edgar nas configurações do Claude:

{
  "mcpServers": {
    "edgar": {
      "command": "/path/to/EdgarMcpServer/bin/Release/net8.0/EdgarMcpServer",
      "env": {
        "EDGAR_API_USER_AGENT": "EdgarMcpServer/1.0.0 (AI Assistant; you@example.com)"
      }
    }
  }
}

O assistente de IA iniciará o servidor como um processo filho e se comunicará com ele via stdio.

Informações da API SEC EDGAR

Este projeto usa a API SEC EDGAR v1.0 (a partir de maio de 2025). A API SEC EDGAR fornece acesso a documentos de empresas e dados financeiros por meio de vários endpoints:

  • Company Facts API: https://data.sec.gov/api/xbrl/companyfacts/CIK{cik}.json
  • Company Concept API: https://data.sec.gov/api/xbrl/companyconcept/CIK{cik}/us-gaap/{concept}.json
  • Submissions API: https://data.sec.gov/submissions/CIK{cik}.json

Para informações detalhadas sobre a API SEC EDGAR, consulte a documentação oficial:

Ao solucionar problemas de API, verifique o seguinte:

  1. Certifique-se de que o cabeçalho User-Agent esteja configurado corretamente com suas informações de contato
  2. Verifique se você não está excedendo os limites de taxa da SEC (10 solicitações por segundo)
  3. Confirme se o número CIK está formatado corretamente com zeros à esquerda (10 dígitos no total)
  4. Verifique o Status do Sistema EDGAR da SEC para verificar se há interrupções

Notas Importantes

  • A API SEC EDGAR tem limites de taxa e diretrizes de uso. Consulte a documentação da API da SEC para obter detalhes.
  • Este servidor não implementa autenticação. Se for implantar em produção, considere adicionar medidas de segurança apropriadas.
  • Os dados financeiros devem ser verificados com fontes oficiais para tomada de decisões críticas.

Versões

O SEC EDGAR MCP Server é compilado e lançado automaticamente usando GitHub Actions. As versões estão disponíveis para:

  • Windows (x64)
  • macOS (Apple Silicon/ARM64)

Cada versão inclui executáveis autônomos que não exigem .NET instalado na máquina de destino.

Criando uma Versão

As versões podem ser acionadas de duas maneiras:

  1. Versão baseada em tag: Envie uma tag com o formato v* (ex.: v1.0.0) para o repositório

    git tag v1.0.0
    git push origin v1.0.0
    
  2. Versão manual: Acione o fluxo de trabalho "Build and Release" manualmente na aba GitHub Actions e especifique um número de versão

O fluxo de trabalho do GitHub Actions compilará o aplicativo para todas as plataformas suportadas, criará arquivos compactados e os publicará como ativos de versão.

Contribuindo

Contribuições para melhorar o SEC EDGAR MCP Server são bem-vindas! Veja como você pode contribuir:

  1. Fork do repositório: Clique no botão Fork no canto superior direito da página do repositório
  2. Clone seu fork: git clone https://github.com/YOUR_USERNAME/edgar-mcp.git
  3. Crie uma branch: git checkout -b feature/your-feature-name
  4. Faça suas alterações: Implemente seu recurso ou correção de bug
  5. Teste suas alterações: Certifique-se de que suas alterações não quebrem a funcionalidade existente
  6. Faça commit das suas alterações: git commit -m "Add your commit message here"
  7. Envie para seu fork: git push origin feature/your-feature-name
  8. Envie um pull request: Vá para o repositório original e clique em "New Pull Request"

Certifique-se de que seu código siga o estilo existente e inclua testes apropriados. Todos os pull requests devem ser feitos contra a branch main.

Diretrizes para Pull Requests

  • Forneça uma descrição clara das alterações no seu PR
  • Inclua números de issues relevantes na descrição do PR
  • Atualize a documentação conforme necessário
  • Adicione ou atualize testes conforme apropriado
  • Certifique-se de que todos os testes passem antes de enviar

Licença

Licença MIT

Copyright (c) 2025 Leopold O'Donnell

A permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido façam o mesmo, sujeito às seguintes condições:

O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.

O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO A, GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.