2026
Servidor MCP con RAG local sobre la documentación del SDK de SAP
Un servidor MCP que indexa los manuales oficiales del SDK de SAP Business One en una base vectorial local, para que los asistentes de IA dejen de inventarse tablas, eventos y firmas.
- Python
- MCP
- FastMCP
- ChromaDB
- Ollama
- RAG
Problema
Los asistentes de IA no vieron la documentación del SDK de SAP Business One durante su entrenamiento. Cuando les preguntas por una tabla, por un evento o por la firma de un método, rellenan el hueco con algo que suena verosímil. El resultado es código que parece correcto y falla dentro del ERP, y el programador acaba tardando más en verificar la respuesta que en buscarla a mano.
Solución
Monté un servidor MCP que indexa los manuales oficiales del SDK (DI API, UI API y estructura de base de datos) en una base vectorial local y los expone como herramientas consultables desde el asistente.
El patrón es RAG: en lugar de confiar en la memoria del modelo, se recupera el fragmento de documentación que corresponde a la pregunta y se le entrega como contexto. La respuesta se apoya en un texto que existe y que se puede comprobar.
No hay una única búsqueda. Hay cuatro herramientas con orden de preferencia: búsqueda exacta de entidad cuando se conoce el nombre, listado de miembros de esa entidad, ejemplos de uso y, solo como último recurso, búsqueda semántica. La recuperación por similitud es la peor manera de contestar a "qué campos tiene este objeto", porque devuelve lo parecido y no lo correcto.
Los embeddings se generan en local con Ollama. Ni la documentación ni el código consultado salen de la máquina.
Arquitectura
Manuales oficiales del SDK (DI API, UI API, estructura de BD)
|
v
Troceado + embeddings locales (Ollama)
|
v
Base vectorial (ChromaDB)
|
v
Servidor MCP (Python + FastMCP)
|
+-----------------+-----------------+-----------------+
| | | |
v v v v
entidad exacta listado miembros ejemplos de uso busqueda semantica
| | | |
+-----------------+-----------------+-----------------+
|
v
Asistente de IA del editorPor qué está montado así
Los embeddings y la base vectorial corren en local. La documentación del SDK y el código sobre el que se pregunta no salen de la máquina, y esa era condición de partida.
Hay cuatro herramientas en vez de un único "buscar". Si el modelo sabe el nombre de la entidad entra por la vía exacta; la semántica queda para cuando no lo sabe.
Protocolo MCP con FastMCP encima, así que el servidor vale para cualquier cliente compatible y no queda atado a un editor concreto.
Solo se indexan los manuales oficiales. Lo que recupera es el texto del fabricante, no lo que circula por los foros.
Resultado
4.755 páginas de documentación oficial indexadas y consultables desde el asistente, con todo el proceso ejecutándose en local.
Contacto
Trabajemos juntos en tu próximo proyecto
Si tienes un proyecto de SAP Business One, una integración pendiente o simplemente una duda, escríbeme. Respondo a todos los mensajes.
- Ubicación
- Palma, Mallorca
- in/ramon-artigues
- GitHub
- RamonArtigues