Mindbody MCP Server
Interactúa con la API de Mindbody para gestionar estudios de fitness y bienestar.
Documentación
🧘 Mindbody MCP Server
Un servidor completo del Model Context Protocol (MCP) que proporciona a los asistentes de IA acceso completo a la API de Mindbody para la gestión de estudios de fitness y bienestar. Perfecto para estudios de yoga, estudios de pilates, gimnasios y centros de bienestar.
✨ Características
- Más de 50 herramientas que cubren todos los aspectos de las operaciones del estudio
- Gestión completa de clases - Ver horarios, reservar clientes, gestionar listas de espera, sustituir profesores
- Gestión de clientes - Añadir/actualizar clientes, realizar seguimiento de visitas, membresías y saldos
- Ventas y comercio - Procesar pagos, vender paquetes, membresías y productos minoristas
- Gestión del personal - Ver horarios, gestionar citas, realizar seguimiento de disponibilidad
- Soporte multi-ubicación - Gestiona múltiples ubicaciones de estudio sin problemas
- Alto rendimiento - Construido sobre el runtime de Bun con caché inteligente
- Seguridad de tipos - Soporte completo de TypeScript con tipos exhaustivos
- Soporte de transporte dual - STDIO para desarrollo local, SSE para despliegue en producción
🚀 Inicio rápido
Instalación con npx (Node.js)
# Run directly without installation
npx @vespo92/mindbody-mcp
# Or install globally
npm install -g @vespo92/mindbody-mcp
Instalación con bunx (Bun - 4 veces más rápido)
# Run directly without installation
bunx @vespo92/mindbody-mcp
# Or install globally with Bun
bun install -g @vespo92/mindbody-mcp
Instalar desde GitHub
# Using npx
npx github:vespo92/MindbodyMCP
# Using bunx (recommended for performance)
bunx github:vespo92/MindbodyMCP
# Or clone and run locally
git clone https://github.com/vespo92/MindbodyMCP.git
cd MindbodyMCP
bun install # or npm install
bun run start # or npm start
📋 Requisitos previos
- Node.js 18+ o Bun 1.0+
- Credenciales de la API de Mindbody (Clave de API, ID de sitio, credenciales de origen)
- Claude Desktop o cualquier cliente compatible con MCP
⚙️ Configuración
1. Obtener credenciales de la API de Mindbody
- Regístrate para obtener una Cuenta de desarrollador de Mindbody
- Crea una nueva aplicación para obtener tus credenciales de API
- Anota tu ID de sitio (usa -99 para pruebas en sandbox)
2. Configurar variables de entorno
Crea un archivo .env en la raíz de tu proyecto:
# Copy the example file
cp .env.example .env
# Edit with your credentials
MINDBODY_API_KEY=your_api_key_here
MINDBODY_SITE_ID=-99 # Your site ID
MINDBODY_SOURCE_NAME=your_source_name
MINDBODY_SOURCE_PASSWORD=your_source_password
# Optional settings
MINDBODY_API_URL=https://api.mindbodyonline.com/public/v6
CACHE_TTL_MINUTES=5
MCP_SERVER_NAME=mindbody-mcp
MCP_SERVER_VERSION=2.0.0
3. Configurar Claude Desktop
Añade a tu configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mindbody": {
"command": "bunx",
"args": ["@vespo92/mindbody-mcp"],
"env": {
"MINDBODY_API_KEY": "your_api_key",
"MINDBODY_SITE_ID": "-99",
"MINDBODY_SOURCE_NAME": "your_source_name",
"MINDBODY_SOURCE_PASSWORD": "your_source_password"
}
}
}
}
O usa el repositorio de GitHub directamente:
{
"mcpServers": {
"mindbody": {
"command": "bunx",
"args": ["github:vespo92/MindbodyMCP"],
"env": {
"MINDBODY_API_KEY": "your_api_key",
"MINDBODY_SITE_ID": "-99",
"MINDBODY_SOURCE_NAME": "your_source_name",
"MINDBODY_SOURCE_PASSWORD": "your_source_password"
}
}
}
}
🛠️ Herramientas disponibles
El servidor proporciona más de 50 herramientas en 7 categorías:
📅 Gestión de clases
getClasses- Ver todas las clases con filtrosgetClassDescriptions- Listar tipos de clasesgetClassSchedules- Ver horarios recurrentesaddClientToClass- Reservar clientes en clasesremoveClientFromClass- Cancelar reservasgetWaitlistEntries- Gestionar listas de esperasubstituteClassTeacher- Gestionar sustituciones
👥 Gestión de clientes
getClients- Buscar y recuperar clientesaddClient- Registrar nuevos clientesupdateClient- Actualizar información del clientegetClientVisits- Ver historial de asistenciagetClientMemberships- Consultar membresías activasaddClientArrival- Registrar entrada de clientesgetClientAccountBalances- Ver saldos de cuentagetClientContracts- Ver contratos
💰 Ventas y comercio
getServices- Ver servicios disponiblesgetPackages- Listar paquetes de clasesgetProducts- Explorar productos minoristasgetContracts- Ver opciones de membresíacheckoutShoppingCart- Procesar compraspurchaseContract- Vender membresías
🏢 Sitio y ubicaciones
getSites- Obtener información del negociogetLocations- Listar todas las ubicacionesgetPrograms- Ver programas ofrecidosgetResources- Gestionar recursosgetSessionTypes- Listar tipos de sesióngetStaff- Ver todos los miembros del personalgetTeacherSchedule- Horarios de profesores
📆 Citas
getStaffAppointments- Ver citasaddAppointment- Reservar citasupdateAppointment- Modificar citasgetBookableItems- Encontrar espacios disponiblesgetActiveSessionTimes- Comprobar disponibilidadgetScheduleItems- Ver horarios
🎓 Inscripciones
getEnrollments- Ver cursos/talleresaddClientToEnrollment- Inscribirse en cursosgetClientEnrollments- Ver inscripciones de clientes
💬 Ejemplo de uso en Claude
Una vez configurado, puedes preguntar a Claude:
"Show me today's yoga classes"
"Book Sarah Johnson into the 6pm Vinyasa class"
"Who's on the waitlist for tomorrow's Hot Yoga?"
"Add a new client named Jennifer Wilson"
"What's Michael's attendance this month?"
"Process a 10-class package purchase for Amy"
"Find a substitute for Maria's Thursday class"
🏗️ Desarrollo
Desarrollo local
# Clone the repository
git clone https://github.com/vespo92/MindbodyMCP.git
cd MindbodyMCP
# Install dependencies
bun install # or npm install
# Run in development mode
bun run dev # or npm run dev
# Run tests
bun test # or npm test
# Build for production
bun run build # or npm run build
Estructura del proyecto
MindbodyMCP/
├── src/
│ ├── index.ts # Main server entry point
│ ├── api/ # API client and auth
│ ├── tools/ # Tool implementations
│ ├── types/ # TypeScript types
│ ├── cache/ # Caching layer
│ └── utils/ # Utility functions
├── tests/ # Test files
├── .github/workflows/ # CI/CD pipelines
└── CLAUDE.md # Detailed documentation
🌐 Despliegue SSE (Producción)
El servidor admite transporte SSE (Server-Sent Events) para el despliegue en producción, lo que permite clientes basados en web y acceso remoto.
Inicio rápido con SSE
# Start with SSE transport
bun run start:sse
# Or with environment variable
MCP_TRANSPORT=sse bun start
# With custom port
bun run src/index.ts --transport sse --port 8080
Despliegue con Docker
# Using Docker Compose
docker-compose up -d
# Or manually
docker build -t mindbody-mcp .
docker run -d -p 3000:3000 -e MCP_TRANSPORT=sse mindbody-mcp
Configuración de producción
Configura mediante variables de entorno:
MCP_TRANSPORT=sse- Habilitar transporte SSEMCP_PORT=3000- Puerto del servidorMCP_HOST=0.0.0.0- Host del servidorMCP_CORS_ORIGIN=https://yourdomain.com- Configuración CORSMCP_SSL_CERT=/path/to/cert.pem- Certificado SSL (opcional)MCP_SSL_KEY=/path/to/key.pem- Clave privada SSL (opcional)
Endpoints
/health- Endpoint de verificación de salud/info- Información del servidor/sse- Flujo de eventos SSE para comunicación MCP
Para instrucciones detalladas de despliegue, consulta la Guía de despliegue SSE.
🧪 Pruebas
# Run all tests
bun test
# Test SSE connection
bun run test:sse
# Test specific tool
bun run test:tool
# Run benchmarks
bun run benchmark
# Type checking
bun run typecheck
📦 Publicación
El paquete está disponible en:
- npm: @vespo92/mindbody-mcp
- GitHub Packages: vespo92/MindbodyMCP
🔒 Seguridad
- Las credenciales de API se almacenan de forma segura mediante variables de entorno
- Autenticación OAuth 2.0 con renovación automática de tokens
- No se registran ni exponen credenciales
- Auditorías de seguridad periódicas mediante GitHub Actions
⚡ Rendimiento
- Runtime de Bun: inicio 4 veces más rápido que Node.js
- Caché inteligente: caché de 5 minutos para datos dinámicos, 60 minutos para estáticos
- Reintento automático: retroceso exponencial para solicitudes fallidas
- Limitación de velocidad: respeta el límite de 2000 solicitudes/hora de Mindbody
🤝 Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/AmazingFeature) - Haz commit de tus cambios (
git commit -m 'Add some AmazingFeature') - Haz push a la rama (
git push origin feature/AmazingFeature) - Abre una Pull Request
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.
🙏 Agradecimientos
- Mindbody API por proporcionar APIs completas para estudios de fitness
- Anthropic MCP SDK por el Model Context Protocol
- Bun por el runtime de JavaScript increíblemente rápido
📞 Soporte
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: vinnie@vespo92.com
🚀 Hoja de ruta
- Soporte de webhooks para actualizaciones en tiempo real
- Herramientas avanzadas de informes y análisis
- Sincronización multi-sitio
- Recomendaciones impulsadas por IA
- Integración con aplicaciones móviles
- Capa de API GraphQL