RT (Request Tracker) MCP Server
Official MCP server from Best Practical that connects AI assistants to Request Tracker (RT) for natural language ticket search, creation, and updates.
RT (Request Tracker) is the open-source enterprise issue tracking system maintained by Best Practical Solutions. The mcp-server-rt package is the official Model Context Protocol server that bridges AI assistants and a live RT instance, letting users search tickets, view full transaction history, create new tickets, post replies and comments, and manage attachments through natural language.
The server speaks to RT through the REST 2.0 API using a per-user authentication token, so every action is logged against the user that owns the token. It exposes around 17 tools spanning ticket operations, queue management, user lookup, attachment handling, and a built-in TicketSQL grammar reference so the model can compose valid RT queries.
Because it is published by Best Practical itself (the creators of RT) and shipped via npm as mcp-server-rt, it is the canonical AI integration for RT. It runs locally over stdio, so ticket data never leaves the path between the MCP client and the RT server.
Tools
| Tool | Description |
|---|---|
search_tickets |
Search RT tickets using TicketSQL query syntax |
get_ticket |
Retrieve a single ticket including metadata and custom fields |
get_ticket_history |
Fetch the full transaction history for a ticket |
get_transaction |
Get a specific transaction record |
create_ticket |
Create a new ticket with content, queue, requestor and other metadata |
update_ticket |
Update ticket fields such as status, owner, priority, or custom fields |
add_comment |
Add an internal comment (not visible to requestors) to a ticket |
add_reply |
Add a correspondence reply that emails the requestor |
get_queue |
Get details about a specific queue |
list_queues |
List queues visible to the authenticated user |
get_queue_fields |
Get the custom fields configured for a queue |
lookup_user |
Look up a user by name, email, or ID |
get_current_user |
Return the user account associated with the auth token |
get_ticket_attachments |
List attachments on a ticket |
get_attachment |
Retrieve an attachment's content/metadata |
save_attachment |
Save an attachment to disk |
get_ticketsql_grammar |
Return the TicketSQL grammar reference to help compose valid queries |
Prerequisites
- RT 6.0 or later with the REST 2.0 API enabled
- Node.js 18+
- An RT auth token (Logged in as → Settings → Auth Tokens → Create). The token-creating user needs the
ManageAuthTokenspermission.
Install
npm install -g mcp-server-rt
Or run it on demand with npx mcp-server-rt.
Claude Desktop config
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"rt": {
"type": "stdio",
"command": "npx",
"args": ["mcp-server-rt"],
"env": {
"RT_URL": "https://rt.example.com",
"RT_TOKEN": "your-auth-token"
}
}
}
}
Best Practical also publishes a .mcpb extension bundle in the GitHub Releases for one-click installation in Claude Desktop.
Claude Code
Drop a .mcp.json in your project root with the same mcpServers block.
Environment variables
RT_URL: Base URL of your RT instanceRT_TOKEN: RT auth token used for all operations (every action is audited under that user)
- Triage incoming queues by asking the assistant to search tickets with TicketSQL filters such as
Status = 'new' AND Queue = 'Support'and summarize urgent items. - Draft and post customer replies on a ticket directly from chat using
add_reply, keeping correspondence inside RT. - Spin up new tickets from meeting notes or Slack threads with
create_ticket, setting queue, requestor, and custom fields in one shot. - Audit a ticket's full lifecycle by pulling
get_ticket_historyand asking the model to summarize what changed and who acted. - Look up users with
lookup_userand reassign or update ticket ownership throughupdate_ticketwithout opening the RT web UI.
- "Find all tickets in the Support queue with status 'new' opened in the last 7 days and summarize them."
- "Open ticket 48211, then post a reply to the requestor confirming we shipped a fix and set status to resolved."
- "Create a new ticket in the Incidents queue titled 'DB replica lag spike' with high priority and assign it to alice@example.com."
- "Show the full transaction history for ticket 51002 and tell me who last commented."
- "List all queues I have access to and show the custom fields on the Billing queue."
- Official server maintained by Best Practical, the creators of RT, so it tracks the canonical REST 2.0 API.
- Broad tool coverage: tickets, transactions, queues, users, attachments, and a built-in TicketSQL grammar reference.
- Token-based auth means all AI actions are attributable and audit-logged under a real RT user.
- Runs locally over stdio; ticket data stays between your MCP client and your RT server.
- Requires RT 6.0+ with REST 2.0 enabled, so older RT 4.x/5.x deployments cannot use it without upgrading.
- No remote/hosted option; you must run the Node.js process yourself and provision a token per user.
- Relatively new project (small star count and limited release history) so edge cases in custom workflows may need patching.
- richieri/rt-mcp: community MCP server for Request Tracker.
- crunchtools/mcp-request-tracker: Python MCP server focused on secure credential handling for RT ticket management.
- Zapier's hosted Request Tracker MCP integration if you prefer a managed bridge instead of self-hosting.