MCP SAP Business One
by jhsementes
README.md
# MCP SAP Business One
Servidor MCP em Docker para SAP Business One 10.0 Service Layer, com autenticação por usuário e chave pessoal `mcp_live_...`.
## Fluxo
1. Usuário abre `https://mcp-sap.jh.com.br/connect`
2. Informa CompanyDB, usuário e senha do SAP
3. Copia a chave `mcp_live_...` no Cursor ou Claude Code
## Deploy em 192.168.10.30
```bash
ssh usuario@192.168.10.30
sudo mkdir -p /docker/mcp-sap
cd /docker/mcp-sap
git clone https://github.com/jhsementes/mcp-sap.git .
cp .env.example .env
# Edite .env com SAP_SL_URL e demais variáveis
docker compose up -d --build
```
## Variáveis principais
| Variável | Descrição |
|----------|-----------|
| `SAP_SL_URL` | URL base do Service Layer (sem `/b1s/v1`) |
| `SAP_COMPANY_DB` | CompanyDB padrão no formulário de login |
| `SAP_ALLOW_WRITES` | `false` por padrão — bloqueia POST/PATCH/DELETE |
| `MCP_PUBLIC_URL` | URL pública para callbacks e config do Cursor |
| `PORT` | Porta HTTP (padrão 8789) |
## Ferramentas MCP
- `status_sap` — verifica sessão ativa
- `url_conexao_sap` — URL para reconectar
- `consultar_entidade` — GET OData com `$filter`, `$select`, etc.
- `obter_registro` — GET por chave (`Invoices(123)`)
- `executar_requisicao_sl` — requisição genérica (escritas só se `SAP_ALLOW_WRITES=true`)
## Desenvolvimento local
```bash
cp .env.example .env
npm install
npm run dev
```
Abra `http://localhost:8789/connect`.
## Configuração Cursor
```json
{
"mcpServers": {
"sap": {
"url": "https://mcp-sap.jh.com.br/mcp",
"headers": {
"Authorization": "Bearer mcp_live_..."
}
}
}
}
```
## Documentação SAP
A skill `sap-b1-access` em `.cursor/skills/` contém referência validada do ambiente JH Sementes (EntitySets, OData, troubleshooting).
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing