Skip to main content
Glama
pilloom
by pilloom

jira-lite-mcp

Servidor MCP para Jira Cloud, pensado para trabajar con Claude Code.

No pretende cubrir toda la API de Jira: expone pocas herramientas de alto valor, con respuestas legibles para un modelo en lugar de las respuestas crudas de la API.

Es genérico. No conoce proyectos, épicas ni campos personalizados concretos: los resuelve contra la instancia a la que se conecta. Los nombres de campo se indican como se ven ("Criterios de aceptación") y el servidor los traduce a su identificador real.


Requisitos


Related MCP server: Jira MCP Server

Instalación

npm install
cp .env.example .env   # y rellenar
npm run build

.env:

JIRA_URL=https://tu-organizacion.atlassian.net
JIRA_EMAIL=tu-correo@example.com
JIRA_TOKEN=tu-token

Registrar en Claude Code

claude mcp add jira-lite --scope user -- node /ruta/absoluta/a/jira-lite-mcp/dist/server.js

--scope user lo deja disponible en todos los proyectos, con las credenciales en el .env de este repositorio.

Comprobar que responde:

claude mcp get jira-lite

Tras cambiar el código hay que ejecutar npm run build y reiniciar la sesión: el cliente arranca el servidor al abrirla y mantiene ese proceso mientras dura, así que hasta entonces sigue sirviendo el código anterior. /clear no basta.

La herramienta ping indica qué código está en ejecución:

{ "status": "ok", "version": "1.1.0", "built": "2026-07-20T02:16:44.020Z" }

Si built es anterior a la última compilación, la sesión está sirviendo código antiguo. Es la forma de distinguir una capacidad que no existe de una que no está desplegada.

Registrar en un proyecto concreto (.mcp.json)

Para dejarlo declarado en un repositorio y compartirlo con el equipo, se usa el scope project, que escribe un .mcp.json en su raíz:

claude mcp add --scope project jira-lite -- node /ruta/absoluta/a/jira-lite-mcp/dist/server.js

El fichero resultante se commitea. Como cada persona clonará este servidor en una ubicación distinta, la ruta absoluta conviene sustituirla por una variable con valor por defecto:

{
  "mcpServers": {
    "jira-lite": {
      "command": "node",
      "args": ["${JIRA_MCP_PATH:-/ruta/por/defecto}/jira-lite-mcp/dist/server.js"]
    }
  }
}

Cada miembro define JIRA_MCP_PATH en su shell y mantiene su propio .env en este repositorio. No hace falta declarar las credenciales en .mcp.json.

Si se prefiere pasarlas desde el cliente, se añaden como variables del servidor:

"env": {
  "JIRA_URL": "${JIRA_URL}",
  "JIRA_EMAIL": "${JIRA_EMAIL}",
  "JIRA_TOKEN": "${JIRA_TOKEN}"
}

⚠️ Nunca escribir el token literal: .mcp.json se versiona.

Un cliente que no encuentre la variable entrega el marcador sin sustituir en lugar de omitirlo. El servidor detecta ese caso y recurre al .env, en vez de intentar autenticarse con la cadena ${JIRA_TOKEN} y devolver un error de credenciales sin relación aparente.

La primera vez que alguien abra el proyecto, Claude Code pedirá aprobar los servidores declarados. claude mcp reset-project-choices restablece esa decisión.

Un servidor con el mismo nombre en varios ámbitos se resuelve por precedencia —local, luego proyecto, luego usuario— y se usa la definición completa del que gane, sin combinar campos.


Herramientas

Lectura

Herramienta

Para qué

jira_my_work

Issues asignados y pendientes. «¿Qué tengo pendiente en Jira?»

jira_list_projects

Proyectos visibles, con su clave. «¿Qué proyectos hay?»

jira_project_summary

Estado de un proyecto: abiertos, reparto por estado, tipo y prioridad, sin asignar y estancados

jira_explain_issue

Un issue con todo su contexto: padre, subtareas, enlaces, comentarios y transiciones posibles

jira_get_issue

Datos básicos de un issue

jira_search

