Back to MCP Servers

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.

Collaboration by Best Practical Solutions Bearer Token active
Overview

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
Setup Guide

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 ManageAuthTokens permission.

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 instance
  • RT_TOKEN: RT auth token used for all operations (every action is audited under that user)
Use Cases
  • 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_history and asking the model to summarize what changed and who acted.
  • Look up users with lookup_user and reassign or update ticket ownership through update_ticket without opening the RT web UI.
Example Prompts
  • "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."
Pros
  • 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.
Limitations
  • 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.
Alternatives