sap-b1-hana-mcp
sap-b1-hana-mcp
Servidor MCP (Model Context Protocol) para consultar SAP B1 HANA mediante SQL directo sobre el driver oficial de SAP (@sap/hana-client).
Sin instalación: se ejecuta con npx directamente desde este repositorio de GitHub. Solo necesitas definir variables de entorno.
Uso
1. Requisitos
Node.js 20+ (solo en la máquina que ejecuta el agente; no se instala nada del MCP).
2. Registro en opencode (u otro cliente MCP)
Añade este bloque a tu configuración de opencode (por ejemplo ~/.config/opencode/opencode.json):
{
"mcp": {
"sap-b1-hana": {
"type": "local",
"command": ["npx", "-y", "github:leonardows1/sap-b1-hana-mcp"],
"environment": {
"HANA_HOST": "192.168.1.100",
"HANA_PORT": "30015",
"HANA_USER": "USUARIO_HANA",
"HANA_PASSWORD": "TU_CONTRASEÑA",
"HANA_DATABASE": "MI_TENANT",
"HANA_SCHEMA": "MI_EMPRESA",
"HANA_READONLY": "true"
},
"enabled": true
}
}
}Nota: la primera ejecución de
npxdescarga e instala el paquete y puede tardar más de 5 segundos. Si el cliente MCP reporta timeout al iniciar, aumenta"timeout": 60000en el bloque.
3. Variables de entorno
Variable | Obligatoria | Descripción | Ejemplo |
| Sí | Host del servidor HANA |
|
| No (default | Puerto HANA (tenant) |
|
| Sí | Usuario de HANA |
|
| Sí | Contraseña |
|
| No | Tenant de HANA (MDC) |
|
| No | Esquema (company database de SAP B1) |
|
| No (default |
|
|
| No (default |
|
|
Related MCP server: SAP MCP Server
Herramientas MCP
Tool | Descripción |
| Ejecuta SQL y devuelve filas en JSON ( |
| Verifica la conexión: base de datos, versión y esquema actual. |
| Lista esquemas de la instancia (filtro opcional por patrón). |
| Lista tablas de un esquema (filtro opcional por patrón). |
| Estructura de una tabla: columnas, tipos, longitud, escala, nulabilidad. |
Importante sobre SQL y SAP B1
Las tablas y columnas de SAP B1 usan mayúsculas y minúsculas mezcladas y distinguen mayúsculas: los nombres de columna deben escribirse entre comillas dobles:
SELECT "ItemCode", "ItemName", "OnHand" FROM OITM WHERE "OnHand" > 0 ORDER BY "OnHand" DESCSin comillas, HANA convierte a mayúsculas y la consulta falla con invalid column name.
Modo solo lectura
Con HANA_READONLY=true (por defecto) el servidor rechaza cualquier sentencia que no sea SELECT, WITH, EXPLAIN, SHOW o DESCRIBE. Para habilitar escrituras usa HANA_READONLY=false — bajo tu responsabilidad.
Desarrollo
npm install
npm run build # compila TypeScript a dist/
npm test # tests unitarios (vitest)La carpeta dist/ se compila y se versiona: es lo que ejecuta npx github:... sin necesidad de build en la máquina del usuario.
Arquitectura
Capas con inyección de dependencias manual y principios SOLID:
src/
├── index.ts Composition root: DI, host MCP (stdio)
├── configuration/ HanaOptions + validación de variables de entorno
├── domain/ Modelos: QueryResult, SchemaInfo, TableInfo, ColumnInfo, StatementKind
├── application/ Abstracciones de servicios + ISqlGuard (Strategy) + clasificador SQL
├── infrastructure/ Única capa que toca @sap/hana-client: factory de conexión,
│ servicios de consulta/esquema, mapeo de datos (Buffer→base64, Date→ISO)
└── mcp/ Adaptadores delgados: registro de tools MCPLicencias
Este proyecto: MIT.
Driver
@sap/hana-client: SAP Developer License Agreement (se distribuye como dependencia npm, no se versiona en este repositorio). Vernode_modules/@sap/hana-client/developer-license-3_2.txt.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides database interaction and business intelligence capabilities, enabling users to run SQL queries, analyze business data, and automatically generate business insight memos for Microsoft SQL Server databases.39MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to query live data from SAP HANA and SQL databases through read-only SELECT queries with CSV-formatted results.MIT
- FlicenseNot gradedqualityDmaintenanceProvides secure, read-only access to Microsoft SQL Server with multi-layer protection, enabling safe query execution, schema discovery, and SQL script analysis through natural language.1
- AlicenseNot gradedqualityCmaintenanceEnables safe, read-only querying and schema exploration for Microsoft SQL Server databases with preconfigured Diamond Inventory support, multiple database management, and optional HTTP API.MIT
Related MCP Connectors
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Run SOQL queries to explore and retrieve Salesforce data. Inspect records, fields, and relationshi…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/leonardows1/sap-b1-hana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server