Búsqueda por JQL

jira_issue_fields

Tipos de issue de un proyecto y campos que admite cada uno al crearlo

jira_get_worklog

Tiempo registrado en un issue: estimación, total y desglose

Escritura

Herramienta

Para qué

jira_create_issue

Crear un issue, validando los campos antes de enviarlos

jira_update_issue

Modificar campos de un issue

jira_transition_issue

Cambiar de estado, opcionalmente con comentario

jira_link_issues

Enlazar dos issues

jira_add_comment

Comentar

jira_add_worklog

Registrar tiempo

jira_create_sprint

Crear un sprint en el tablero scrum del proyecto

jira_move_to_sprint

Mover issues a un sprint

jira_delete

Eliminar un comentario, un registro de tiempo o un enlace


Notas de uso

Los campos se indican por su nombre. jira_create_issue y jira_update_issue aceptan customFields con el nombre visible del campo, y el servidor resuelve el identificador y el formato correctos contra la instancia:

{ "customFields": { "Criterios de aceptación": "[ ] Primero\n[ ] Segundo" } }

Se valida antes de escribir. Al crear un issue se comprueban los campos contra el esquema real del proyecto y del tipo. Un payload incorrecto falla en local, sin llegar a la API: Jira reserva la clave del issue al procesar la petición, y una petición inválida la consume igual.

Los estados se indican por su nombre. jira_transition_issue acepta el estado de destino ("Finalizada"), el nombre de la transición ("Listo") o su identificador, y resuelve cuál aplica contra el workflow del issue.

En JQL los tipos de issue van en inglés. Un sitio traducido muestra Historia o Error, pero jira_search necesita Story o Bug: escribir el nombre traducido devuelve cero resultados sin dar error. jira_project_summary no se ve afectado, porque agrupa por tipo sobre los issues ya recuperados.

Campos obligatorios por convención. Un equipo puede dar por obligatorio un campo que Jira no marca como tal —y cuya ausencia, por tanto, no señala—. JIRA_REQUIRED_FIELDS lo convierte en un error al crear:

JIRA_REQUIRED_FIELDS_LAN=Team     # solo en el proyecto LAN
JIRA_REQUIRED_FIELDS=Team         # en todos

No se rellena nada automáticamente: la creación se rechaza para que el valor lo decida siempre quien la pide. Con dryRun la comprobación se hace igualmente, sin gastar una clave.

En una subtarea el requisito se comprueba contra su issue padre, porque hereda de él parte del contexto. Algunos campos —el equipo asignado, por ejemplo— Jira ni siquiera admite enviarlos en una subtarea: los rechaza indicando que se heredan. Exigirlos en el payload haría imposible crear subtareas en un proyecto con esta política.

No se pueden eliminar issues. jira_delete cubre comentarios, registros de tiempo y enlaces, pero no issues: borrar uno destruye trabajo registrado junto con sus subtareas y deja un hueco permanente en la numeración del proyecto. Para retirar un issue de la circulación, moverlo a un estado final con jira_transition_issue.

Los sprints cuelgan del tablero, no del proyecto. Y solo los tableros scrum los admiten: en un proyecto kanban no hay dónde crearlos. jira_create_sprint acepta la clave del proyecto y localiza su tablero scrum; si hay más de uno, el error los enumera con su boardId en vez de elegir por su cuenta.

Crear un sprint no lo arranca. Queda en estado future. Iniciarlo cierra el anterior y fija el compromiso del equipo, así que esa decisión se deja en Jira.

{ "project": "LAN", "name": "Sprint 12", "startDate": "2026-09-01", "endDate": "2026-09-15" }

Una fecha sin hora se ancla a medianoche UTC: Jira solo muestra el día, y anclarla a la hora local la desplazaría al día anterior para quien esté al oeste del meridiano.

Un issue pertenece a un solo sprint. jira_move_to_sprint lo saca del anterior, así que sirve igual para poblar un sprint nuevo que para reubicar trabajo. La API mueve como mucho 50 issues por petición y aplica cada una entera o ninguna: con más de 50 la respuesta indica cuáles se movieron y qué lote falló, en lugar de dar por hecho que se movió todo.

