Skip to main content
Glama

mcptix Beta

Un sistema de seguimiento de tickets simple y potente con integración de asistente de inteligencia artificial.

VersiónEstado versión npm Licencia Estado de compilaciónBroma

Banner de mcptix

¿Qué es mcptix?

mcptix es un sistema de seguimiento de tickets que te ayuda a gestionar tareas, errores y funciones de tus proyectos. Está diseñado para ser fácil de usar y se integra con asistentes de IA mediante el Protocolo de Contexto de Modelo (MCP).

  • 📋 Seguimiento de tickets : crea, actualiza y administra tickets para tus proyectos

  • 🧠 Mida la complejidad : realice un seguimiento de la complejidad de sus tickets con el motor de inteligencia de complejidad

  • 💬 Agregar comentarios - Colabora con comentarios en los tickets

  • 🤖 Integración de IA : conecta tus asistentes de IA a mcptix para mejorar la planificación y la codificación

Related MCP server: agent-todo-mcp

Guía de inicio rápido

Para aquellos que quieran empezar a utilizarlo rápidamente con funciones básicas:

# Install mcptix
npm install @ownlytics/mcptix

# Initialize mcptix in your project
npx mcptix init

# Start mcptix
npx mcptix start

¡Eso es todo por el uso básico! Para la integración con el asistente de IA, consulta la Guía de Integración de IA a continuación.

Guía de instalación completa

Prerrequisitos

  • Node.js 14 o superior

  • npm o hilo

  • Un asistente de inteligencia artificial que admite MCP (Claude Desktop, Roo, etc.)

Paso 1: Instalar mcptix

npm install @ownlytics/mcptix

Paso 2: Inicialice mcptix en su proyecto

npx mcptix init

Esto hará lo siguiente:

  • Crea una carpeta .mcptix en tu proyecto

  • Agregar archivos de configuración

  • Configurar la estructura de la base de datos

Paso 3: Iniciar la interfaz de usuario de mcptix

npx mcptix start

Esto iniciará solo la interfaz de usuario de mcptix (servidor API). El asistente de IA iniciará el servidor MCP cuando sea necesario.

Guía de integración de IA

Una de las funciones más potentes de mcptix es su integración con asistentes de IA mediante el Protocolo de Contexto de Modelo (MCP). Esto permite que los asistentes de IA ayuden con la planificación de proyectos, la descomposición de tareas y mucho más.

Comprensión de la integración de IA de mcptix

Cuando se configura correctamente, mcptix permite que su asistente de IA:

  1. Crear, leer, actualizar y eliminar tickets

  2. Añadir comentarios a los tickets

  3. Almacenar información de planificación detallada en el campo agent_context

  4. Divida las tareas complejas en tickets manejables

  5. Métricas de complejidad del seguimiento

El campo agent_context es especialmente poderoso: brinda a los asistentes de IA un lugar para almacenar documentos de planificación extensos usando Markdown, sin saturar la conversación.


💡⚡️ Desarrollo rentable con mcptix

Tener un agente LLM conectado a la API planificando, ejecutando código, gestionando errores y depurando constantemente puede resultar costoso rápidamente. Los costos de la API se acumulan cuando el agente necesita procesar repetidamente el mismo contexto y mantener el estado en todas las interacciones.

Un enfoque más rentable: Configure Claude Desktop (con una cuenta Pro con Claude 3.7 Sonnet) con mcptix y acceso al sistema de archivos. Esta configuración local reduce drásticamente el uso de la API, a la vez que mantiene una potente asistencia de IA.

Al almacenar planes completos en el campo agent_context (con nombres de archivos, números de línea, nombres de métodos y otros puntos de referencia organizados en fragmentos lógicos y funcionales), puede reducir el uso de la API hasta en un 80 %.

mcptix actúa como un banco de memoria de próxima generación para agentes de codificación LLM, lo que les permite descargar la planificación detallada y el contexto en un sistema de almacenamiento persistente al que pueden hacer referencia según sea necesario, en lugar de mantener todo en su ventana de contexto limitada.

