- Update docs/_MAP.md with new phase references - Add docs/04-fase-saas/ phase structure - Add docs/05-fase-ia/ phase structure Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
276 lines
7.6 KiB
Markdown
276 lines
7.6 KiB
Markdown
# MGN-022: MCP Server Veterinario
|
|
|
|
**Modulo:** MGN-022
|
|
**Nombre:** MCP Server para Clinicas Veterinarias
|
|
**Fase:** 05 - Inteligencia Artificial
|
|
**Estado:** Draft
|
|
**Ultima actualizacion:** 2026-01-13
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Servidor MCP (Model Context Protocol) especializado para clinicas veterinarias. Expone herramientas de negocio veterinario a los modelos de lenguaje, permitiendo que el asistente IA interactue con expedientes de mascotas, cartillas de vacunacion, citas y hospitalizaciones.
|
|
|
|
---
|
|
|
|
## Normativas Aplicables
|
|
|
|
- **NOM-064-ZOO-2000**: Trazabilidad de medicamentos y vacunas
|
|
- **SENASICA**: Registro oficial de vacunacion
|
|
- **Bienestar Animal**: Registro de condiciones de pacientes
|
|
|
|
---
|
|
|
|
## Herramientas MCP Veterinarias
|
|
|
|
### Mascotas Tools (4 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `consultar_historial_mascota` | Expediente clinico completo | mascota_id |
|
|
| `buscar_mascota` | Buscar por nombre o propietario | query, propietario_id? |
|
|
| `obtener_signos_vitales` | Ultimos signos vitales | mascota_id |
|
|
| `listar_mascotas_propietario` | Mascotas de un propietario | propietario_id |
|
|
|
|
### Vacunacion Tools (4 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `consultar_cartilla_vacunacion` | Historial de vacunas | mascota_id |
|
|
| `registrar_vacuna` | Registrar aplicacion | mascota_id, vacuna_id, lote, veterinario_id |
|
|
| `vacunas_pendientes` | Vacunas proximas | mascota_id, dias_anticipacion? |
|
|
| `esquema_vacunacion_especie` | Esquema por especie | especie, edad_meses? |
|
|
|
|
### Desparasitacion Tools (3 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `verificar_desparasitacion` | Estado actual | mascota_id |
|
|
| `registrar_desparasitacion` | Registrar aplicacion | mascota_id, producto_id, dosis |
|
|
| `proxima_desparasitacion` | Fecha recomendada | mascota_id |
|
|
|
|
### Citas Tools (4 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `agendar_consulta` | Programar cita | mascota_id, fecha, hora, motivo, veterinario_id? |
|
|
| `consultar_citas` | Citas del dia/semana | fecha_inicio, fecha_fin?, veterinario_id? |
|
|
| `confirmar_cita` | Confirmar asistencia | cita_id |
|
|
| `cancelar_cita` | Cancelar cita | cita_id, motivo? |
|
|
|
|
### Hospitalizacion Tools (4 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `consultar_hospitalizacion` | Estado de internado | mascota_id |
|
|
| `registrar_evolucion` | Agregar nota de evolucion | hospitalizacion_id, notas, signos_vitales? |
|
|
| `pacientes_internados` | Lista de hospitalizados | area? |
|
|
| `alta_hospitalizacion` | Dar de alta | hospitalizacion_id, instrucciones |
|
|
|
|
### Laboratorio Tools (3 herramientas)
|
|
|
|
| Tool | Descripcion | Parametros |
|
|
|------|-------------|------------|
|
|
| `solicitar_estudio` | Ordenar estudio de lab | mascota_id, tipo_estudio, notas? |
|
|
| `resultados_laboratorio` | Consultar resultados | mascota_id, estudio_id? |
|
|
| `estudios_pendientes` | Estudios sin resultado | mascota_id? |
|
|
|
|
---
|
|
|
|
## Recursos MCP Veterinarios
|
|
|
|
| URI | Descripcion | Retorna |
|
|
|-----|-------------|---------|
|
|
| `vet://config/clinica` | Configuracion de la clinica | nombre, direccion, telefono, horarios |
|
|
| `vet://catalogo/vacunas` | Catalogo de vacunas | Array de vacunas por especie |
|
|
| `vet://catalogo/especies` | Especies soportadas | Array de especies con razas |
|
|
| `vet://calendario/vacunacion` | Calendario oficial | Esquemas por especie y edad |
|
|
| `vet://hospitalizacion/resumen` | Resumen de internados | total, por_area, alertas |
|
|
|
|
---
|
|
|
|
## Endpoints API
|
|
|
|
| Metodo | Endpoint | Descripcion |
|
|
|--------|----------|-------------|
|
|
| POST | /api/v1/mcp/tools/call | Ejecutar herramienta |
|
|
| GET | /api/v1/mcp/tools | Listar herramientas |
|
|
| GET | /api/v1/mcp/tools/:name | Definicion de herramienta |
|
|
| GET | /api/v1/mcp/resources | Listar recursos |
|
|
| GET | /api/v1/mcp/resources/:uri | Obtener recurso |
|
|
|
|
---
|
|
|
|
## Ejemplos de Uso
|
|
|
|
### Consultar Cartilla de Vacunacion
|
|
|
|
```json
|
|
// Request
|
|
{
|
|
"tool": "consultar_cartilla_vacunacion",
|
|
"params": {
|
|
"mascota_id": "pet-123"
|
|
}
|
|
}
|
|
|
|
// Response
|
|
{
|
|
"mascota": {
|
|
"nombre": "Max",
|
|
"especie": "canino",
|
|
"raza": "Labrador",
|
|
"edad": "2 anios"
|
|
},
|
|
"vacunas": [
|
|
{
|
|
"vacuna": "Cuadruple",
|
|
"fecha_aplicacion": "2024-03-15",
|
|
"lote": "LOT-2024-001",
|
|
"veterinario": "Dr. Garcia",
|
|
"proxima": "2025-03-15"
|
|
},
|
|
{
|
|
"vacuna": "Rabia",
|
|
"fecha_aplicacion": "2024-06-20",
|
|
"lote": "RAB-2024-050",
|
|
"veterinario": "Dr. Garcia",
|
|
"proxima": "2025-06-20"
|
|
}
|
|
],
|
|
"pendientes": [
|
|
{
|
|
"vacuna": "Bordetella",
|
|
"recomendada_desde": "2024-09-15",
|
|
"dias_vencida": 120
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Agendar Consulta
|
|
|
|
```json
|
|
// Request
|
|
{
|
|
"tool": "agendar_consulta",
|
|
"params": {
|
|
"mascota_id": "pet-456",
|
|
"fecha": "2026-01-15",
|
|
"hora": "10:00",
|
|
"motivo": "Vacunacion anual",
|
|
"veterinario_id": "vet-001"
|
|
}
|
|
}
|
|
|
|
// Response
|
|
{
|
|
"cita": {
|
|
"id": "cit-789",
|
|
"mascota": "Luna",
|
|
"propietario": "Maria Lopez",
|
|
"fecha": "2026-01-15",
|
|
"hora": "10:00",
|
|
"veterinario": "Dra. Martinez",
|
|
"motivo": "Vacunacion anual",
|
|
"estado": "confirmada"
|
|
},
|
|
"mensaje": "Cita agendada exitosamente. Se enviara recordatorio por WhatsApp."
|
|
}
|
|
```
|
|
|
|
### Consultar Hospitalizacion
|
|
|
|
```json
|
|
// Request
|
|
{
|
|
"tool": "consultar_hospitalizacion",
|
|
"params": {
|
|
"mascota_id": "pet-789"
|
|
}
|
|
}
|
|
|
|
// Response
|
|
{
|
|
"hospitalizacion": {
|
|
"id": "hosp-001",
|
|
"mascota": "Rocky",
|
|
"especie": "canino",
|
|
"ingreso": "2026-01-12T14:00:00Z",
|
|
"motivo": "Cirugia de rodilla",
|
|
"estado": "estable",
|
|
"area": "Post-quirurgico",
|
|
"veterinario_responsable": "Dr. Hernandez"
|
|
},
|
|
"ultima_evolucion": {
|
|
"fecha": "2026-01-13T08:00:00Z",
|
|
"notas": "Paciente alerta, comiendo bien. Herida sin signos de infeccion.",
|
|
"signos_vitales": {
|
|
"temperatura": 38.5,
|
|
"frecuencia_cardiaca": 90,
|
|
"frecuencia_respiratoria": 20
|
|
}
|
|
},
|
|
"dias_internado": 1,
|
|
"alta_estimada": "2026-01-14"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Arquitectura
|
|
|
|
```
|
|
+-------------------+ +-------------------+ +-------------------+
|
|
| AI Veterinaria |---->| MCP Controller |---->| Tool Services |
|
|
| (Claude/GPT) | | (validacion) | | (veterinarios) |
|
|
+-------------------+ +-------------------+ +-------------------+
|
|
| |
|
|
v v
|
|
+-------------+ +---------------+
|
|
| Tool Logger | | Backend Vet |
|
|
| (auditoria) | | (services) |
|
|
+-------------+ +---------------+
|
|
```
|
|
|
|
---
|
|
|
|
## Seguridad
|
|
|
|
- Autenticacion JWT requerida
|
|
- Aislamiento por clinica (RLS)
|
|
- Logging de todas las llamadas
|
|
- Validacion de permisos por herramienta
|
|
- Rate limiting por plan
|
|
- Datos sensibles de mascotas protegidos
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Este modulo depende de:**
|
|
- MGN-001 Auth (autenticacion, tenant_id)
|
|
- MGN-017 Plans (rate limiting por plan)
|
|
- Modulos veterinarios (mascotas, vacunacion, citas, hospitalizacion)
|
|
|
|
**Modulos que dependen de este:**
|
|
- MGN-020 AI Integration (usa las tools)
|
|
- MGN-021 WhatsApp Business (usa las tools)
|
|
|
|
---
|
|
|
|
## Indices
|
|
|
|
- [Requerimientos](./requerimientos/INDICE-RF-MCP.md)
|
|
- [Especificaciones](./especificaciones/INDICE-ET-MCP.md)
|
|
- [Historias de Usuario](./historias-usuario/INDICE-US-MCP.md)
|
|
- [Trazabilidad](./implementacion/TRACEABILITY.yml)
|
|
|
|
---
|
|
|
|
*Modulo: MGN-022-mcp-server-vet*
|
|
*Propagado desde: erp-core/MGN-022-mcp-server*
|
|
*Adaptado para: Dominio veterinario*
|
|
*Fecha: 2026-01-13*
|