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ável | Descrição | Padrão |
|---|---|---|
ERP_BASE |
URL base da API do ERP | http://localhost:3001 (produção: https://apex-contabil.vercel.app) |
SUPABASE_URL |
URL do Supabase (login da conta de serviço) | https://vebileaugzzrgnhgmvmr.supabase.co |
SUPABASE_ANON_KEY |
chave anon do Supabase | <anon-key> |
ERP_MCP_EMAIL / ERP_MCP_PASSWORD |
conta de serviço — o framework autentica com Bearer em todas as chamadas e renova o token sozinho | vazio (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.mdno 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-keypor tenant) — nunca shell/arquivos arbitrários. - Credenciais vêm somente de variáveis de ambiente; nada é commitado.
- O SDK está fixado em
mcp<2porque o servidor usa a API 1.x (Server.list_tools/call_tool), removida no 2.x.
📄 Licença
MIT — veja LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apex_mcp_framework-1.1.1.tar.gz.
File metadata
- Download URL: apex_mcp_framework-1.1.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9169da73bdf67751074edb3697551709be7d6307ae7f36b1615517c1d4254773
|
|
| MD5 |
3ab40f6b0d2589f004cb9b9268203fe2
|
|
| BLAKE2b-256 |
1de2a335e6fdb9d187137bfa465e15f9eede7b39003d671095282aede1b27b28
|
File details
Details for the file apex_mcp_framework-1.1.1-py3-none-any.whl.
File metadata
- Download URL: apex_mcp_framework-1.1.1-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bae4c2a06108f6ca546db093f07b64a68ff6e00184ac8c934df52160b1e14b18
|
|
| MD5 |
14969d6879a04cfcfcd9ed5e24919107
|
|
| BLAKE2b-256 |
7aa06cc4290633d6a70100028c46544a39662c6f7afcd551a5059cdd45ce898d
|