Skip to main content
Glama
artkrsk

ticksy-mcp

by artkrsk

@artemsemkin/ticksy-mcp

MCP server for the Ticksy support ticket API. Gives AI agents full read and write access to your support tickets.

Tools

Read

  • list_open_tickets — open tickets with embedded comments; optionally filter to those awaiting a reply

  • list_closed_tickets — most recently closed tickets

  • get_ticket — single ticket with full comment thread

  • get_ticket_comments — comments for a ticket without full ticket data

  • list_my_tickets — open tickets assigned to the authenticated agent

  • count_responses_needed — number of tickets awaiting a support response

  • count_my_responses — same, scoped to the authenticated agent

Write

  • reply_to_ticket — post a public reply (or staff-only with private: true)

  • add_ticket_note — post an internal note visible only to staff

  • close_ticket / reopen_ticket — change ticket status

  • mark_ticket_read / mark_ticket_unread — toggle read state

  • star_ticket / unstar_ticket — toggle star

  • create_customer — create a new customer account

Related MCP server: laravel-tasks

Setup

You need two environment variables:

  • TICKSY_DOMAIN — your subdomain (e.g. acme for acme.ticksy.com)

  • TICKSY_API_KEY — from your Ticksy profile page

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "ticksy": {
      "command": "npx",
      "args": ["-y", "@artemsemkin/ticksy-mcp"],
      "env": {
        "TICKSY_DOMAIN": "your-domain",
        "TICKSY_API_KEY": "your-api-key"
      }
    }
  }
}
claude mcp add ticksy \
  -e TICKSY_DOMAIN=your-domain \
  -e TICKSY_API_KEY=your-api-key \
  -- npx -y @artemsemkin/ticksy-mcp

Add to .vscode/mcp.json (VS Code) or .cursor/mcp.json (Cursor) in your project:

{
  "servers": {
    "ticksy": {
      "command": "npx",
      "args": ["-y", "@artemsemkin/ticksy-mcp"],
      "env": {
        "TICKSY_DOMAIN": "your-domain",
        "TICKSY_API_KEY": "your-api-key"
      }
    }
  }
}

Build from source

git clone https://github.com/artkrsk/@artemsemkin/ticksy-mcp.git
cd @artemsemkin/ticksy-mcp
pnpm install
pnpm build

Available Tools

16 tools
add_ticket_noteA

Post an internal note visible only to staff.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYesNote body (HTML is accepted)
ticket_idYesThe Ticksy ticket ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false. The description adds that notes are internal and staff-only, which is useful but does not disclose any other behavioral traits like permissions or side effects.

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 a single, efficient sentence with no wasted words, perfectly front-loaded with the key action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, and the description does not mention return values or error conditions. For a simple write operation, it is slightly incomplete but acceptable given the clear schema.

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 coverage is 100%, so the schema already describes both parameters. The tool description adds no extra semantic meaning beyond what the schema provides.

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 verb 'Post' and the resource 'internal note visible only to staff', which distinguishes it from sibling tools like reply_to_ticket that post public replies.

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 explicit guidance on when to use this tool versus alternatives such as reply_to_ticket. It only implies the internal scope but does not contrast with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_ticketC

Close an open ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, so the write nature is known. The description adds no behavioral details beyond the verb 'Close', such as side effects, irreversibility, or required permissions. With annotations providing minimal info, the description does not compensate.

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 extremely concise (one sentence) and gets straight to the point. It is front-loaded and efficient, though it could incorporate a bit more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (single required parameter, no output schema), the description is minimally adequate. However, it lacks any behavioral or usage context that would help an agent understand the implications of closing a ticket.

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 'ticket_id' parameter already described as 'The Ticksy ticket ID'. The tool description adds no extra meaning, so baseline 3 is appropriate.

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 action ('Close') and resource ('an open ticket'), making the purpose immediately understandable. However, it does not differentiate from other ticket status-changing tools like 'reopen_ticket' in wording, though the verb 'close' is distinct.

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, prerequisites (e.g., ticket must be open), or alternatives. It simply states the action without context, leaving the agent to infer usage from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

count_my_responsesA

Count tickets assigned to you that await a response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description implies a simple read-only count with no side effects. It is transparent enough for a trivial operation.

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?

Single, front-loaded sentence with no waste. Every word is necessary and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is complete and self-explanatory for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist; schema coverage is 100%. Description adds meaning by clarifying what the count represents beyond an empty schema.

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?

Description clearly states verb (count), resource (tickets), and conditions (assigned to you, await a response). It distinguishes from sibling 'count_responses_needed' by personal scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives, but the description inherently implies it's for personal assigned tickets awaiting response. Lacks exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

count_responses_neededA

Count open tickets awaiting a support response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully defines the behavior: it counts open tickets awaiting response. No additional traits like rate limits or scope are disclosed, but the action is straightforward enough that this is adequate.

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?

A single, clear sentence conveys the entire purpose without extraneous words. Every word earns its place.

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?

For a parameterless tool with no output schema, the description sufficiently explains the action. However, it does not clarify the scope (e.g., global vs. user-specific) which could lead to confusion with 'count_my_responses'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description does not need to add parameter meaning. Baseline 4 applies as there is no missing information.

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 specifies the verb 'count', the resource 'open tickets', and the condition 'awaiting a support response'. This directly states the tool's purpose and distinguishes it from sibling 'count_my_responses' which likely counts tickets assigned to the user.

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?

No guidance is provided on when to use this tool versus 'count_my_responses' or other siblings. The description simply states what it does without context on appropriateness or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_customerB

Create a new customer account.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesCustomer email address
passwordYesAccount password
first_nameYesCustomer first name

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate write operation (readOnlyHint=false). Description only restates 'create' without adding any additional behavioral traits like idempotency, error conditions, or auth requirements.

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?

Single sentence, direct and to the point, with no superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create operation, the description omits important context like uniqueness constraints (e.g., email must be unique), duplicate handling, or any response format, which would be helpful since there is no output schema.

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 covers 100% of parameters with descriptions. The tool description adds no extra meaning beyond what the schema provides, so baseline of 3 is appropriate.

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?

Description clearly states 'Create a new customer account.' with a specific verb and resource. It distinguishes well from sibling tools which are all ticket-related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. While sibling tools are different, the description does not mention any context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ticketA

Get a single ticket with its full comment thread.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description carries full burden. It indicates a read operation returning ticket with comments, but does not disclose response structure, authentication needs, or rate limits. Adequate but not detailed.

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?

Single sentence, front-loaded, zero wasted words. Perfectly concise.

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?

For a simple read tool with one parameter and no output schema, the description is mostly complete. It explains what it returns (ticket with comments). Could be improved by hinting at response structure or scope, but generally sufficient.

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?

Only one parameter (ticket_id) with 100% schema coverage. Description adds 'the Ticksy ticket ID', which duplicates schema. Baseline 3 applies as schema already documents it well.

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 verb 'Get' and the resource 'a single ticket', and specifies inclusivity of 'full comment thread', distinguishing it from sibling tools like get_ticket_comments and list_* tickets.

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?

No guidance is provided on when to use this tool versus alternatives such as get_ticket_comments or list_open_tickets. There is no mention of prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ticket_commentsA

Get comments for a ticket without full ticket data.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must disclose behavioral traits. It only states it gets comments without any details on pagination, order, authentication, or side effects. The minimal information may mislead an agent about behavior.

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 a single, efficient sentence with no wasted words. However, it could be improved by adding more context without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is too brief to fully inform an agent. It explains the basic purpose but omits critical context like return values, limits, and prerequisites.

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?

The schema has 100% coverage for its single parameter (ticket_id). The description adds no extra meaning beyond the schema, so it meets the baseline but does not enhance understanding.

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 specifies the action ('Get') and resource ('comments for a ticket'), and explicitly distinguishes it from 'get_ticket' which provides full ticket data. This makes the purpose clear and distinct from sibling tools.

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 when only comments are needed, not full ticket data. It hints at the alternative (get_ticket) but lacks explicit exclusions or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_closed_ticketsA

List recently closed tickets (summary). Use get_ticket for full details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should fully disclose behavior. It mentions 'recently closed' and 'summary' but lacks specifics on recency criteria, ordering, or any side effects. The tool is likely read-only but not stated.

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?

