MuninX
Connect your AI client to MuninX, the simple help desk for small teams.
What it can do
- Create Message: Add a message to a ticket. Use type external for customer-facing replies and internal for support-team notes. Customer tokens cannot create internal messages. When new-status is omitte
- Create Ticket: Create a ticket with its initial message.
- Get Ticket: Get one visible ticket by ID. User-facing summaries should lead with the ticket title and key metadata, not the ID.
What data it sees
Do you need an account
No: the server works without sign-in
Connect your AI client to MuninX, the simple help desk for small teams. MuninX MCP lets authenticated users inspect tickets, create and update tickets, read and create ticket messages, search visible support history, draft replies for review, and query ticket analytics. Access stays scoped to the connected user’s MuninX tenant, role, and permissions.
How to connect
How to connect MuninX to Claude
The server address to paste into Claude settings:
https://helpdesk--muninx.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect MuninX to ChatGPT
The server address to paste into ChatGPT settings:
https://helpdesk--muninx.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect MuninX to Cursor
The server address to paste into Cursor settings:
https://helpdesk--muninx.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (8)
Raw names from tools/list. Only developers need these.
| create_message | Add a message to a ticket. Use type external for customer-facing replies and internal for support-team notes. Customer tokens cannot create internal messages. When new-status is omitted, the messages API derives the next ticket status from the actor role and message type. |
| create_ticket | Create a ticket with its initial message. |
| get_ticket | Get one visible ticket by ID. User-facing summaries should lead with the ticket title and key metadata, not the ID. |
| list_ticket_messages | List newest-first messages for a visible ticket. Customer tokens do not receive internal notes. When organization reply identity is enabled, customer-visible staff authors may be returned as the organization instead of the individual agent or admin. |
| list_tickets | List tickets visible to the Muninx API token owner within the authenticated tenant. Behavior depends on the token owner's role: customers cannot filter by creator or assignee; agents cannot filter by assignee and, unless participant is supplied, see tickets assigned to themselves; admins can use all filters. Do not combine creator and participant. For MCP input, state and priority must be arrays of enum values, not comma-separated strings. Use ticket titles and metadata for user-facing summaries; ticket IDs are mainly for follow-up tool calls. |
| query_ticket_analytics | Query authenticated tenant ticket analytics. The analytics API enforces tenant and role scoping: customers are scoped to their own created tickets and agents to assigned tickets. Use count for ticket counts and avg_resolution_time, avg_response_time, or avg_first_reply_time for time metrics returned in seconds. Dates support YYYY-MM-DD or relative day offsets like -30d. Filters are exact string matches except updated_at, which means include tickets updated after the supplied date or offset. |
| search_tickets | Search visible ticket content in the authenticated tenant. Returns grouped ticket IDs; use get_ticket for full ticket details. Set include-preview when short matched snippets would help the user understand why a ticket matched. For MCP input, filters.kind must be an array of enum values, not a comma-separated string. |
| update_ticket | Update mutable public fields on a ticket. |