mcp-nfs-emissor
# mcp-nfs-emissor
Servidor **MCP** (Desktop Extension `.mcpb`) que emite **NFS-e de comissão de afiliado da Shopee** a partir do CSV mensal. Roda **100% local via stdio** — o CSV, o certificado A1 e a emissão nunca saem da máquina.
> Estado atual: **scaffold**. Estrutura, configs, servidor MCP e testes estão de pé; a tool `listar_saidas` é funcional e as outras 6 são stubs (`isError`). A lógica de negócio (parse/agregação/emissão) e os providers reais chegam nas próximas fases — ver `docs/plugin-claude-mvp/`.
## Requisitos
- Node.js >= 18 (testado no 24)
- pnpm
## Scripts
```bash
pnpm install # instala dependências
pnpm dev # roda o servidor em dev (tsx), stdio
pnpm build # compila para dist/ (entry_point do .mcpb = dist/server.js)
pnpm typecheck # checagem de tipos sem emitir
pnpm test # testes de integração (vitest, transporte in-memory)
```
## Tools (catálogo — fase-2 §5)
| Tool | Estado |
|---|---|
| `configurar_prestador` | stub |
| `carregar_csv` | stub |
| `previsualizar_emissao` | stub |
| `emitir_nfse` | stub |
| `consultar_status` | stub |
| `reprocessar_falhas` | stub |
| `listar_saidas` | **funcional** |
## Documentação
- Fonte de verdade do plugin: `docs/plugin-claude-mvp/` (fases 1–4 + decisões).
- Plano do scaffold: `docs/emissores-nf/plan-scaffold-mcp-01.md`.
- Contexto fiscal e mapeamento do CSV: `docs/emissores-nf/`.
## Segurança
Segredos (token do provedor, senha do `.pfx`) chegam por `user_config` → env, guardados no Keychain/Credential Manager do SO. O `.pfx` fica **fora** do bundle (referenciado por caminho). Nada de segredo é versionado — ver `.gitignore` e `.env.example`.
## Licença
MIT
TDQS
Scored across 7 tools
Each tool addresses a distinct step in the NFS-e emission workflow: configuration, CSV loading, dry-run preview, actual emission, status checking, reprocessing failures, and listing historical outputs. There is no functional overlap.
All tool names follow a consistent verb_noun pattern in Portuguese (e.g., configurar_prestador, carregar_csv), using lowercase with underscores throughout. No naming style conflicts are present.
With 7 tools, the server covers all essential phases of batch NFS-e generation from setup to post-processing. The count is neither sparse nor excessive for the domain.
The tool set covers the core workflow (config, load, preview, emit, check status, reprocess failures, list history). A minor gap is the lack of a tool for individual note viewing or manual adjustment, but the overall lifecycle is well-supported.