Two concise sentences, front-loads the main purpose, no unnecessary words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema provided. Description says 'summary' but does not specify returned fields, pagination, sorting, or time range. Adequate for a simple list tool but lacks important details for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so baseline is 4 per guidelines. The description adds no parameter info, which is acceptable since there are none.

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?

Clearly states the verb (list) and resource (closed tickets), specifies 'summary' to indicate limited info, and distinguishes from get_ticket for full details.

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?

Explicitly suggests using get_ticket for full details, providing clear guidance for one alternative. However, it does not exclude other scenarios or compare with other siblings like list_open_tickets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_my_ticketsA

List your assigned open tickets (summary). Use get_ticket for full details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden of behavioral transparency. It only mentions 'summary' without elaborating on the listing behavior (e.g., order, pagination, or read-only nature). This is insufficient for a tool with no annotation support.

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 extremely concise: two sentences that front-load the core action and provide a relevant alternative. Every word adds value, with no redundancy.

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?

For a simple tool with no parameters and no output schema, the description covers the essential purpose and suggests the next logical step (get_ticket). It omits potential details about the scope (only assigned open tickets) but that is largely clear from the name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters in the input schema, so the description cannot add meaning beyond the schema. According to guidelines, 0 parameters gives a baseline of 4. The description does not need to elaborate further.

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 'List your assigned open tickets (summary)' which specifies the verb, resource, and scope. It also differentiates from get_ticket by directing users to that tool for full details. This is a specific and unambiguous purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance to use get_ticket for full details, but does not explicitly compare to sibling tools like list_open_tickets. The usage context is implied but not fully clarified, leading to a minimum viable score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_open_ticketsA

List open tickets (summary). Use get_ticket for full details.

ParametersJSON Schema
NameRequiredDescriptionDefault
needs_response_onlyNoIf true, return only tickets where the customer is waiting for a reply

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It implies a read-only operation ('list') and is open about returning only a summary, but it does not explicitly state whether it's read-only or mention any side effects. Adequate for a simple list tool.

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?

Extremely concise at two sentences, with no redundant words. The purpose and key guidance are front-loaded. Every sentence earns its place.

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 no output schema, the description hints at the return type ('summary'), which is adequate for a simple list operation. However, it could be more explicit about what is returned (e.g., list of IDs or titles). Still, it's mostly complete for the complexity level.

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 coverage is 100% with one parameter fully described in the schema. The description adds no additional meaning to the parameter beyond what the schema provides, so baseline score is appropriate.

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 action (list) and resource (open tickets) with the qualifier 'summary', which distinguishes it from get_ticket. The purpose is unambiguous and specific.

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 provides an explicit alternative (get_ticket for full details), guiding when not to use this tool. However, it does not differentiate from sibling tools like list_closed_tickets or list_my_tickets, which limits guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mark_ticket_readB

Mark a ticket as read.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, implying mutation. The description confirms a write operation. No additional behavioral context (e.g., permissions, side effects) is provided beyond what annotations imply. Adequate but minimal.

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?

Very concise single sentence. No wasted words. Could be slightly enhanced but is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so description could clarify return value or acknowledgment. However, for a simple state mutation, the description is minimally adequate. Missing usage context reduces 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 coverage is 100% with one parameter 'ticket_id' described as 'The Ticksy ticket ID'. The description adds no new parameter information. Baseline score of 3 applies.

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 verb 'Mark' and the resource 'a ticket', and the specific state 'as read'. This distinguishes it from siblings like 'mark_ticket_unread' and other ticket actions.

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?

No guidance on when to use this tool versus alternatives like 'mark_ticket_unread' or 'close_ticket'. The description does not provide context for when marking a ticket as read is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mark_ticket_unreadC

Mark a ticket as unread.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a write operation (readOnlyHint=false), but the description adds no behavioral details (e.g., side effects, permissions, impact on notifications). Virtually no extra transparency beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, efficient but lacks detail. Concise at the cost of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is minimal and does not explain behavior or context, making it incomplete for an agent to fully understand usage.

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 coverage is 100% with a clear description for the only parameter, so the description does not need to add much. It provides no additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Mark a ticket as unread' clearly states the action on a ticket, but it is essentially a tautology of the tool name and does not distinguish from siblings like 'mark_ticket_read'.

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?

No guidance on when to use this tool versus alternatives such as 'mark_ticket_read' or other operations, providing no context for decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reopen_ticketB