Las búsquedas no devuelven el total de coincidencias. El endpoint de Jira pagina y no informa del total, así que jira_search devuelve cuántos issues trae (count) y si quedan más (hasMore).


Desarrollo

npm run dev     # servidor en modo watch
npm run build   # compilar a dist/

Inspeccionar el servidor sin pasar por Claude Code:

npx @modelcontextprotocol/inspector --cli node dist/server.js --method tools/list
npx @modelcontextprotocol/inspector --cli node dist/server.js \
  --method tools/call --tool-name jira_my_work --tool-arg limit=5

La arquitectura y las decisiones de diseño están en docs/plan/PLAN.md.

Available Tools

15 tools
jira_add_commentA

Añade un comentario a un issue de Jira. El texto se envía en texto plano y se convierte al formato que espera la API, conservando los saltos de línea.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesTexto del comentario
issueKeyYesClave del issue. Ejemplo: ATY-123

TDQS

A3.7/5.0
Behavior3/5

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

The description explains that text is sent in plain text and converted to the API format preserving line breaks, which adds some behavioral context. However, with no annotations provided, the description does not cover potential side effects, auth requirements, or error handling (e.g., what if the issue doesn't exist).

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 consists of two concise sentences. The first states the core purpose, and the second adds a relevant processing detail. No unnecessary words or redundancy.

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 lack of annotations and output schema, the description is somewhat minimal. For a write tool, it could mention success indicators (e.g., returns comment object) or common constraints. However, for a simple comment-adding operation, it provides the essential information.

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 already has 100% coverage with descriptions, but the description adds value by clarifying that the body is processed as plain text with line breaks preserved. This augments the schema's generic 'Texto del comentario' with practical formatting details.

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 (adds a comment) and the resource (Jira issue). The verb 'añade' and resource 'comentario a un issue' are specific, and the tool is easily distinguishable from siblings like jira_create_issue or jira_update_issue.

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 (e.g., when to add a comment vs. a worklog). There are no explicit when-to-use or when-not-to-use instructions, leaving the agent without context for selection.

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

jira_add_worklogA

Registra tiempo trabajado en un issue de Jira. La respuesta incluye cómo ha interpretado Jira el tiempo enviado, en segundos, porque la duración de una jornada la define la configuración del sitio.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNoDescripción del trabajo realizado
startedNoMomento en que se realizó el trabajo, en formato ISO. Ejemplo: 2026-07-19T09:00:00. Por defecto, ahora
issueKeyYesClave del issue. Ejemplo: ATY-123
timeSpentYesTiempo trabajado en el formato de Jira. Ejemplos: 30m, 1h 30m, 8h

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It mentions that the response includes how Jira interpreted the time in seconds due to site configuration, which adds some behavioral context. However, it does not disclose destructive potential or authentication 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?

The description is a single sentence that effectively conveys purpose and a key behavioral note. It is front-loaded and concise without unnecessary information.

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?

Tool has 4 parameters with full schema coverage and no output schema. The description adds some context about the response but omits details about idempotency or side effects. It is adequate but not comprehensive for a mutation tool.

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?

Schema coverage is 100%, so baseline is 3. The description adds extra meaning by explaining that the response includes interpretation of time in seconds, which goes beyond schema definitions. This provides helpful context for understanding the tool's output.

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 uses a specific verb 'Registra' and identifies the resource 'tiempo trabajado en un issue de Jira'. It clearly distinguishes from sibling tools like jira_get_worklog (retrieve logs) and jira_my_work.

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 does not provide any guidance on when to use this tool versus alternatives like jira_get_worklog or jira_my_work. It lacks context for appropriate usage.

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

jira_create_issueA

Crea un issue en Jira. Valida los campos contra el esquema real del proyecto y del tipo de issue antes de enviarlos, de modo que un payload incorrecto falle sin consumir una clave de issue. Los campos personalizados se indican por su nombre visible o por su identificador, y la persona asignada admite correo o nombre además del accountId. Con dryRun se comprueba el resultado sin crear nada. Conviene consultar antes jira_issue_fields para conocer los campos disponibles.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoValida el payload contra el esquema real y devuelve lo que se enviaría, sin crear el issue
labelsNoEtiquetas del issue
parentNoClave del issue padre. Obligatorio en subtareas. Ejemplo: ATY-123
projectYesClave del proyecto de Jira. Ejemplo: ATY
summaryYesTítulo del issue
assigneeNoPersona asignada: correo, nombre visible o accountId. Ejemplo: alguien@example.com
priorityNoNombre de la prioridad. Ejemplo: High
watchersNoObservadores a añadir: correos, nombres visibles o accountIds
issueTypeYesNombre o id del tipo de issue. Ejemplo: Tarea
descriptionNoDescripción en texto plano
customFieldsNoCampos personalizados por nombre o identificador. Ejemplo: { "Criterios de aceptación": "[ ] Primero" }
originalEstimateNoEstimación inicial en el formato de Jira. Ejemplos: 30m, 1h 30m, 8h

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains validation before sending, dryRun behavior, custom field flexibility, assignee formats, and estimate format. Lacks explicit mention of return value or rate limits, but sufficient for a create tool.

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 moderately long but efficient, with logical flow. Every sentence adds value, though minor redundancy could be trimmed.

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 12 params and nested objects, the description covers validation, dryRun, parameter specifics, and references sibling tool for field lookup. Lacks explicit return value, but overall complete enough.

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

Parameters5/5

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

Schema coverage is 100%, but description adds value by explaining custom fields by name/ID, assignee accepts email/name/accountId, estimate format examples, and parent required for subtasks.

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 it creates a Jira issue, validates against real schema, and mentions dryRun. It distinguishes from siblings like jira_update_issue and jira_get_issue.

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 recommends consulting jira_issue_fields beforehand and explains the dryRun option for testing. It implies when to use but does not explicitly state when not to use.

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

jira_deleteA

Elimina de forma permanente un comentario, un registro de tiempo o un enlace entre issues. Los identificadores se obtienen de jira_explain_issue (comentarios y enlaces) o de jira_get_worklog. No permite eliminar issues: para retirar uno de la circulación, moverlo a un estado final con jira_transition_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador del elemento a eliminar
typeYesQué se elimina: comentario, registro de tiempo o enlace
issueKeyNoClave del issue al que pertenece. Obligatorio para comentarios y registros de tiempo; innecesario para enlaces

TDQS

A4.5/5.0
Behavior3/5

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

The description discloses that deletions are permanent and lists the types of items that can be deleted. However, it lacks details about required permissions, potential side effects, or whether the operation is idempotent. Given no annotations are provided, this is adequate but leaves some behavioral aspects opaque.

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, using two sentences to convey all necessary information without any superfluous words. It starts with the primary action and then provides critical usage guidelines.

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 (delete specific items) and the fact that all parameters are fully documented in the schema, the description covers all essential aspects: what it does, what it cannot do, sources for IDs, and a pointer to an alternative. No output schema is needed.

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 covers all three parameters with descriptions, and the description adds value by explaining where to find the IDs for each type and clarifying that issueKey is mandatory for comments and worklogs but not for links, which goes 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 clearly states that this tool permanently deletes comments, worklogs, or links, and explicitly distinguishes it from deleting issues by referencing jira_transition_issue for that purpose. It also specifies where to obtain identifiers for different types.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool (for deleting comments, worklogs, links) and when not to use it (not for issues). It also suggests an alternative tool (jira_transition_issue) for retiring issues and mentions how to obtain IDs from jira_explain_issue or jira_get_worklog.

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

jira_explain_issueA

Devuelve un issue con todo su contexto en una sola llamada: descripción en texto legible, issue padre, subtareas, issues enlazados, comentarios recientes y estados a los que puede moverse. Admite pedir campos adicionales por su nombre. Pensado para entender un ticket completo sin encadenar varias consultas.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue. Ejemplo: ATY-123
extraFieldsNoCampos adicionales a incluir, por su nombre visible. Ejemplo: ["Criterios de aceptación"]

TDQS

A4.4/5.0
Behavior4/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. It discloses that the tool returns multiple pieces of context in one call and can include extra fields. This is sufficient for a read operation, though it could mention that it is non-destructive or note any rate limits.

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 two sentences, front-loading the main purpose and then adding the extra fields capability. Every sentence adds value, and there is no redundancy or unnecessary detail.

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 adequately explains the return structure (issue details, parent, subtasks, linked issues, comments, transitions, extra fields). It is complete for a single-issue explain tool, though it could mention if there are any limits on comments or transitions returned.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by providing concrete examples for each parameter (e.g., 'ATY-123' for issueKey, 'Criterios de aceptación' for extraFields), which helps the agent understand expected values beyond the schema type.

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 uses a specific verb ('Devuelve') and clearly states the resource (issue) and the scope of what is returned (full context: description, parent, subtasks, linked issues, comments, transitions). It distinguishes from simpler sibling tools like jira_get_issue by emphasizing the comprehensive single-call nature.

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 explicitly states the intended use case: 'entender un ticket completo sin encadenar varias consultas' (understand a complete ticket without chaining queries). This implies when to use; it does not explicitly state when not to use or mention alternatives, but the context is clear.

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

jira_get_issueA

Obtiene un issue de Jira por su clave: título, tipo, estado, prioridad, responsable, issue padre, etiquetas, fechas, estimación y tiempo dedicado, descripción y enlace web. Admite pedir campos adicionales por su nombre. Para subtareas, enlaces y comentarios, usar jira_explain_issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoCampos adicionales a incluir, por su nombre visible. Ejemplo: ["Team", "Criterios de aceptación"]
issueKeyYesClave del issue de Jira

TDQS

A4.4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses what fields are returned, but lacks details on read-only nature, authentication requirements, or potential side effects. Adequate but not comprehensive.

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 efficient sentences with no waste. First sentence states function and return content; second provides sibling guidance. Well-structured.

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 retrieval tool with good parameter descriptions, the description covers the essential purpose, returned data, and usage context. Slight gaps in error handling or full behavior, but largely complete.

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?

Schema coverage is 100% and both parameters are described. The description adds value by explaining the 'fields' parameter's purpose with an example, going 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 clearly states the tool retrieves a Jira issue by key, enumerating the fields returned (title, type, status, etc.), and distinguishes from jira_explain_issue for subtasks, links, and comments.

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

Usage Guidelines5/5

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

Explicitly tells when to use this tool (single issue retrieval) and when to use the sibling jira_explain_issue for subtasks, links, and comments, providing clear context for selection.

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

jira_get_worklogA

Devuelve el tiempo registrado en un issue de Jira: la estimación original, el total dedicado y cada registro con su autor, duración, fecha y descripción. Incluye el identificador de cada registro, necesario para eliminarlo.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue. Ejemplo: ATY-123

TDQS

A3.7/5.0
Behavior3/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 discloses the return fields (estimate, total, each worklog with details) and notes the ID is needed for deletion. However, it does not mention permissions, rate limits, or if the operation is read-only (likely safe).

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 concise with two well-structured sentences, front-loading the main purpose. A minor improvement could be clarifying the return of total spent vs. original estimate more succinctly.

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 adequately explains return values (original estimate, total spent, each worklog with author, duration, date, description). It is complete for a single-parameter read tool with low complexity.

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% for the single parameter 'issueKey', and the description adds an example ('ATY-123') but no additional meaning beyond the schema's description. 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?

The description clearly states that it returns time registered on a Jira issue, including original estimate, total spent, and each worklog with author, duration, date, and description. It also distinguishes from siblings like jira_add_worklog and jira_delete by mentioning the worklog ID necessary for deletion.

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 does not explicitly state when to use this tool versus alternatives. It implies a use case (getting worklogs for review or deletion) but provides no when-not-to-use guidance or comparison with other tools.

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

jira_issue_fieldsA

Devuelve los tipos de issue de un proyecto de Jira y, si se indica un tipo, los campos que admite al crearlo: identificador, nombre, si es obligatorio, tipo de dato y valores permitidos. Útil para conocer los campos reales de la instancia antes de crear un issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesClave del proyecto de Jira. Ejemplo: ATY
issueTypeNoNombre o id del tipo de issue. Ejemplo: Historia. Si se omite, se devuelven los tipos disponibles del proyecto.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It explains the output (issue types and field details) but does not explicitly state that the operation is read-only or mention any prerequisites, side effects, or auth requirements. The verb 'devuelve' implies read-only, but more explicit transparency would improve the score.

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 two sentences long, front-loads the main action, and contains no filler. Every sentence is necessary and conveys essential information efficiently.

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 simplicity of the tool (2 parameters, no output schema), the description fairly covers the return values (identifiers, names, required, data type, allowed values). It does not explicitly describe the format of the issue type list when issueType is omitted, but the schema fills that gap. Overall, it is sufficiently complete for its complexity.

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 already documents both parameters clearly. The description adds no new parameter-level details beyond the schema, meeting the baseline of 3.

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 explicitly states it returns issue types and their fields for a Jira project, with details like identifier, name, required status, data type, and allowed values. This is a specific verb ('returns') and resource ('issue types and fields'), distinguishing it from sibling tools like jira_create_issue or jira_get_issue.

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 advises using this tool 'antes de crear un issue' (before creating an issue), providing clear context. It implies the tool is for introspection and planning, though it does not explicitly contrast with alternatives like jira_create_issue.

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

jira_my_workA

Devuelve los issues asignados al usuario autenticado que siguen pendientes, ordenados por fecha de actualización. Responde a preguntas como "¿qué tengo pendiente en Jira?". Cada issue incluye clave, título, tipo, estado, prioridad y fecha de última actualización.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNúmero máximo de issues a devolver. Por defecto 20
projectNoLimita el resultado a un proyecto. Ejemplo: ATY. Si se omite, busca en todos
includeDoneNoIncluye también los issues ya terminados. Por defecto false

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that results are sorted by last update and include key, title, type, status, priority, and last update date. It does not explain authentication or access limitations, but is otherwise transparent.

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 two concise sentences. The first sentence states the core functionality, the second provides an example query. No unnecessary words.

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 and full schema coverage, the description is mostly complete. It explains what is returned but omits details like default limit value (though schema says 20) and pagination. Still adequate.

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 description adds little beyond the schema. The schema already describes limit, project, and includeDone with examples. The description does not provide new parameter insights.

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 tool returns pending issues for the authenticated user, sorted by update date. It answers a specific natural language question and distinguishes from sibling tools like jira_search and jira_get_issue.

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 explains when to use (to get pending Jira issues) but does not explicitly state when not to use or mention alternatives. However, the purpose is clear enough for an agent to infer.

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

jira_project_summaryA

Resume el estado de un proyecto de Jira a partir de sus issues abiertos: cuántos hay, cómo se reparten por estado, tipo y prioridad, cuántos están sin asignar y cuántos llevan tiempo sin actualizarse. Devuelve datos agregados, no una valoración.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesClave del proyecto de Jira. Ejemplo: ATY
staleDaysNoDías sin actualización a partir de los cuales un issue se considera estancado. Por defecto 14

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description bears full transparency burden. It states the tool reads open issues and returns aggregated data, with no side effects mentioned. While it doesn't explicitly declare read-only, the content implies it. The description adds behavioral context beyond schema, such as stale definition and output scope.

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 concise: two sentences, no fluff. The first sentence covers the main purpose and elements, the second clarifies output type. Every word adds value, and it's front-loaded with key information.

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 and simple parameters, the description covers the main functionality: what data is returned (counts by status, type, priority, unassigned, stale) and parameter details. It lacks error or edge-case info, but for a summary tool, the coverage is adequate.

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 both parameters clearly documented (project key example and staleDays default). The description adds little beyond the schema, only mentioning 'stale days' implicitly. Baseline 3 is appropriate as schema already provides sufficient parameter semantics.

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 tool's purpose: to summarize a Jira project's status from open issues, including counts by status, type, priority, unassigned, and stale issues. The verb 'Resume' and resource 'project' are specific, and the tool is distinct from siblings like jira_get_issue or jira_search, which handle individual issues.

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 for obtaining aggregated project data without assessment, and clarifies it returns data, not evaluations. It does not explicitly contrast with sibling tools, but the context shows it's for overviews. The 'no assessment' note provides clear guidance on output nature.

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

jira_transition_issueA

Cambia el estado de un issue de Jira. El destino se indica por el nombre del estado, por el nombre de la transición o por su id, y se resuelve contra las transiciones que el issue admite en ese momento. Si el destino no es válido, la respuesta enumera los estados posibles. Admite un comentario en la misma operación.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEstado o transición de destino. Ejemplo: En curso, Finalizada, o el id de la transición
commentNoComentario a añadir junto con el cambio de estado
issueKeyYesClave del issue. Ejemplo: ATY-123

TDQS

A3.9/5.0
Behavior3/5

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

La descripción revela que si el destino es inválido, la respuesta lista estados posibles, y que admite comentarios. Sin embargo, no detalla qué sucede en caso de éxito (por ejemplo, si devuelve el issue actualizado) ni menciona requisitos de autenticación o permisos. La ausencia de anotaciones aumenta la necesidad de transparencia, pero la descripción cubre parcialmente el comportamiento.

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?

La descripción consta de tres oraciones sin contenido superfluo. Cada oración aporta información relevante (función principal, modo de uso, comportamiento ante error, soporte de comentarios). Es concisa y está estructurada de forma lógica.

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?

Para una herramienta con 3 parámetros, sin esquema de salida y sin anotaciones, la descripción es adecuada pero incompleta. Explica bien el parámetro principal y el manejo de errores, pero no describe la respuesta en caso de éxito ni qué devuelve la herramienta. La falta de esquema de salida hace que el agente se quede sin información sobre la respuesta.

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?

El esquema cubre todos los parámetros (100% de cobertura), pero la descripción añade valor significativo: explica que 'to' puede ser nombre de estado, nombre de transición o id, y que se resuelve contra transiciones actuales. También aclara que si es inválido, se listan los estados posibles, lo que no está en el esquema.

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?

La descripción indica claramente que la herramienta cambia el estado de un issue de Jira, diferenciándola de otras herramientas como jira_get_issue o jira_create_issue. Se detalla cómo especificar el destino (nombre del estado, nombre de la transición o id), lo que elimina ambigüedad.

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?

Se explica cómo usar la herramienta (indicar destino y opcionalmente comentario), pero no se menciona cuándo usar esta herramienta en lugar de alternativas (por ejemplo, jira_update_issue no parece cambiar estado). No hay guía explícita sobre cuándo no usarla ni comparación con herramientas similares.

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

jira_update_issueA

Actualiza los campos de un issue de Jira. Solo se envían los campos indicados; el resto queda intacto. Valida contra los campos que el issue admite editar, de modo que un campo no editable produce un error en lugar de descartarse en silencio. Los campos personalizados se indican por su nombre visible o por su identificador.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNoEtiquetas del issue. Reemplazan a las existentes
summaryNoNuevo título del issue
assigneeNoPersona asignada: correo, nombre visible o accountId. Ejemplo: alguien@example.com
issueKeyYesClave del issue. Ejemplo: ATY-123
priorityNoNombre de la prioridad. Ejemplo: High
watchersNoObservadores a añadir: correos, nombres visibles o accountIds
descriptionNoNueva descripción en texto plano
customFieldsNoCampos personalizados por nombre o identificador. Ejemplo: { "Criterios de aceptación": "[ ] Primero" }
originalEstimateNoEstimación en el formato de Jira. Ejemplos: 30m, 1h 30m, 8h

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses partial update behavior, validation against editable fields, and custom field resolution. It does not contradict any annotation. Could add permissions or return value, but provides solid behavioral context.

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?

Three concise sentences, each adding essential information: purpose, update mechanism, and validation constraint. No redundant or vague language.

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 9 parameters and no output schema, the description covers key aspects: partial update, validation, custom fields. Could mention response format or auth requirements, but current detail suffices for common use.

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?

Schema coverage is 100%, so baseline is 3. The description adds value beyond schema by explaining partial update semantics, editable field validation, and custom field usage with an example. This enriches parameter 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 clearly states 'Actualiza los campos de un issue de Jira', identifying the specific verb (update) and resource (issue fields). It distinguishes from siblings like jira_create_issue and jira_transition_issue by focusing on field updates.

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 explains partial update semantics ('Solo se envían los campos indicados; el resto queda intacto') and validation behavior ('Valida contra los campos que el issue admite editar'). It implicitly guides usage by contrasting with silent discard, but does not explicitly name alternatives for status transitions.

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

pingA

Comprueba que el servidor Jira Lite MCP responde e indica qué código está ejecutando: versión declarada y fecha de compilación. Útil para distinguir una capacidad que no existe de una que existe pero no está desplegada en la sesión en curso.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description bears full responsibility. It accurately indicates the tool is a read-only check (no mutations) and specifies what response it returns (version, build date). However, it could be slightly more explicit about its non-destructive nature.

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 exceptionally concise: two sentences that front-load the core purpose and provide a practical use case. There is no wasted text.

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?

For a simple zero-parameter health-check tool, the description is fully self-contained. It explains both what the tool does and why an agent might need it, which is complete given the lack of output schema or complex parameters.

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

Parameters5/5

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

The tool has zero parameters with 100% schema coverage. The description naturally implies no input is needed, which perfectly aligns with the schema. No additional parameter explanation is necessary.

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 tool's specific purpose: checking server responsiveness and returning version and build date. It effectively distinguishes this tool from the listed sibling JIRA tools, none of which serve a health-check function.

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 explains when this tool is particularly useful—distinguishing between non-existent and undeployed capabilities—providing clear contextual guidance. While it does not explicitly state when not to use it, the scenario is well-defined.

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. Dates show when Glama detected each change.

  1. 15 tool updatesv1.1.0
    • First observedjira_add_comment
    • First observedjira_add_worklog
    • First observedjira_create_issue
    • First observedjira_delete
    • First observedjira_explain_issue
    • First observedjira_get_issue
    • First observedjira_get_worklog
    • First observedjira_issue_fields
    • First observedjira_link_issues
    • First observedjira_my_work
    • First observedjira_project_summary
    • First observedjira_search
    • First observedjira_transition_issue
    • First observedjira_update_issue
    • First observedping

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: ping for health, get/search/create/update/transition for individual issues, explain for full context, link for linking, comment/worklog add/get/delete, and project summary. Even related tools like jira_get_issue and jira_explain_issue are complementary, not overlapping.

Naming Consistency4/5

Most tools follow the consistent pattern 'jira_verb_noun' (e.g., jira_get_issue, jira_create_issue). The only outlier is 'ping' which lacks the 'jira_' prefix. This minor inconsistency prevents a perfect score.

Tool Count5/5

With 15 tools, the set is well-scoped for a Jira lite server. Each tool covers a distinct operation, and there is no bloat. The count is appropriate for the domain.

Completeness4/5

The tool surface covers most essential Jira operations: CRUD for issues, transitions, linking, comments, worklogs, and project summary. Minor gaps exist (no project listing, no issue deletion, no worklog update), but these are acceptable for a 'lite' server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that enables interaction with JIRA APIs through Claude Desktop, allowing users to search, create, update, and manage JIRA issues using natural language commands.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables interaction with Jira's REST API using natural language commands, allowing users to manage Jira projects, issues, comments, and workflows through Claude Desktop and other MCP clients.
    10
    7
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for Jira integration with stdio transport. Enables reading, writing, and managing Jira issues and projects directly from Claude Desktop. Supports issue creation, updates, comments, JQL search, and project management.
    23
    587
    14
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A server that exposes Jira Cloud operations as MCP tools, enabling programmatic management of Epics, Stories, Tasks, and Sprints directly from an AI chat or agentic workflow.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pilloom/jira-lite-mcp'

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