Lo que hace que este sistema sea particularmente potente es que tanto su agente de programación (como Roo/Cline) como Claude Desktop acceden a la misma base de datos mcptix subyacente. Esto crea un entorno colaborativo fluido donde Claude Desktop puede crear planes integrales y almacenarlos en tickets, mientras que su agente de programación puede recuperarlos y ejecutarlos con precisión. Se comunican eficazmente a través del sistema de tickets compartido: Claude Desktop divide las tareas complejas en fragmentos ejecutables y su agente de programación las implementa sin necesidad de regenerar el contexto cada vez.


Configuración para diferentes asistentes de IA

Para Roo

  1. Copiar la configuración de MCP :

    Al ejecutar npx mcptix init , se crea un archivo de configuración del servidor MCP en .mcptix/mcp-server-config.json . Cópielo en el directorio de configuración de Roo:

    mkdir -p .roo
    cp .mcptix/mcp-server-config.json .roo/mcp.json
  2. Verifique el archivo de configuración para asegurarse de que las rutas sean absolutas:

    {
      "mcpServers": {
        "mcptix": {
          "command": "/absolute/path/to/node",
          "args": ["/absolute/path/to/node_modules/@ownlytics/mcptix/dist/mcp/index.js"],
          "env": {
            "MCPTIX_HOME_DIR": "/absolute/path/to/your/project/.mcptix",
            "HOME": "/home/your-username"
          },
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }

    Asegúrese de que /absolute/path/to/node sea el resultado de ejecutar which node en su terminal.

    Asegúrese de que /absolute/path/to/node_modules/@ownlytics/mcptix/dist/mcp/index.js sea la ruta absoluta al servidor MCP de mcptix en su node_modules.

    Asegúrese de que /absolute/path/to/your/project/.mcptix sea la ruta absoluta al directorio .mcptix de su proyecto.

    Asegúrese de que /home/your-username sea su directorio de inicio (resultado de echo $HOME ).

Para Claude Desktop

  1. Instale desktop-commander si aún no lo ha hecho:

    npm install -g @wonderwhy-er/desktop-commander
  2. Conecte Claude Desktop a su sistema de archivos :

    desktop-commander connect
  3. Configurar Claude Desktop :

    En Claude Desktop:

    • Vaya a Configuración > Desarrollador

    • Agregue la configuración de MCP en la sección "Configuración del servidor MCP":

    {
      "mcpServers": {
        "mcptix": {
          "command": "/absolute/path/to/node",
          "args": ["/absolute/path/to/node_modules/@ownlytics/mcptix/dist/mcp/index.js"],
          "env": {
            "MCPTIX_HOME_DIR": "/absolute/path/to/your/project/.mcptix",
            "HOME": "/home/your-username"
          },
          "disabled": false,
          "alwaysAllow": []
        },
        "desktop-commander": {
          "command": "npx",
          "args": ["-y", "@smithery/cli@latest", "run", "@wonderwhy-er/desktop-commander", "--config", "{}"]
        }
      }
    }

    Utilice el json como se describe en la configuración del agente de codificación.

  4. Crear un proyecto en Claude Desktop :

    • Haga clic en "Nuevo proyecto" en Claude Desktop

    • Nombra tu proyecto apropiadamente

    • Establezca el directorio de su proyecto en el directorio raíz de su proyecto de desarrollo

  5. Editar las instrucciones del sistema del proyecto :

    Añadir instrucciones para Claude sobre el uso de mcptix:

    This project uses mcptix for ticket tracking. When planning work:
    
    1. Use the mcptix MCP server to create and manage tickets
    2. Break down complex tasks into smaller tickets
    3. Use the agent_context field in tickets to store comprehensive planning in Markdown format
    4. Project files are located in: /path/to/your/project

Uso de mcptix con asistentes de IA

Una vez configurado, puedes empezar a hablar con tu asistente de IA sobre tu proyecto. Aquí tienes un flujo de trabajo:

  1. Inicie la interfaz de usuario de mcptix :

    npx mcptix start
  2. Inicie una conversación con Claude Desktop o su asistente de IA sobre la planificación de su proyecto.

  3. Pedir ayuda para dividir tareas complejas : Ejemplo: "Necesito implementar un sistema de autenticación de usuarios. ¿Puede ayudarme a dividirlo en tickets manejables?"

  4. La IA creará tickets con una planificación detallada en el campo agent_context

  5. Vea los tickets en la interfaz de usuario de mcptix en http://localhost:3000 (o su puerto configurado)

  6. Ejecutar tickets siguiendo los planes en el campo agent_context

  7. Revise el progreso con su asistente de IA y refine los planes según sea necesario

Trabajando con Cline/Roo

Al trabajar con Cline o Roo:

  1. Dile al asistente que busque los tickets :

    Find tickets in the 'in-progress' status.
  2. Pídale al asistente que trabaje en un ticket específico :

    Work on ticket id `ticket-1234567890` following the plan in the agent_context.
  3. El asistente ejecutará el plan en el campo agent_context

Uso del tablero Kanban

El tablero Kanban

Cuando abras mcptix, verás un tablero Kanban con columnas para diferentes estados de tickets:

  • Backlog : tickets en los que es necesario trabajar

  • A continuación : Tickets que están listos para ser trabajados

  • En progreso : tickets en los que se está trabajando actualmente

  • En revisión : tickets que se están revisando

  • Completado - Tickets que están hechos

Crear un ticket manualmente

  1. Haga clic en el botón "Nuevo ticket" en la parte superior derecha.

  2. Complete los datos del ticket:

    • Título

    • Descripción

    • Estado

    • Prioridad

  3. Haga clic en "Guardar"

Actualizar un ticket

  1. Haga clic en un ticket para abrirlo

  2. Editar los detalles del ticket

  3. Los cambios se guardan automáticamente

Añadiendo comentarios

  1. Abrir un ticket

  2. Desplácese hacia abajo hasta la sección de comentarios.

  3. Escribe tu comentario

  4. Haga clic en "Añadir comentario"

Configuración avanzada

Puede personalizar mcptix editando el archivo .mcptix/mcptix.config.js :

module.exports = {
  // Database configuration
  dbPath: './.mcptix/data/mcptix.db',

  // API server configuration
  apiPort: 3000,
  apiHost: 'localhost',

  // Server options
  mcpEnabled: false, // Disabled by default - MCP server should be started by the LLM agent
  apiEnabled: true,

  // Logging configuration
  logLevel: 'info',

  // Data management
  clearDataOnInit: false,
};

Personalizaciones comunes

  • Cambiar el puerto : si el puerto 3000 ya está en uso, cambie apiPort a otro número

  • Cambiar la ubicación de los datos : si desea almacenar datos en otro lugar, cambie dbPath

Solución de problemas

Problemas de instalación

  • "Comando no encontrado" al ejecutar mcptix

    • Asegúrate de haber instalado mcptix ( npm install @ownlytics/mcptix )

    • Intente utilizar la ruta completa: ./node_modules/.bin/mcptix

  • La inicialización falla

    • Comprueba si tienes permiso para escribir en el directorio actual

    • Asegúrese de que Node.js esté instalado y actualizado

La interfaz de usuario de mcptix no se inicia

  • Puerto ya en uso

    • Cambiar el puerto en .mcptix/mcptix.config.js

    • Comprobar si ya se está ejecutando otra instancia

  • Errores de base de datos

    • Asegúrese de que la ruta de la base de datos sea accesible

    • Verifique los permisos de archivo en el directorio .mcptix

Problemas de integración de la IA

  • El asistente de IA no puede conectarse a mcptix

    • Verifique que las rutas de configuración de MCP sean absolutas y correctas

    • Comprueba que tu asistente de IA sea compatible con MCP

    • Asegúrese de que la ruta de la base de datos en la configuración sea accesible para el servidor MCP

  • El servidor MCP no se inicia

    • Verifique las variables de entorno en su configuración de MCP

    • Verificar la ruta a Node.js y al servidor MCP de mcptix

    • Busque mensajes de error en los registros de su asistente de IA

  • Errores de "Módulo no encontrado"

    • Asegúrese de que mcptix esté instalado correctamente

    • Comprueba que las rutas en tu configuración de MCP sean correctas

Referencia de línea de comandos

mcptix proporciona varias opciones de línea de comandos:

# Initialize mcptix in your project
npx mcptix init

# Start mcptix
npx mcptix start

# Start with custom port and host
npx mcptix start --port 3001 --host 0.0.0.0

# Start without opening the browser
npx mcptix start --no-open

# Start only the MCP server (for development/testing purposes)
npx mcptix mcp

Comprensión de la arquitectura MCP

El servidor MCP (Protocolo de Contexto de Modelo) está diseñado para ser iniciado por el asistente de IA, no por mcptix. Esta arquitectura garantiza:

  1. El servidor MCP solo se ejecuta cuando es necesario

  2. El servidor MCP tiene acceso a la base de datos correcta

  3. El servidor MCP está configurado correctamente para su asistente de IA

Cuando su asistente de IA necesite interactuar con mcptix, hará lo siguiente:

  1. Leer el archivo de configuración de MCP desde su directorio de configuración

  2. Inicie el servidor MCP como se especifica en la configuración

  3. Conectarse al servidor MCP

  4. Utilice las herramientas y recursos proporcionados por el servidor MCP para interactuar con mcptix

🛡️ Licencia y uso

Este proyecto está licenciado bajo la Licencia Business Source 1.1 (BSL 1.1) .

Puede utilizar, modificar y explorar este software para fines no comerciales , incluida la evaluación interna, la experimentación o la investigación.

El uso comercial, incluso en producción, servicios pagos o entornos empresariales, requiere una licencia comercial de Tesseract Labs, LLC.

Nos complace apoyar a los equipos que buscan integrar o escalar con esta herramienta. Contáctenos para obtener licencias o asesoramiento:

📧 hola@ownlytics.io
📄 Ver términos completos de la licencia

Respetar esta licencia ayuda a apoyar el desarrollo y la innovación continuos.

Available Tools

8 tools
add_commentC

Add a comment to a ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
authorNoComment authoragent
contentYesComment content
statusNoComment statusopen
ticket_idYesTicket ID
typeNoComment typecomment

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Add a comment' implies a write/mutation operation, but the description doesn't specify permissions required, whether comments are editable or deletable, rate limits, or what happens on success/failure. This leaves critical behavioral traits unaddressed for a mutation 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?

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action without unnecessary elaboration, making it easy to parse quickly.

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 that this is a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, error conditions, or side effects. For a tool that modifies data, more context about behavioral expectations is needed to guide safe and effective use.

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 description adds no parameter semantics beyond what the input schema provides. With 100% schema description coverage, all parameters (ticket_id, content, author, status, type) are documented in the schema with descriptions, defaults, and enums. The baseline score of 3 is appropriate as the schema does the heavy lifting, but the description doesn't enhance understanding of parameter usage or relationships.

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 ('Add a comment') and the target resource ('to a ticket'), which is specific and unambiguous. However, it doesn't differentiate this tool from potential sibling tools like 'update_ticket' that might also handle comments, so it doesn't fully distinguish itself from alternatives.

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. With siblings like 'update_ticket' that might modify tickets, there's no indication of whether this is the primary method for adding comments or if other tools should be preferred in certain contexts. No exclusions or prerequisites are mentioned.

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

create_ticketD

Create a new ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
complexity_metadataNoComplexity metrics
descriptionNoTicket description
priorityNoTicket prioritymedium
statusNoTicket statusbacklog
titleYesTicket title

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but provides none. 'Create a new ticket' doesn't indicate whether this is a mutating operation (it clearly is), what permissions might be required, whether there are rate limits, what happens on success/failure, or what the response contains. For a creation tool with complex nested parameters, this lack of behavioral context is a significant gap.

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

Conciseness2/5

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

While technically concise with just three words, this is a case of under-specification rather than effective brevity. The description is too minimal for a tool with 5 parameters including a complex nested object with 16 sub-properties. Every sentence should earn its place, but here the single 'sentence' fails to provide necessary context for proper tool selection and use.

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

Completeness1/5

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

Given the complexity (5 parameters with nested objects), absence of annotations, and lack of output schema, the description is completely inadequate. A creation tool with sophisticated complexity metrics and status tracking needs far more context about system behavior, success conditions, error handling, and relationships to other tools. The current description provides none of this necessary context.

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 description coverage is 100%, meaning all parameters are documented in the schema itself. The description adds zero additional parameter information beyond what's already in the structured schema. However, since the schema does the heavy lifting with detailed descriptions for each property, the baseline score of 3 is appropriate - the description doesn't help but doesn't need to given the comprehensive schema documentation.

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

Purpose2/5

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

The description 'Create a new ticket' is a tautology that essentially restates the tool name. While it does specify the verb 'create' and resource 'ticket', it provides no differentiation from sibling tools like 'update_ticket' or context about what constitutes a ticket in this system. It's minimally informative but doesn't go beyond restating the obvious.

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

Usage Guidelines1/5

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

The description provides absolutely no guidance about when to use this tool versus alternatives. There are multiple sibling tools (add_comment, delete_ticket, update_ticket, get_ticket, list_tickets, search_tickets) but no indication of when this creation tool is appropriate versus updating existing tickets or other operations. No context about prerequisites, timing, or relationships to other tools is provided.

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

delete_ticketC

Delete a ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTicket ID

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Delete' implies a destructive mutation, but the description doesn't specify whether this is permanent, requires special permissions, triggers notifications, or returns confirmation. For a destructive operation with zero annotation coverage, this is a significant gap.

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 at three words with zero wasted language. It's front-loaded with the core action and resource. While it's under-specified, this dimension scores conciseness, not 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 destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't address critical context like irreversible consequences, permission requirements, error conditions, or what happens upon success. The agent lacks sufficient information to use this tool safely and effectively.

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% (the 'id' parameter is documented as 'Ticket ID'), so the schema already provides parameter meaning. The description adds no additional context about parameter format, validation, or where to obtain the ID. Baseline 3 is appropriate when schema does the heavy lifting.

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?

The description states the action ('Delete') and target resource ('a ticket'), which provides a basic understanding of purpose. However, it lacks specificity about what constitutes a ticket in this system and doesn't differentiate from sibling tools like 'update_ticket' or 'create_ticket' beyond the obvious verb difference.

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 about when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing ticket ID from get_ticket/list_tickets), irreversible consequences, or when deletion might be inappropriate versus updating or archiving.

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

get_statsC

Get statistics about tickets in the system

ParametersJSON Schema
NameRequiredDescriptionDefault
group_byNoField to group bystatus

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Get statistics', which implies a read-only operation, but doesn't specify if it requires authentication, has rate limits, returns aggregated data, or details about output format. For a tool with no annotations, this leaves significant gaps in understanding its 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, clear sentence that efficiently states the tool's purpose without unnecessary words. However, it could be more front-loaded with key details like the aggregation aspect, but it's appropriately sized for its limited content.

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 tool's purpose (statistics retrieval) and lack of annotations and output schema, the description is incomplete. It doesn't explain what statistics are returned, in what format, or any behavioral traits like data freshness or access requirements. For a tool with no structured support, more descriptive context is needed.

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 input schema has 100% description coverage, clearly documenting the 'group_by' parameter with enum values. The description doesn't add any meaning beyond the schema, as it doesn't mention parameters at all. With high schema coverage, the baseline score of 3 is appropriate since the schema handles parameter documentation adequately.

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?

The description states the tool 'Get statistics about tickets in the system', which provides a basic purpose (verb+resource) but lacks specificity about what kind of statistics or scope. It doesn't distinguish from sibling tools like 'list_tickets' or 'search_tickets' that also retrieve ticket information, making it somewhat vague.

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 like 'list_tickets' or 'search_tickets'. The description implies it's for aggregated statistics, but it doesn't explicitly state this or mention prerequisites, 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.

get_ticketC

Get a ticket by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTicket ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden but adds minimal behavioral context. It states 'Get' which implies a read operation, but doesn't disclose traits like whether it requires authentication, returns full or partial data, handles errors, or has rate limits. This is inadequate for a tool with zero annotation coverage.

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 ('Get a ticket by ID'), front-loaded with the core action, and wastes no words. Every part of the sentence is essential, making it efficient and easy to parse, though it may be overly brief for 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?

Given no annotations, no output schema, and a simple parameter, the description is incomplete. It doesn't explain what the tool returns (e.g., ticket details, status), error conditions, or behavioral aspects. For a basic read tool, this leaves significant gaps in understanding its full context and 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 description coverage is 100%, with the parameter 'id' documented as 'Ticket ID' in the schema. The description adds no additional meaning beyond this, such as format examples (e.g., numeric vs. string) or constraints. Baseline 3 is appropriate since the schema does the heavy lifting, but no extra value is provided.

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 ('Get') and resource ('a ticket by ID'), making the purpose understandable. It distinguishes from siblings like list_tickets (multiple tickets) and search_tickets (filtered search), though not explicitly. However, it lacks specificity about what 'get' entails (e.g., retrieve details vs. status), preventing a perfect score.

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. For example, it doesn't clarify that this is for retrieving a single known ticket ID, whereas list_tickets returns multiple tickets or search_tickets filters by criteria. The description implies usage by mentioning 'by ID' but offers no explicit context or exclusions.

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

list_ticketsB

List tickets with optional filtering, sorting, and pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of tickets to return
offsetNoNumber of tickets to skip
orderNoSort orderdesc
priorityNoFilter by priority
searchNoSearch term for title and description
sortNoSort fieldupdated
statusNoFilter by status

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'optional filtering, sorting, and pagination' but lacks critical behavioral details: it doesn't specify default behavior beyond what's in the schema (e.g., default sort order), doesn't mention rate limits, authentication needs, or what happens with invalid parameters. For a list operation with 7 parameters, this leaves significant gaps in understanding how the tool behaves in practice.

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 that front-loads the core purpose ('List tickets') and succinctly lists key features. Every word earns its place with no redundancy or fluff, making it easy for an agent to parse quickly while covering essential aspects.

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 moderate complexity (7 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic action and features but lacks details on behavioral traits, output format, or error handling. Without annotations or output schema, the agent is left with incomplete context for reliable invocation, though the schema provides solid parameter documentation.

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 schema fully documents all 7 parameters. The description adds minimal value beyond the schema by summarizing the optional features (filtering, sorting, pagination), but doesn't provide additional context like parameter interactions or usage examples. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.

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 verb 'List' and resource 'tickets', making the purpose unambiguous. It distinguishes from siblings like 'get_ticket' (singular) and 'search_tickets' (implied broader search), though it doesn't explicitly differentiate from 'search_tickets' which might have overlapping functionality. The description is specific about the action but could be more precise about scope.

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 like 'search_tickets' or 'get_ticket'. The description mentions optional filtering, sorting, and pagination, but doesn't specify contexts or exclusions. Without explicit usage rules, the agent must infer based on tool names alone, which is insufficient for reliable selection.

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

search_ticketsC

Search for tickets based on various criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of tickets to return
offsetNoNumber of tickets to skip
orderNoSort orderdesc
priorityNoFilter by priority
queryYesSearch query
sortNoSort fieldrelevance
statusNoFilter by status

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'based on various criteria', which hints at filtering, but fails to detail key behaviors such as pagination handling (implied by limit/offset), authentication needs, rate limits, or what the search returns. This leaves significant gaps for a tool with 7 parameters.

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. It's appropriately sized and front-loaded, directly stating the tool's action without unnecessary elaboration.

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 search tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the return format, error handling, or how search criteria combine, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.

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 description adds minimal meaning beyond the input schema, which has 100% coverage with detailed parameter descriptions. It implies filtering via 'various criteria', but doesn't elaborate on syntax or interactions between parameters. Given the high schema coverage, a baseline score of 3 is appropriate as the schema does most of the work.

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 verb ('search') and resource ('tickets'), making the purpose evident. However, it doesn't distinguish this tool from its sibling 'list_tickets', which might also retrieve tickets, leaving room for ambiguity in sibling differentiation.

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 'list_tickets' or 'get_ticket'. It lacks explicit context, exclusions, or prerequisites, offering minimal usage direction beyond the basic action.

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

update_ticketC

Update an existing ticket

ParametersJSON Schema
NameRequiredDescriptionDefault
complexity_metadataNoComplexity metrics
descriptionNoTicket description
idYesTicket ID
priorityNoTicket priority
statusNoTicket status
titleNoTicket title

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update' implies a mutation, but it doesn't disclose any behavioral traits such as required permissions, whether updates are partial or full, error handling, or side effects. This is a significant gap for a mutation tool with zero annotation coverage.

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 zero waste. It's appropriately sized and front-loaded, making it easy to parse quickly. Every word earns its place without redundancy or unnecessary elaboration.

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 complexity (6 parameters including nested objects, no output schema, and no annotations), the description is incomplete. It doesn't address key aspects like what fields are updatable, how partial updates work, or what the tool returns. For a mutation tool with rich input schema but no annotations or output schema, this leaves significant gaps.

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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly, including nested objects and enums. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or constraints). Baseline 3 is appropriate when the schema does the heavy lifting.

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?

The description 'Update an existing ticket' clearly states the action (update) and resource (ticket), which is better than a tautology. However, it doesn't specify what aspects can be updated or differentiate this from sibling tools like 'add_comment' or 'create_ticket' beyond the basic verb. It's vague about scope and distinction.

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. It doesn't mention prerequisites (e.g., needing an existing ticket ID), when not to use it (e.g., for creating new tickets), or refer to sibling tools like 'create_ticket' or 'delete_ticket' for different operations. Usage is implied but not explicit.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.0.0
    • First observedadd_comment
    • First observedcreate_ticket
    • First observeddelete_ticket
    • First observedget_stats
    • First observedget_ticket
    • First observedlist_tickets
    • First observedsearch_tickets
    • First observedupdate_ticket

TDQS

B3.1/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: add_comment, create_ticket, delete_ticket, get_stats, get_ticket, list_tickets, search_tickets, and update_ticket all target specific actions on tickets or related data. The descriptions reinforce distinct roles, such as list_tickets for listing with filters versus search_tickets for searching based on criteria.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case, such as create_ticket, get_ticket, and update_ticket. This uniformity makes the tool set predictable and easy to understand, with no deviations in naming conventions across the eight tools.

Tool Count5/5

With 8 tools, the count is well-scoped for a ticket management system, covering essential operations without bloat. Each tool earns its place, providing a balanced set for CRUD operations, commenting, statistics, listing, and searching, which aligns perfectly with the server's purpose.

Completeness5/5

The tool set offers complete CRUD/lifecycle coverage for ticket management: create_ticket, get_ticket, update_ticket, and delete_ticket handle the core lifecycle, while add_comment supports interaction, and list_tickets, search_tickets, and get_stats provide comprehensive querying and analytics. No obvious gaps exist for the domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides issue tracking tools for Jira, Redmine, GitHub, and GitLab via the Model Context Protocol, enabling agents to search, fetch, sync, and manage issues through natural language.
    MIT