jitbit-helpdesk-mcp
OfficialThis server lets AI assistants search, list, and read support tickets from a Jitbit Helpdesk instance. All operations are read-only and non-destructive.
Search tickets (
jitbit_search_tickets): Find tickets by keyword or phrase matched against subjects and bodies, with pagination support (limit and offset).List tickets (
jitbit_list_tickets): Filter tickets by mode (all,unanswered,updated) and/or status, with pagination support.Get a single ticket (
jitbit_get_ticket): Retrieve full details of a specific ticket by ID, including the complete conversation thread, subject, body, status, priority, category, submitter, assignee, and tags.
Jitbit Helpdesk MCP Server
An MCP (Model Context Protocol) server that lets AI assistants search and read support tickets from Jitbit Helpdesk. Works with both SaaS and on-premise installations.
⚠️ Use the hosted HTTP endpoint when possible. Jitbit ships a built-in HTTP MCP endpoint at
/api/mcpon all SaaS and on-premise installs running version 11.21 or later. That is the preferred way to connect AI assistants to Jitbit — no local install, always in sync with Jitbit releases. See the Jitbit MCP docs. Starting with 2.x, this npm package is a thin stdio proxy to that same endpoint, for clients that don't yet support remote HTTP MCP servers. Jitbit 11.21 or later is required. If you're on an older on-premise version, stay onjitbit-helpdesk-mcp@1.x.
Setup
Two options:
Hosted HTTP endpoint (recommended) — connect your MCP client directly to Jitbit's
/api/mcp. Use this whenever your client supports HTTP MCP transport.Local npm package (stdio proxy) — this repo. Use it when your MCP client only supports stdio transport. It forwards every request to
{JITBIT_URL}/api/mcpand adds nothing of its own.
Option 1: Hosted HTTP endpoint
Claude Code
claude mcp add --transport http jitbit-helpdesk https://yourcompany.jitbit.com/api/mcp \
--header "Authorization: Bearer your-api-token"Claude Desktop, Cursor, Windsurf
{
"mcpServers": {
"jitbit-helpdesk": {
"type": "http",
"url": "https://yourcompany.jitbit.com/api/mcp",
"headers": {
"Authorization": "Bearer your-api-token"
}
}
}
}Option 2: Local npm package (stdio proxy)
Claude Code
claude mcp add jitbit-helpdesk \
-e JITBIT_URL=https://yourcompany.jitbit.com \
-e JITBIT_TOKEN=your-api-token \
-- npx -y jitbit-helpdesk-mcpClaude Desktop, Cursor, Windsurf
Add to your config file:
Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)Cursor: Settings > MCP Servers
Windsurf: Settings > MCP Servers
{
"mcpServers": {
"jitbit-helpdesk": {
"command": "npx",
"args": ["-y", "jitbit-helpdesk-mcp"],
"env": {
"JITBIT_URL": "https://yourcompany.jitbit.com",
"JITBIT_TOKEN": "your-api-token"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Base URL of your Jitbit instance (SaaS: |
| Yes | API token — see below |
Getting your API token
Log in to your Jitbit Helpdesk
Go to your User Profile (click your avatar in the top right)
Click the "API Token" button
Copy the token and use it as the
JITBIT_TOKENvalue
Related MCP server: tickiti-mcp
Tools
The proxy exposes whatever tools the connected Jitbit instance advertises at /api/mcp — typically ticket search, list, and read, plus anything Jitbit adds in later releases. Use your MCP client's tool listing (or the Jitbit MCP docs) for the up-to-date catalog.
Development
npm install
npm run buildLicense
MIT
Available Tools
3 toolsjitbit_get_ticketGet Jitbit Helpdesk TicketARead-onlyIdempotent
Get a single ticket with its full conversation thread from Jitbit Helpdesk.
Args:
ticketId (number): The ticket ID to retrieve
Returns: Full ticket details including subject, body, status, priority, category, submitter, assignee, tags, and complete comment history.
| Name | Required | Description | Default |
|---|---|---|---|
| ticketId | Yes | The ticket ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide key behavioral hints (read-only, non-destructive, idempotent, open-world), so the bar is lower. The description adds valuable context by specifying that it retrieves 'full ticket details' and 'complete comment history,' which clarifies the scope of data returned beyond what annotations indicate. No contradictions with annotations are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by structured Args and Returns sections. Each sentence adds value without redundancy, making it efficient and easy to parse for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema) and rich annotations, the description is mostly complete. It covers purpose, parameters, and return details. However, it could benefit from more explicit usage guidelines compared to siblings, slightly reducing completeness for optimal agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'ticketId' fully documented in the schema. The description mentions 'ticketId' in the Args section but does not add significant meaning beyond what the schema provides, such as format examples or constraints. Baseline score of 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Get a single ticket') and resource ('from Jitbit Helpdesk'), including the scope ('with its full conversation thread'). It distinguishes from sibling tools like 'jitbit_list_tickets' and 'jitbit_search_tickets' by focusing on retrieving a single ticket rather than listing or searching multiple tickets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'a single ticket,' suggesting it's for detailed retrieval rather than bulk operations. However, it does not explicitly state when to use this tool versus alternatives like 'jitbit_list_tickets' or 'jitbit_search_tickets,' nor does it mention any exclusions or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jitbit_list_ticketsList Jitbit Helpdesk TicketsBRead-onlyIdempotent
List and filter tickets in Jitbit Helpdesk.
Args:
mode (string, optional): Filter mode — "all", "unanswered", "updated"
status (string, optional): Filter by ticket status, passed to the Jitbit API as-is
limit (number): Maximum results to return, 1-100 (default: 25)
offset (number): Number of results to skip for pagination (default: 0)
Returns: List of tickets with ID, subject, status, priority, category, submitter, and assignee.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Filter mode: "all", "unanswered", "updated" | |
| status | No | Filter by ticket status | |
| limit | No | Maximum results to return | |
| offset | No | Number of results to skip for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover key behavioral traits (read-only, non-destructive, idempotent, open-world). The description adds minimal context beyond this, such as mentioning pagination via 'offset' and the return format, but doesn't disclose rate limits, authentication needs, or detailed behavioral constraints. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. The Args and Returns sections are structured but slightly verbose, as some details (e.g., parameter defaults) are redundant with the schema. Most sentences earn their place, though minor trimming could improve efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, rich annotations, and 100% schema coverage, the description is mostly complete. It explains the return format (list of tickets with fields), which compensates for the lack of an output schema. However, it could better address sibling tool differentiation and usage scenarios to enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents parameters. The description repeats parameter details (e.g., mode options, limit range) without adding significant meaning beyond the schema, such as explaining how 'status' interacts with 'mode' or providing usage examples. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'List and filter tickets in Jitbit Helpdesk,' which specifies the verb (list/filter) and resource (tickets). However, it doesn't explicitly differentiate from sibling tools like 'jitbit_search_tickets,' which likely has overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings (jitbit_get_ticket, jitbit_search_tickets). It lacks explicit context, exclusions, or alternatives, leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jitbit_search_ticketsSearch Jitbit Helpdesk TicketsBRead-onlyIdempotent
Search for tickets in Jitbit Helpdesk by keyword or phrase.
Args:
query (string): Search query to match against ticket subjects and bodies
limit (number): Maximum results to return, 1-100 (default: 25)
offset (number): Number of results to skip for pagination (default: 0)
Returns: List of matching tickets with ID, subject, status, priority, category, submitter, and assignee.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query to match against ticket subjects and bodies | |
| limit | No | Maximum results to return | |
| offset | No | Number of results to skip for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover key behavioral traits (read-only, non-destructive, idempotent, open-world), so the description's burden is lower. It adds value by specifying that the search matches against ticket subjects and bodies, which isn't in the annotations. However, it doesn't disclose other behaviors like rate limits, authentication needs, or error handling, keeping the score at a baseline level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized, with a clear purpose statement followed by parameter and return details. It avoids unnecessary fluff, though the parameter section slightly repeats schema information, which is minor but keeps it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, rich annotations, and high schema coverage, the description is reasonably complete. It explains the search scope and return format, though without an output schema, it could benefit from more detail on the ticket structure. However, it covers the essentials for a search operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already documents all parameters thoroughly. The description repeats some parameter details (e.g., query matches subjects and bodies) but doesn't add significant new meaning beyond the schema. This meets the baseline score when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for tickets in Jitbit Helpdesk by keyword or phrase, providing a specific verb ('search') and resource ('tickets'). However, it doesn't explicitly differentiate from sibling tools like jitbit_list_tickets, which might also retrieve tickets but potentially without search capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like jitbit_get_ticket or jitbit_list_tickets. It mentions searching by keyword or phrase but doesn't specify scenarios where this is preferred over other methods, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: get_ticket retrieves a single ticket with full details, list_tickets provides filtered listings with pagination, and search_tickets performs keyword-based searches. There is no overlap in functionality—an agent can easily choose the right tool based on whether they need a specific ticket, a filtered list, or a search.
All tools follow a consistent jitbit_verb_noun pattern (jitbit_get_ticket, jitbit_list_tickets, jitbit_search_tickets). The naming is uniform, using snake_case throughout with clear verbs (get, list, search) that accurately describe each action.
With only 3 tools, the server feels thin for a helpdesk domain that typically involves ticket management workflows. While the tools cover basic retrieval and listing, the count is borderline low for operations like creating, updating, or closing tickets, which are common in such systems.
The tool set is severely incomplete for a helpdesk server. It only provides read-only operations (get, list, search), with no ability to create, update, assign, or close tickets. This leaves significant gaps that will cause agent failures when trying to perform common helpdesk tasks beyond querying existing data.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP-compliant server that enables AI assistants like Claude Desktop to access and analyze Intercom support tickets with full conversation history.48Apache 2.0

tickiti-mcpofficial
AlicenseBqualityBmaintenanceAn MCP server that exposes the Tickiti helpdesk API to AI assistants, enabling ticket management and helpdesk operations via natural language.11MIT- FlicenseBqualityBmaintenanceA read-only MCP server that connects AI assistants to Freshservice Service Desk for ticket triage, asset analysis, and support history summarization.23
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI assistants to interact with Freshservice service desk, supporting ticket search, retrieval, and creation via a configurable, Docker-first deployment.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jitbit/jitbit-helpdesk-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server