Mindbody MCP Server
Provides AI assistants with complete access to the Mindbody API for fitness and wellness studio management, including class scheduling, client management, bookings, payments, and staff operations across 50+ tools.
README
🧘 Mindbody MCP Server
A comprehensive Model Context Protocol (MCP) server that provides AI assistants with complete access to the Mindbody API for fitness and wellness studio management. Perfect for yoga studios, pilates studios, gyms, and wellness centers.
✨ Features
- 50+ Tools covering every aspect of studio operations
- Complete Class Management - View schedules, book clients, manage waitlists, substitute teachers
- Client Management - Add/update clients, track visits, memberships, and balances
- Sales & Commerce - Process payments, sell packages, memberships, and retail products
- Staff Management - View schedules, manage appointments, track availability
- Multi-Location Support - Manage multiple studio locations seamlessly
- High Performance - Built on Bun runtime with intelligent caching
- Type-Safe - Full TypeScript support with comprehensive types
- Dual Transport Support - STDIO for local development, SSE for production deployment
🚀 Quick Start
Installation with npx (Node.js)
# Run directly without installation
npx @vespo92/mindbody-mcp
# Or install globally
npm install -g @vespo92/mindbody-mcp
Installation with bunx (Bun - 4x faster)
# Run directly without installation
bunx @vespo92/mindbody-mcp
# Or install globally with Bun
bun install -g @vespo92/mindbody-mcp
Install from 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
📋 Prerequisites
- Node.js 18+ or Bun 1.0+
- Mindbody API credentials (API Key, Site ID, Source credentials)
- Claude Desktop or any MCP-compatible client
⚙️ Configuration
1. Get Mindbody API Credentials
- Sign up for a Mindbody Developer Account
- Create a new app to get your API credentials
- Note your Site ID (use -99 for sandbox testing)
2. Set Environment Variables
Create a .env file in your project root:
# 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. Configure Claude Desktop
Add to your Claude Desktop configuration:
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"
}
}
}
}
Or use the GitHub repository directly:
{
"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"
}
}
}
}
🛠️ Available Tools
The server provides 50+ tools across 7 categories:
📅 Class Management
getClasses- View all classes with filtersgetClassDescriptions- List class typesgetClassSchedules- View recurring schedulesaddClientToClass- Book clients into classesremoveClientFromClass- Cancel bookingsgetWaitlistEntries- Manage waitlistssubstituteClassTeacher- Handle substitutions
👥 Client Management
getClients- Search and retrieve clientsaddClient- Register new clientsupdateClient- Update client informationgetClientVisits- View attendance historygetClientMemberships- Check active membershipsaddClientArrival- Check-in clientsgetClientAccountBalances- View account balancesgetClientContracts- View contracts
💰 Sales & Commerce
getServices- View available servicesgetPackages- List class packagesgetProducts- Browse retail productsgetContracts- View membership optionscheckoutShoppingCart- Process purchasespurchaseContract- Sell memberships
🏢 Site & Locations
getSites- Get business informationgetLocations- List all locationsgetPrograms- View programs offeredgetResources- Manage resourcesgetSessionTypes- List session typesgetStaff- View all staff membersgetTeacherSchedule- Teacher schedules
📆 Appointments
getStaffAppointments- View appointmentsaddAppointment- Book appointmentsupdateAppointment- Modify appointmentsgetBookableItems- Find available slotsgetActiveSessionTimes- Check availabilitygetScheduleItems- View schedules
🎓 Enrollments
getEnrollments- View courses/workshopsaddClientToEnrollment- Register for coursesgetClientEnrollments- View client enrollments
💬 Example Usage in Claude
Once configured, you can ask 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"
🏗️ Development
Local Development
# 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
Project Structure
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
🌐 SSE Deployment (Production)
The server supports SSE (Server-Sent Events) transport for production deployment, enabling web-based clients and remote access.
Quick Start with 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
Docker Deployment
# 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
Production Configuration
Configure via environment variables:
MCP_TRANSPORT=sse- Enable SSE transportMCP_PORT=3000- Server portMCP_HOST=0.0.0.0- Server hostMCP_CORS_ORIGIN=https://yourdomain.com- CORS configurationMCP_SSL_CERT=/path/to/cert.pem- SSL certificate (optional)MCP_SSL_KEY=/path/to/key.pem- SSL private key (optional)
Endpoints
/health- Health check endpoint/info- Server information/sse- SSE event stream for MCP communication
For detailed deployment instructions, see SSE Deployment Guide.
🧪 Testing
# 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
📦 Publishing
The package is available on:
- npm: @vespo92/mindbody-mcp
- GitHub Packages: vespo92/MindbodyMCP
🔒 Security
- API credentials are stored securely via environment variables
- OAuth 2.0 authentication with automatic token refresh
- No credentials are logged or exposed
- Regular security audits via GitHub Actions
⚡ Performance
- Bun Runtime: 4x faster startup than Node.js
- Intelligent Caching: 5-minute cache for dynamic data, 60-minute for static
- Automatic Retry: Exponential backoff for failed requests
- Rate Limiting: Respects Mindbody's 2000 requests/hour limit
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Mindbody API for providing comprehensive fitness studio APIs
- Anthropic MCP SDK for the Model Context Protocol
- Bun for the blazing fast JavaScript runtime
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: vinnie@vespo92.com
🚀 Roadmap
- [ ] Webhook support for real-time updates
- [ ] Advanced reporting and analytics tools
- [ ] Multi-site synchronization
- [ ] AI-powered recommendations
- [ ] Mobile app integration
- [ ] GraphQL API layer
<div align="center"> Made with ❤️ for yoga studios and wellness centers worldwide </div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。