tickiti-mcp
OfficialClick 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., "@tickiti-mcpcreate a ticket about network latency in the office"
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.
tickiti-mcp
An MCP (Model Context Protocol) server that exposes the
Tickiti helpdesk API to AI assistants such as Claude. It is a thin shim over the
Tickiti Public API v1 (/api/v1/...): each MCP tool forwards to a v1 endpoint, adding
your bearer token and — for writes — an idempotency key. The token's abilities are the
security boundary: the server only relays calls, it never widens them, so a read-only token
gives a read-only assistant.
📖 Full documentation: https://docs.tickiti.com/topic/mcp_server/
Tools
The ticket tools have full, validated inputs; the rest of the API is reachable through two general tools, so the whole surface is available without a separate tool per endpoint.
Tool | Ability | Purpose |
|
| Open a ticket (subject+content, template, or intervention) |
|
| Post a response to an existing ticket |
|
| List tickets for a perspective |
|
| List saved perspectives |
|
| List watchlists |
|
| List stock responses |
|
| List ticket queues |
|
| List resolution categories, interventions or escalations |
|
| Run an analytics report |
| — | Discover every available API endpoint, with abilities and parameters |
| per endpoint | Call any |
For anything beyond the named tools (mail, templates, workflow writes, administration,
supervisor), the assistant uses list_endpoints to discover the action, then tickiti_call
to run it — covering all of the v1 API.
Requirements
Node.js 20 or newer
A Tickiti API token, minted from Administration → API keys, scoped to the abilities you want the assistant to have
An MCP-capable client — e.g. Claude Code or the Claude desktop app
Install
git clone https://github.com/tickiti/tickiti-mcp.git
cd tickiti-mcp
npm install
npm run buildThe built server is dist/server.js.
Configure
The server reads two environment variables (it fails fast on startup if either is missing):
Variable | Purpose |
| Your Tickiti install's public address, no trailing slash — e.g. |
| The bearer token. Its abilities determine what the assistant can do. |
Use with Claude Code
claude mcp add tickiti \
--env TICKITI_API_BASE=https://support.example.com \
--env TICKITI_API_TOKEN=YOUR_TICKITI_API_TOKEN \
-- node /absolute/path/to/tickiti-mcp/dist/server.jsConfirm with claude mcp list (or /mcp in a session). Remove with claude mcp remove tickiti.
Other MCP clients configure servers in their own settings file, but the shape is the same:
run node /absolute/path/to/tickiti-mcp/dist/server.js as a stdio server with
TICKITI_API_BASE and TICKITI_API_TOKEN set in its environment.
Permissions & security
The server adds no permissions of its own. Every call runs as the staff user the token belongs to, gated by the token's abilities — exactly as a direct API call would be. To limit what an assistant can do, mint a narrowly-scoped token:
A read-only token (e.g.
tickets:read,reports:read) gives an assistant that can look but not change anything.Grant write abilities only for the families the assistant needs to act on.
If a call is refused, the server reports the reason (missing ability, role or plan).
The two ticket-writing tools send an idempotency key with every call, so a retried request never creates a duplicate ticket or response.
How it works
File | Role |
| Request core: base URL, bearer auth, idempotency, error normalisation |
| Maps an API result into the MCP tool-result envelope |
| Helpers over the generated route manifest (lookup, path building) |
| Auto-generated route table (do not edit) |
| Tickets family — verified input schemas |
| Named read tools (settings / workflow / reports) |
|
|
| Entry point: registers tools, connects the stdio transport |
| Regenerates the manifest from the Tickiti route table |
Maintainers
src/generated/manifest.ts is generated from Tickiti's own route table
(php artisan route:list --json), so abilities, roles, plan gates and path params are never
hand-maintained. Regenerate against a Tickiti checkout after the API changes:
TICKITI_DIR=/path/to/tickiti npm run manifestThere is an end-to-end sweep over every endpoint in tests/all-paths.mjs
(npm run test:paths, needs a base URL and a full-ability token against a scratch instance).
License
MIT © Oxenic
Maintenance
Latest Blog Posts
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/tickiti/tickiti-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server