CustomerOS MCP Server
Provides tools for managing CustomerOS tickets, accounts, team members, and notes, backed by a Supabase database.
Click on "Install 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., "@CustomerOS MCP Servershow me my open tickets"
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.
CustomerOS MCP Server
A local Model Context Protocol server for managing CustomerOS — tickets, accounts, team members, and notes — backed by Supabase.
Built for use with Claude Code but works with any MCP client.
Tools
Tool | Description |
| List all accounts with status |
| Find account by name (fuzzy search) |
| List team members with roles |
| List tickets, optionally filtered by status |
| List your open tickets |
| Get full ticket details by ID |
| List client notes for an account |
| List ticket templates with defaults |
| Create a new ticket with template, account, assignee |
| Update ticket status, assignee, deadline, description |
Related MCP server: Self-Hosted Supabase MCP Server
Setup
1. Install
git clone https://github.com/throxy-labs/customeros-mcp.git
cd customeros-mcp
bun install # or npm install
bun run build # or npm run build2. Environment Variables
Contact bergen@throxy.com for access credentials.
Set these in your shell or .env:
CUSTOMEROS_SUPABASE_URL=<provided>
CUSTOMEROS_SUPABASE_ANON_KEY=<provided>
CUSTOMEROS_BERGEN_EMPLOYEE_ID=<your-employee-uuid> # optional, for get_my_tickets3. Configure MCP Client
Claude Code — add to your .mcp.json or Claude Code settings:
{
"mcpServers": {
"customeros": {
"command": "node",
"args": ["/path/to/customeros-mcp/dist/index.js"],
"env": {
"CUSTOMEROS_SUPABASE_URL": "https://your-project.supabase.co",
"CUSTOMEROS_SUPABASE_ANON_KEY": "your-anon-key",
"CUSTOMEROS_BERGEN_EMPLOYEE_ID": "your-employee-uuid"
}
}
}
}Usage Examples
Once connected, your MCP client can call tools like:
list_tickets(status: "todo")
create_ticket(template: "email", account: "Acme", title: "March Campaign", assignee: "bergen")
update_ticket(ticket: "TK-320", status: "backlog")
get_ticket(id: "TK-492")Ticket descriptions support markdown (## headers, - lists, bold) and are automatically converted to HTML for the CustomerOS UI.
Supabase Schema
Expects these tables in your Supabase project:
accounts— id, name, statusteam_members— id, name, role, teamtickets— id, identifier, title, description, status, template, account_id, account_name, employee_id, employee_name, deadline, custom_fields, created_atclient_notes— id, content, author_name, account_id, created_atticket_templates— slug, label, description, default_employee_name, default_deadline_days, fields, sort_order
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/brgmry/customeros-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server