majincleaning-ops
Allows interaction with a Supabase database for a cleaning business booking app, providing tools to list services, check availability, list upcoming bookings, and update booking statuses.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@majincleaning-opsWhat slots are open this Friday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MajinCleaningSolutions Ops MCP Server
An MCP server that connects an AI assistant (Claude Desktop, Claude Code, or any other MCP-compatible client) directly to the real, live Supabase database behind MajinCleaningSolutions — my production booking app for a real cleaning business.
Instead of logging into the site's /admin dashboard to check the schedule, you can just ask: "What's my availability next Tuesday?" or "Show me pending bookings" — and the assistant answers using real data, live, through this server.
Why this exists
MCP is the emerging standard ("USB-C for AI") for connecting AI models to real tools and data instead of every app writing its own one-off integration. This server is a small, honest example of that pattern applied to a real system I already built and operate — not a toy dataset.
Related MCP server: Supabase MCP Server
Tools it exposes
Tool | What it does |
| Returns current services and flat-rate pricing |
| Given a date, returns open vs. taken appointment slots |
| Lists upcoming bookings, optionally filtered by status |
| Updates a booking's status, enforcing the same |
A deliberate security decision
The live site's public booking form uses Supabase's anon key, which — by Row Level Security policy — can submit a booking but can never read anyone else's data back. That's correct for a public website.
This server is different: it runs locally, under my own control, standing in for the business owner using the admin dashboard. So it uses the service role key instead, which can read and update real booking data. That key lives only in a local, gitignored .env file — it's never committed, never shipped to a browser, and this server is never deployed publicly. Same database, two different trust levels depending on who's asking.
Setup
npm install
cp .env.example .env
# fill in SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY from your Supabase
# project's Settings -> API page
npm run buildConnect it to Claude Desktop
Add this to your Claude Desktop MCP config (claude_desktop_config.json):
{
"mcpServers": {
"majincleaning-ops": {
"command": "node",
"args": ["/absolute/path/to/majincleaning-ops-mcp/dist/index.js"],
"env": {
"SUPABASE_URL": "https://your-project-ref.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}Restart Claude Desktop, and the four tools above become available for it to call directly against the real database.
Tech
Node.js + TypeScript, the official @modelcontextprotocol/sdk, and @supabase/supabase-js. Business-hours/slot logic mirrors lib/availability.ts and status-transition rules mirror lib/validation.ts from the main site's repo, so this server enforces the exact same business rules as the production app.
Related
Built on top of WebsiteProject — the full-stack Next.js + Supabase + Vercel app this server connects to.
By: Jahzeel Reyes
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage an EasyWeek business from AI: bookings, availability, customers, services, orders, messaging.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
Manage Supabase projects end to end across database, auth, storage, realtime, and migrations. Moni…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform CRUD operations on Supabase databases through natural language. Supports advanced filtering, pagination, and safety checks for seamless database interaction.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Supabase databases through standardized CRUD operations including querying, inserting, updating, and deleting records with support for filtering, pagination, and column selection.-
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Supabase projects, enabling them to manage tables, query data, deploy Edge Functions, handle migrations, and access project resources through natural language commands.Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI assistants to access and manage Streamline tasks, notes, tags, and workspaces via a Supabase-powered backend. It supports full CRUD operations, allowing users to search, create, update, and organize their productivity data through natural language.176 npmMIT