Back to Browse

Apex Mcp Framework MCP Server

Developer ToolsUse Caution3.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Framework MCP do Apex ERP Contábil: CNAEs, jurídico, obrigações, financeiro, marketing e WhatsApp.

About

Framework MCP do Apex ERP Contábil: CNAEs, jurídico, obrigações, financeiro, marketing e WhatsApp.

Security Report

3.2
Use Caution3.2High Risk

This MCP server provides a framework for exposing ERP business capabilities through authenticated HTTP calls. While the authentication architecture is reasonable (Supabase with token refresh), several security concerns reduce confidence: hardcoded Supabase credentials in config defaults, missing input validation in tool handlers, broad unauthenticated access when credentials are absent, and inconsistent error handling that may leak sensitive information. The permissions align with the framework's purpose (network access for ERP/Supabase APIs, environment variables for credentials), but implementation gaps weaken the security posture. Supply chain analysis found 5 known vulnerabilities in dependencies (0 critical, 5 high severity). Package verification found 1 issue.

8 files analyzed · 14 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

URL base da API do ERPOptional

Environment variable: ERP_BASE

E-mail da conta de serviço (auth Bearer)Required

Environment variable: ERP_MCP_EMAIL

Senha da conta de serviçoRequired

Environment variable: ERP_MCP_PASSWORD

URL do Supabase para login/refresh da conta de serviçoOptional

Environment variable: SUPABASE_URL

Chave anon do SupabaseRequired

Environment variable: SUPABASE_ANON_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-ogconstrutorasp-apex-contabil": {
      "env": {
        "ERP_BASE": "your-erp-base-here",
        "SUPABASE_URL": "your-supabase-url-here",
        "ERP_MCP_EMAIL": "your-erp-mcp-email-here",
        "ERP_MCP_PASSWORD": "your-erp-mcp-password-here",
        "SUPABASE_ANON_KEY": "your-supabase-anon-key-here"
      },
      "args": [
        "apex-mcp-framework"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

apex-mcp-framework

Framework MCP reutilizável que conecta um ERP a agentes Model Context Protocol via stdio (Python, SDK oficial mcp 1.x). Expõe capacidades de negócio — classificação de CNAEs, revisão jurídica de contratos, obrigações fiscais, financeiro, marketing com publicação real em Facebook/Instagram, WhatsApp e relatórios — como ferramentas MCP autenticadas.

Projeto derivado do Apex ERP Contábil. Este repositório é o home público do servidor MCP — a publicação nos registries (Smithery, Glama, mcp.so, registry oficial) aponta para cá.


✨ O que é um "framework" aqui?

Você não edita o núcleo do servidor para mudar comportamento. A estrutura é modular:

apex-mcp-framework/
├── pyproject.toml          # empacotamento (pip install -e .)
├── requirements.txt        # mcp>=1.0.0,<2.0.0 (API 1.x do SDK)
├── server.json             # metadados p/ registries MCP
├── src/apex_mcp/
│   ├── __main__.py         # python -m apex_mcp
│   ├── server.py           # servidor MCP (stdio) — raramente mexe
│   ├── config.py           # config via env (ERP_BASE, credenciais)
│   ├── http_client.py      # cliente HTTP com auth Bearer + refresh automático
│   └── tools.py            # ⭐ catálogo de ferramentas — É AQUI QUE VOCÊ ADICIONA
└── examples/
    └── mcp_client.py       # cliente MCP de exemplo

Para adicionar uma ferramenta nova, edite apenas src/apex_mcp/tools.py:

# 1) acrescente o Tool (o agente vê nome + descrição + schema)
Tool(name="minha_ferramenta", description="O que ela faz",
     inputSchema={"type": "object", "properties": {"campo": {"type": "string"}}, "required": ["campo"]}),

# 2) acrescente a rota (método, path na API do ERP)
"minha_ferramenta": ("POST", "/api/meu-modulo/acao", None),

Pronto — o servidor expõe automaticamente. Nenhum outro arquivo muda.


🚀 Instalação e execução

git clone https://github.com/ogconstrutorasp/apex-mcp-framework.git
cd apex-mcp-framework
pip install -r requirements.txt     # ou: pip install -e .
python -m apex_mcp                  # inicia o servidor (stdio)

Configuração (variáveis de ambiente):

VariávelDescriçãoPadrão
ERP_BASEURL base da API do ERPhttp://localhost:3001 (produção: https://apex-contabil.vercel.app)
SUPABASE_URLURL do Supabase (login da conta de serviço)https://vebileaugzzrgnhgmvmr.supabase.co
SUPABASE_ANON_KEYchave anon do Supabase<anon-key>
ERP_MCP_EMAIL / ERP_MCP_PASSWORDconta de serviço — o framework autentica com Bearer em todas as chamadas e renova o token sozinhovazio (modo sem auth, avisa)

API key por tenant (x-api-key): consulte o painel do ERP (Fase 5 — máquina-a-máquina).

🔌 Conectar em um cliente MCP

Claude Desktop / qualquer cliente MCP:

{
  "mcpServers": {
    "apex-contabil": {
      "command": "python",
      "args": ["-m", "apex_mcp"]
    }
  }
}

🧰 Ferramentas (13)

classificar_cnae · revisar_contrato · consultar_saldo_cliente · consultar_cronograma_obrigacoes · gerar_post_marketing · publicar_post_agora · analytics_marketing · criar_campanha_meta · gerar_criativos_multiplataforma · enviar_whatsapp · alertas_pendentes · gerar_relatorio · enviar_notificacao

🧪 Testar localmente

python examples/mcp_client.py
# Handshake OK — 13 ferramentas:
#   - classificar_cnae: ...
#   ...

🌐 Catálogo público

  • Metadados para registro: server.json
  • Catálogo do ERP: https://apex-contabil.vercel.app/api/mcp/catalogo
  • Guia de publicação nos registries: veja docs/PUBLICAR-MCP-REGISTRIES.md no repo do ERP.

🔒 Segurança

  • O framework só expõe ferramentas do próprio ERP via API autenticada (Bearer de conta de serviço ou x-api-key por tenant) — nunca shell/arquivos arbitrários.
  • Credenciais vêm somente de variáveis de ambiente; nada é commitado.
  • O SDK está fixado em mcp<2 porque o servidor usa a API 1.x (Server.list_tools/call_tool), removida no 2.x.

📄 Licença

MIT — veja LICENSE.

Reviews

No reviews yet

Be the first to review this server!