SSC MCP Server

Servidor MCP para SecurityScorecard, com busca semântica híbrida em todos os 628 endpoints da API.

Documentação

SSC MCP Server

npm version License: MIT

Um servidor Model Context Protocol (MCP) abrangente, construído pela comunidade, que se integra à API SecurityScorecard. Ele roda via stdio, funcionando com qualquer cliente compatível com MCP — Claude Desktop, Claude Code, Cursor, VS Code e outros.

Publicado no npm como @callmarcus/securityscorecard-mcp e listado no MCP Registry como io.github.CallMarcus/securityscorecard-mcp.

Aviso: Este é um projeto independente de código aberto, construído pela comunidade. Ele não é afiliado, endossado, patrocinado ou associado à SecurityScorecard, Inc. de forma alguma. Foi construído apenas com base na documentação pública da API da SecurityScorecard. "SecurityScorecard" e todos os nomes, marcas e logotipos relacionados são marcas registradas da SecurityScorecard, Inc. e são usados aqui apenas para fins de identificação. Você deve fornecer suas próprias credenciais de API e cumprir os termos de serviço da SecurityScorecard.

Início Rápido

Pré-requisitos

  1. Node.js 20+ - Baixar
  2. Token da API SecurityScorecard - Obtenha no seu painel SecurityScorecard

Opção A — Instalar via npm (recomendado)

Não é necessário clonar nem compilar. O servidor roda via stdio usando npx, então qualquer cliente compatível com MCP pode iniciá-lo. npx -y sempre busca a versão publicada mais recente.

A maioria dos clientes — Claude Desktop, Cursor, Cline, Windsurf e outros — compartilham o mesmo JSON mcpServers. Adicione este bloco à configuração MCP do cliente:

