Skip to main content
Glama
fidsouzarv

mcp-nfs-emissor

by fidsouzarv
README.md
# 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

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityStale
ResponsivenessNo issues