NVD MCP Server
by afukaya
README.md
# NVD MCP Server
Servidor MCP em Python para consultar a API NVD Vulnerability API 2.0 (NIST).
## Funcionalidades
- Consulta detalhada por identificador CVE.
- Pesquisa por palavra-chave, CPE, CWE, severidade CVSS v3 e catálogo KEV da CISA.
- Consulta de vulnerabilidades por intervalo de data de publicação.
- Transporte MCP via SSE para uso remoto ou STDIO para execução local.
- Execução em contêiner Docker com usuário não-root.
## Requisitos
- Python 3.10 ou superior, ou Docker com Docker Compose.
- Opcionalmente, uma chave da API NVD na variável `NVD_API_KEY`.
## Execução com Docker Compose
```bash
docker compose up --build
```
Por padrão, o servidor fica disponível em `http://localhost:8000/sse`.
Para usar uma chave da API NVD, defina `NVD_API_KEY` no ambiente antes de iniciar o Compose:
```bash
NVD_API_KEY=sua-chave docker compose up --build
```
No PowerShell:
```powershell
$env:NVD_API_KEY = "sua-chave"
docker compose up --build
```
## Execução local
Instale as dependências e inicie o servidor SSE:
```bash
python -m pip install -r requirements.txt
python nvd_mcp_server.py
```
Para usar STDIO:
```bash
MCP_TRANSPORT=stdio python nvd_mcp_server.py
```
No PowerShell:
```powershell
$env:MCP_TRANSPORT = "stdio"
python nvd_mcp_server.py
```
As variáveis `MCP_HOST`, `MCP_PORT` e `MCP_TRANSPORT` permitem ajustar o transporte e o endereço de escuta.
## Ferramentas MCP
- `get_cve_details`: retorna os detalhes de um CVE.
- `search_vulnerabilities`: pesquisa vulnerabilidades com filtros.
- `get_recent_vulnerabilities_by_date`: consulta publicações em um intervalo de datas.
## Configuração do cliente
O arquivo `agent_config.json` contém um exemplo de configuração para um cliente MCP remoto. Altere a URL para o endereço real do servidor antes de usá-lo.
## Licença
Este projeto não define uma licença. Consulte o proprietário antes de reutilizar o código em outros projetos.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues