Xalantis MCP Server
OfficialThis MCP server lets MCP-compatible AI clients read and act on Xalantis business data through the public /api/v1 API, covering all 323 operations.
Manage support tickets: list/filter, view, create, update, reply or add internal notes, and list replies.
Use dedicated tools for CRM, Knowledge, Billing, Finance, Contracts, and Projects.
Access any other public API operation via generic
search_operations,describe_operation,read_operation, andcall_operationtools.Download attachments/reports and upload files with file-aware tools.
Require
confirm: truefor writes, sensitive reads/downloads, and externally visible actions.Send idempotency keys on writes to safely replay requests without duplicate effects.
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., "@Xalantis MCP Server list all open high-priority 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.
@xalantis/mcp-server
MCP server for Xalantis. It lets MCP-compatible AI clients read and act on Xalantis business data through the public /api/v1 API.
Release 0.3.0 reaches all 323 operations of the public API (contract 2.11.0): dedicated tools for the most frequent tasks, and four generic tools driven by the bundled OpenAPI spec for everything else.
Registries
Listed in the official MCP Registry as io.github.xalantis-hub/xalantis-mcp, and on Glama.
Related MCP server: support-triage-agent
Installation
npm install -g @xalantis/mcp-serverConfiguration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"xalantis": {
"command": "npx",
"args": ["-y", "@xalantis/mcp-server"],
"env": {
"XALANTIS_API_KEY": "sk_live_..."
}
}
}
}Claude Code
claude mcp add xalantis -- npx -y @xalantis/mcp-serverThen set XALANTIS_API_KEY in the shell/session that launches the MCP server.
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"xalantis": {
"command": "npx",
"args": ["-y", "@xalantis/mcp-server"],
"env": {
"XALANTIS_API_KEY": "sk_live_..."
}
}
}
}Covered domains
Dedicated tools:
Support / Service Desk: tickets, replies, attachments, reports, links, watchers, time entries, subtasks, incidents, service requests, SLA, automations, categories, tags, service catalog, agents.
CRM: clients, representatives, contacts, deals, pipelines.
Knowledge: articles, search, categories, managed article drafts and reviews.
Billing: subscription and invoices.
Finance: invoices and expenses read-only APIs.
Contracts: contracts, comments, negotiations, obligations, approvals, signatures, clauses, requests, PDF designs, assets, assignments.
Projects: projects, statuses, tasks (list, read, create, update, transition) and task comments.
Through the generic tools: every other operation of the public API, including the rest of Projects (sprints, milestones, lists, labels, custom fields, documents, time tracking, automations, analytics, exports, imports, client portal), compliance cases, signature envelopes, contract referentials and CRM imports.
Generic API access
Four tools cover any operation of the public API without a dedicated tool:
search_operations: finds operations by keywords (all required, accents ignored; summaries are in French), area and HTTP method. Without arguments, lists the areas.describe_operation: returns the path, query and header parameters, the body schema and the scopes of one operation.read_operation: runs aGEToperation. Binary or CSV responses can be written to a local file withsave_to.call_operation: runs aPOST,PUT,PATCHorDELETEoperation. Requiresconfirm: true; multipart uploads take local paths infiles.
{
"operation_id": "post_projects_By_projectUuid_tasks_By_taskUuid_time_entries",
"path_params": { "projectUuid": "project-uuid", "taskUuid": "task-uuid" },
"body": { "duration_minutes": 45, "description": "Review" },
"confirm": true
}The spec ships with the package (openapi/xalantis-openapi.json) and is refreshed at each release. Text responses above 200 KB are refused with a hint to paginate or use save_to.
Every write sends an Idempotency-Key, generated for each call unless one is passed in headers: about 80 routes require it, and replaying the same key returns the first response without a second effect.
Project routes require an API key linked to a member of the workspace (keys created from the Developers settings are) and the matching projects:* scopes.
Confirmation model
Tools that mutate data or may expose sensitive data require a confirm: true argument. The AI client should only pass this after the user explicitly confirms the action.
Examples of confirmed actions:
creating, updating or deleting records;
sending public ticket replies;
approving, rejecting, fulfilling or reopening service requests;
merging, splitting, archiving or deleting tickets;
requesting contract signatures;
downloading attachments or reports;
uploading files.
If confirmation is missing, the tool returns an error explaining that confirmation is required.
File transfer tools
Binary endpoints are supported through file-aware tools:
{
"ticket_uuid": "ticket-uuid",
"file_path": "/local/path/evidence.pdf",
"confirm": true
}Downloads can either return base64 or write to a local path:
{
"ticket_uuid": "ticket-uuid",
"attachment_uuid": "attachment-uuid",
"output_path": "/tmp/evidence.pdf",
"confirm": true
}When output_path is omitted, the tool returns metadata plus base64 content.
Example prompts
Once connected, an MCP-compatible assistant can answer or act on prompts such as:
“List open urgent tickets and summarize the oldest ones.”
“Find client Acme and show related contacts.”
“Search the knowledge base for SLA configuration.”
“Create this Knowledge draft and submit it for editorial review after I confirm.”
“Update this published Knowledge article; keep the live version unchanged until approval.”
“Create a ticket for this incident after I confirm.”
“Add an internal note to this ticket.”
“Show contract obligations due this month.”
“Submit this contract for approval after confirmation.”
“Download this ticket report to
/tmp/report.xlsx.”“List the overdue tasks of project MXA and move the ones I pick to Done.”
“Log 45 minutes on this task and show the sprint burndown.”
Environment variables
Variable | Required | Description |
| Yes | Tenant API key used for Xalantis |
| No | Origin or API base of your Xalantis instance, e.g. |
Security notes
The MCP server does not bypass Xalantis backend permissions, plan gates, tenant scoping or rate limits.
Destructive and externally visible actions require
confirm: true.File downloads can contain sensitive tenant data; use
output_pathcarefully.API keys should be stored in the MCP client environment configuration, not in prompts.
Development
npm ci
npm run lint
npm test # compiles, then checks every tool against the bundled spec
npm run sync-openapi -- path/to/openapi.jsonnpm test calls every tool with a fake transport and fails if one targets a route the spec does not declare or sends a write without an Idempotency-Key. Run sync-openapi before a release (default source: the sibling xalantis-application/storage/app/openapi.json).
License
MIT
Available Tools
6 toolscreate_ticketB
Create a new support ticket
Inputs: subject (required), description (required), requester_email (required), channel, +3 more.
get_ticketB
Get a single ticket by UUID
Inputs: uuid (required).
list_ticket_repliesC
List all replies and notes for a ticket
Inputs: ticket_uuid (required), page, per_page.
list_ticketsB
List support tickets with optional filters and pagination
Inputs: page, search, status, sort_by, +4 more.
reply_to_ticketB
Add a reply or internal note to a ticket
Inputs: content (required), ticket_uuid (required), is_internal.
update_ticketA
Update an existing ticket (status, priority, subject, etc.)
Inputs: uuid (required), due_at, status, subject, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clear, distinct purpose: creating, retrieving, listing, replying to, updating tickets, and listing replies. No two tools overlap in functionality.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_ticket, list_tickets, reply_to_ticket), making them predictable and easy to understand.
Six tools is an appropriate number for a focused ticketing system. Each tool addresses a core operation without unnecessary redundancy or bloat.
The tool set covers the main lifecycle of a ticket: create, read, update, list, and add replies. A delete ticket or advanced search tool is missing, but these are minor gaps for a basic implementation.
Maintenance
Related MCP Connectors
Work your Help tickets with your AI: read them, reply or leave notes, and set up forms and sites.
Helpdesk tickets from your AI: find, reply, take, hold, complete — within your own role. OAuth.
Connect Claude, ChatGPT or any AI assistant to Zendesk tickets, CSAT, macros and Help Center.
Work your Zono Support help desk from an AI client: tickets, customers, purchases and knowledge.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI-driven management of osTicket helpdesks through natural language, allowing users to reply to, assign, and transfer tickets without requiring API keys. It reverse-engineers the osTicket staff panel to provide full access to ticket operations using session-based authentication.2-
- FlicenseNot gradedqualityCmaintenanceEnables ticket management and AI triage through Mistral-compatible models, with tools for creating, listing, retrieving, triaging, and updating support tickets.-
- AlicenseAqualityBmaintenanceEnables AI agents to manage osTicket support tickets including listing, searching, reading, creating, updating, replying, deleting, managing subtickets, and downloading attachments.143MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create tickets, post public replies, add private internal notes, change ticket status, and list tickets across Zendesk, Freshdesk, and Help Scout using one consistent tool vocabulary and unified credential setup. It handles each platform's differing authentication schemes and field conventions, including Help Scout's non-refreshable OAuth2 client-credentials tokens.81 npmMIT