{
  "mcpServers": {
    "security-scorecard": {
      "command": "npx",
      "args": ["-y", "@callmarcus/securityscorecard-mcp"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Onde esse arquivo de configuração fica:

ClienteArquivo de configuração
Claude Desktop (Windows)%APPDATA%\Claude\claude_desktop_config.json
Claude Desktop (macOS)~/Library/Application Support/Claude/claude_desktop_config.json
Cursor~/.cursor/mcp.json (global) ou .cursor/mcp.json (projeto)

Substitua as credenciais pelas suas e reinicie o cliente.

Claude Code — adicione via CLI:

claude mcp add security-scorecard \
  --env SECURITY_SCORECARD_API_TOKEN=your-api-token-here \
  --env COMPANY_DOMAIN=example.com \
  -- npx -y @callmarcus/securityscorecard-mcp

No Windows, envolva o launcher em cmd /c: ... -- cmd /c npx -y @callmarcus/securityscorecard-mcp.

VS Code (Copilot) — usa uma chave servers com um type explícito, em .vscode/mcp.json:

{
  "servers": {
    "security-scorecard": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@callmarcus/securityscorecard-mcp"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Opção B — Executar a partir do código-fonte (para desenvolvimento)

# Clone the repository
git clone https://github.com/CallMarcus/security-scorecard-mcp.git
cd security-scorecard-mcp

# Install dependencies
npm install

# Build (use build:fast to avoid memory issues)
npm run build:fast

Em seguida, aponte seu cliente MCP para a compilação local. Para clientes que usam o formato mcpServers (Claude Desktop, Cursor, …):

{
  "mcpServers": {
    "security-scorecard": {
      "command": "node",
      "args": ["/path/to/security-scorecard-mcp/build/index.js"],
      "env": {
        "SECURITY_SCORECARD_API_TOKEN": "your-api-token-here",
        "COMPANY_DOMAIN": "example.com"
      }
    }
  }
}

Importante: Substitua o caminho e as credenciais pelos seus valores reais e reinicie o cliente MCP. (Para Claude Code, execute claude mcp add security-scorecard --env SECURITY_SCORECARD_API_TOKEN=your-api-token-here -- node /path/to/security-scorecard-mcp/build/index.js.)

Ferramentas Disponíveis

O servidor (index.js) fornece 9 ferramentas especializadas:

FerramentaObjetivo
security_dashboardPontuação, classificação e métricas de segurança essenciais
analyze_security_risksPriorização de problemas e análise de risco
create_improvement_planRoteiros de remediação acionáveis
discover_assetsInventário de ativos com contexto de segurança
analyze_email_securityAnálise de SPF/DMARC/DKIM
api_discoveryBusca em 517 endpoints de API com pesquisa híbrida semântica/palavras-chave
analyze_issue_typesDetalhamento granular por tipo de problema
validate_data_completenessVerificação de dados entre ferramentas
query_security_dataAcesso direto à API com descoberta

Modos de Resposta

Cada ferramenta suporta três modos de resposta para eficiência de tokens:

  • minimal - Respostas rápidas (15-50 tokens)
  • standard - Visão geral com contexto (200-300 tokens)
  • detailed - Análise abrangente (800+ tokens)

Variáveis de Ambiente

VariávelObrigatóriaDescrição
SECURITY_SCORECARD_API_TOKENSimSeu token de API
COMPANY_DOMAINNãoDomínio padrão para consultas
DEBUG_MODENãoDefina true para registro detalhado

Limitação de taxa e cache opcionais:

REQUEST_CACHE_TTL_MS=300000
REQUESTS_PER_INTERVAL=5
REQUEST_INTERVAL_MS=1000

Descoberta de API

O servidor inclui busca híbrida (semântica + palavras-chave) para encontrar endpoints da API SecurityScorecard:

Use api_discovery to search for "email security"

Isso pesquisa 517 endpoints indexados e retorna caminhos correspondentes com pontuações de confiança, parâmetros necessários e exemplos de curl.

Para atualizar a referência da API após alterações:

npm run api:embed    # Regenerate semantic embeddings
npm run api:update   # Regenerate docs + embeddings

Desenvolvimento

Comandos de Compilação

npm run build:fast   # Recommended - uses esbuild (~130ms)
npm run build        # TypeScript compiler (may OOM on some systems)
npm test             # Run tests

Estrutura do Projeto

src/
  index.ts               # MCP server (9 tools)
  api/client.ts          # SecurityScorecard API client
  integration/           # API discovery system
docs/api/                # Self-contained API reference
  index.jsonl            # Endpoint index (517 endpoints)
  index-embeddings.json  # Semantic search embeddings
build/                   # Compiled JavaScript

Testes

npm test             # Run test suite

Solução de Problemas

Falha na compilação por falta de memória

Use a compilação rápida:

npm run build:fast

Erros de "Cannot find module"

Reinstale as dependências:

rm -rf node_modules
npm install
npm run build:fast

Busca semântica degrada para apenas palavras-chave (Windows + WSL)

Instale para a plataforma que executa o servidor. O Claude Desktop no Windows inicia o servidor com node do Windows, então se npm install rodou sob WSL, os módulos nativos (onnxruntime-node, sharp) só têm binários Linux — a camada de embeddings falha ao carregar e api_discovery é degradada silenciosamente para busca apenas por palavras-chave (os resultados ainda retornam, mas a pontuação de confiança é mais grosseira). Execute npm install && npm run build:fast a partir do PowerShell ou cmd no diretório do repositório — ou mantenha dois clones, um por plataforma.

Seu cliente não vê o servidor

  1. Verifique o local do arquivo de configuração do seu cliente (veja Início Rápido)
  2. Para instalação a partir do código-fonte, confirme se o caminho para build/index.js está correto
  3. Reinicie o cliente completamente
  4. Faça uma verificação de sanidade: o servidor deve iniciar sozinho: npx -y @callmarcus/securityscorecard-mcp (deve abrir e aguardar silenciosamente no stdio)

A API retorna 401 Unauthorized

Seu token de API é inválido ou expirou. Obtenha um novo no painel da SecurityScorecard.

Licença

MIT

Links