← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

Compare scores, permissions, risks, and fit in one decision-focused table.

DimensionMCP Fiscal BrasilMCP server for Brazilian tax: CNPJ, NF-e, SPED, eSocial and the 2026 tax reform (IBS/CBS) — no signup, offline tables.CompartmentEncrypted, fully offline long-term memory for AI agents
FMRS67 / 100 · C75 / 100 · B
Reliability11 / 2012 / 20
Security and permissions14 / 2016 / 20
Maintenance14 / 2014 / 20
Documentation13 / 2018 / 20
Setup experience15 / 2015 / 20
Best for
  • Accounting, ERP, CRM and finance-automation teams serving the Brazilian market.
  • Developers who want local, offline NF-e/SPED processing without uploading XML to third parties.
  • Users of MCP clients such as Claude or Cursor who want to query Brazilian tax data in natural language.
  • Anyone needing offline reference tables such as NCM/CFOP/CST/CEST/ICMS and BCB indexers.
  • Individuals or teams who prioritise privacy and offline operation and do not want data leaving the machine
  • Users who share memory across multiple MCP clients such as Claude Code, Claude Desktop, Hermes Agent, OpenClaw, Cursor, Codex and Gemini CLI
  • Scenarios that need encrypted storage, a hash-chained audit log and verifiable vault migration
  • Users who want low-latency recall, a bundled embedding model and no extra LLM calls inside the memory layer
Not for
  • Users needing US or other non-Brazilian tax capabilities.
  • Those expecting official government backing or an official MCP project (this server is maintained by DeHor-Labs, not officially).
  • Anyone wanting SEFAZ real-time status, distribution or manifestation without configuring an A1 certificate.
  • Large-scale CNPJ lookup by company name, which is experimental with limited coverage.
  • Users who need cloud multi-device sync or a hosted team memory service; moving between machines means locking the vault and copying the file
  • Users who expect the server itself to run an LLM that extracts facts and decides what to remember; Compartment explicitly keeps no LLM inside and leaves that to the host model
  • Users who cannot keep a passphrase safe or who need a recovery path if it is lost, since Compartment never generates a password, seed or recovery phrase
  • Deployments that require network transports such as SSE or streamable-http; this server is stdio only and opens no ports
Required permissions
  • Runs locally as an MCP server over stdio; no account or API key required.
  • Network access: calls BrasilAPI (cnpj, nfe, and more) plus an optional ReceitaWS fallback.
  • Optional A1 digital certificate: requires reading a local .pfx/.p12 file and its password for SEFAZ mTLS and XMLDSig signing.
  • Optional environment variables: MCP_FISCAL_LOG_LEVEL, BRASILAPI_BASE_URL, HTTP_TIMEOUT, and NFE_CERTIFICADO_PATH, NFE_CERTIFICADO_SENHA, NFE_EMITENTE_CNPJ, NFE_AMBIENTE.
  • Read and write the vault file under the user's home directory, by default ~/.compartment/memory.vault, and its sibling settings file
  • Access the session directory holding the unlock credential (configurable with COMPARTMENT_SESSION_DIR), which also carries the shared embedding process's Unix socket
  • Optionally use the macOS keychain (compartment unlock --keychain is an explicit opt-in, and it survives reboots)
  • Write or merge an mcpServers entry into each MCP client's own configuration file, taking a byte-exact backup first
  • Install a PostToolUse hook for Claude Code that captures memory files the agent writes
  • Serve a read-only dashboard on 127.0.0.1 behind a one-time random URL token
Risks and side effects
  • Third-party sources (BrasilAPI, ReceitaWS, SEFAZ) can be unstable or change, making results stale or failing.
  • With an A1 certificate enabled, the certificate file and password are sensitive local assets: inject them via a secrets manager as documented and never commit plaintext passwords.
  • Tool outputs and advice (such as risk scores or regime comparisons) are informative and do not replace a professional accountant or legal advice.
  • consultar_status_sefaz raises FiscalConfigurationError when no certificate is configured and the HTTP endpoint returns 503; distinguish this from an actual SEFAZ outage.
  • The experimental listar_cnpjs_por_nome tool has limited coverage and may return unexpected results.
  • A leaked passphrase means the encrypted content can be decrypted; Compartment generates no recovery phrase and cannot recover a lost passphrase
  • Enabling the memory_unlock tool places the passphrase in the model's context, which is why it is off by default
  • If a 2FA keyfile is lost, for example a USB stick, the vault cannot be opened even with the passphrase
  • `export --plaintext` writes the vault as unencrypted JSONL, so that file must be handled carefully
  • Memory content can come from untrusted sources; recall wraps memories with a notice that they are stored data and content can be marked quarantined, but the host agent must still treat memory as data to limit prompt-injection risk
  • The capture hook and client integration write into the user's own settings files, although the implementation backs up and merges rather than replacing
Supported clientsClaude Desktop, Claude Code, Cursor, VS Code + ContinueClaude Desktop, Claude Code, Hermes Agent, OpenClaw, Cursor, VS Code, Codex, Gemini CLI, Cline, Roo Code, Zed, OpenCode, LM Studio, AnythingLLM, BoltAI, Goose, Kiro
Tools2514