Reopen a closed ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, so it's a mutation. The description adds no details about side effects, permissions, or what happens post-reopen. Minimal behavioral disclosure beyond the action name.

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?

A single sentence with no unnecessary words. Conciseness is good, though it could be expanded slightly for clarity without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is minimally adequate. It lacks context about typical use cases or effects, but covers the basic action.

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 coverage is 100% with one parameter described adequately. The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

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 'Reopen a closed ticket' uses a specific verb and resource, clearly indicating the action and state. It distinguishes from siblings like close_ticket and list_closed_tickets.

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?

No guidance on when to use this tool versus alternatives, such as making sure the ticket is closed or noting that it's for reopening only. No exclusions or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reply_to_ticketA

Post a public reply visible to the customer.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYesReply body (HTML is accepted)
privateNoIf true, the reply is visible only to staff
ticket_idYesThe Ticksy ticket ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate a write operation (readOnlyHint=false), and the description correctly implies mutation. No additional behavioral details are disclosed, such as effects on ticket status or notifications.

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?

Single sentence with no extraneous information. Front-loaded with key action and visibility constraint.

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?

For a simple tool with 3 parameters and no output schema, the description adequately conveys the tool's purpose and scope. Could briefly mention the mutation effect, but annotations cover that.

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 covers 100% of parameters with descriptions. The description's mention of 'public' reinforces the default for the 'private' parameter but adds minimal new meaning beyond the schema.

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 'Post a public reply visible to the customer' uses a specific verb (reply) and resource (ticket), clearly distinguishing it from sibling tools like 'add_ticket_note' which are private.

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?

Purpose is clear, but the description does not explicitly state when to use this tool versus alternatives. The sibling tools list includes 'add_ticket_note' for private notes, implying usage context, but no direct guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

star_ticketA

Star a ticket for follow-up.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate this is a write operation (readOnlyHint=false). The description adds minimal context: it states the action but doesn't clarify idempotency (e.g., behavior if ticket is already starred) or potential side effects.

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 a single short sentence that conveys the essential information without waste. It is front-loaded with the action and resource.

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 simplicity (one parameter, no output schema, clear action), the description is mostly complete. However, it lacks details on behavioral nuances like idempotency or confirmation of side effects.

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 coverage is 100%, and the schema already describes the parameter (ticket_id). The description adds no extra meaning beyond what the schema provides.

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 action ('star') and resource ('ticket'), and includes the purpose ('for follow-up'). It effectively distinguishes from sibling tools like unstar_ticket.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for follow-up) but provides no explicit guidance on when not to use or alternatives. No mention of prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unstar_ticketB

Remove star from a ticket.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYesThe Ticksy ticket ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, consistent with a mutation. The description adds no further behavioral details beyond the basic action. No contradiction, but also no added context about side effects or error conditions.

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 a single sentence, very concise and front-loaded. It wastes no words, but could benefit from slight expansion to include usage context without losing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description covers the basic action. However, it lacks information about idempotency, expected outcomes, or when the operation is applicable, which would be useful for 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 coverage is 100%, with the parameter 'ticket_id' described as 'The Ticksy ticket ID'. The description does not add any additional meaning beyond the schema, meeting the baseline.

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 action ('remove star') and the resource ('ticket'). It is specific and distinguishes this tool from its sibling 'star_ticket'.

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 'star_ticket'. There is no mention of prerequisite conditions or context for unstarring a ticket.

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 targets a distinct action or data view. Even similar tools like count_responses_needed and count_my_responses are clearly differentiated by scope. Pairs like reply_to_ticket vs add_ticket_note and mark/unmark actions are unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case. Verbs are clear and actions are predictable, such as count_, list_, get_, create_, and action pairs like close_/reopen_ and mark_/unmark_.

Tool Count5/5

16 tools is appropriate for a ticketing system covering creation, listing, details, and common actions. Each tool serves a distinct purpose and the count is well-scoped without unnecessary redundancy.

Completeness2/5

The tool set is severely incomplete for a ticketing system. Crucially, there is no tool to create a ticket, and no update or delete ticket functionality. This will prevent agents from performing basic lifecycle operations, leading to failures.

Maintenance

ActivitySlowing
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

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/artkrsk/ticksy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server