Skip to main content
Glama
jitbit

jitbit-helpdesk-mcp

Official
by jitbit

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.

npm version

⚠️ Use the hosted HTTP endpoint when possible. Jitbit ships a built-in HTTP MCP endpoint at /api/mcp on 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 on jitbit-helpdesk-mcp@1.x.

Setup

Two options:

  1. Hosted HTTP endpoint (recommended) — connect your MCP client directly to Jitbit's /api/mcp. Use this whenever your client supports HTTP MCP transport.

  2. 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/mcp and 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-mcp

Claude 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

JITBIT_URL

Yes

Base URL of your Jitbit instance (SaaS: https://yourcompany.jitbit.com, on-prem: your server URL)

JITBIT_TOKEN

Yes

API token — see below

Getting your API token

  1. Log in to your Jitbit Helpdesk

  2. Go to your User Profile (click your avatar in the top right)

  3. Click the "API Token" button

  4. Copy the token and use it as the JITBIT_TOKEN value

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 build

License

MIT

Available Tools

3 tools
jitbit_get_ticketGet Jitbit Helpdesk TicketA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticketIdYesThe ticket ID to retrieve

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 TicketsB
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoFilter mode: "all", "unanswered", "updated"
statusNoFilter by ticket status
limitNoMaximum results to return
offsetNoNumber of results to skip for pagination

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 TicketsB
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query to match against ticket subjects and bodies
limitNoMaximum results to return
offsetNoNumber of results to skip for pagination

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    An MCP-compliant server that enables AI assistants like Claude Desktop to access and analyze Intercom support tickets with full conversation history.
    4
    8
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that exposes the Tickiti helpdesk API to AI assistants, enabling ticket management and helpdesk operations via natural language.
    11
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    A read-only MCP server that connects AI assistants to Freshservice Service Desk for ticket triage, asset analysis, and support history summarization.
    23
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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

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