Skip to main content
Glama

tempo-mcp

MCP-сервер, который позволяет Claude создавать, просматривать и удалять worklog'и Tempo по задачам Jira.

Настройка

  1. npm install && npm run build

  2. Скопируйте .env.example в .env и заполните:

    • TEMPO_API_TOKEN — создаётся в Jira в разделе Tempo → Settings → API Integration с правами Manage Worklogs.

    • JIRA_BASE_URL — например, https://your-domain.atlassian.net

    • JIRA_EMAIL / JIRA_API_TOKEN — используются для преобразования ключей задач (например, PROJ-1234) в числовые идентификаторы задач, которые требуются Tempo. Сгенерируйте токен на https://id.atlassian.com/manage-profile/security/api-tokens.

Related MCP server: jira-mcp-server

Регистрация в Claude Code

claude mcp add tempo-mcp -- node /path/to/tempo-mcp/dist/index.js

Или через .mcp.json, указав перечисленные выше переменные окружения в блоке env записи.

Инструменты

  • get_worklogs — просмотр worklog'ов, с возможностью фильтрации по issueKey, authorAccountId и диапазону дат (from/to).

  • post_worklog — запись времени по задаче (issueKey, timeSpentSeconds, startDate, authorAccountId, опционально startTime/description).

  • delete_worklog — удаление worklog'а по tempoWorklogId.

Ключи задач автоматически преобразуются в требуемый Tempo числовой идентификатор задачи (с кэшированием в рамках процесса) через Jira REST API.

Available Tools

3 tools
delete_worklogA

Delete a Tempo worklog by its Tempo worklog ID.

NameRequiredDescriptionDefault
tempoWorklogIdYesThe Tempo worklog ID to delete

TDQS

A3.5/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 responsibility for behavioral disclosure. It identifies that the tool deletes a record, but does not state that deletion is permanent or irreversible, what permissions are required, or whether the operation fails if the ID does not exist. For a destructive operation this is a notable 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 a single, front-loaded sentence with no redundant words. It states the action, target, and key identifier efficiently.

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

Completeness3/5

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

The tool is simple with one well-documented parameter and no output schema, so extensive detail is not required. However, the absence of usage guidance and any warning about the destructive nature of the operation leaves the overall description only marginally complete for an agent deciding whether and how to invoke it.

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%, and the parameter description already explains that tempoWorklogId is the ID to delete. The tool description adds nothing beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific action ('Delete') and a specific resource ('a Tempo worklog'), keyed by the Tempo worklog ID. It clearly distinguishes itself from the sibling tools get_worklogs and post_worklog by naming the destructive operation.

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

Usage Guidelines3/5

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

The description implies the use case—deleting a specific existing Tempo worklog—but provides no explicit guidance on when to choose this tool over alternatives, nor any mention of prerequisites like needing the worklog ID from get_worklogs. It is minimally adequate but leaves this to inference.

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

get_worklogsA

Fetch Tempo worklogs, optionally filtered by Jira issue key, author account ID, and/or date range.

NameRequiredDescriptionDefault
toNoEnd date (YYYY-MM-DD), inclusive
fromNoStart date (YYYY-MM-DD), inclusive
limitNo
issueKeyNoJira issue key to filter by, e.g. PROJ-1234
authorAccountIdNoJira account ID of the worklog author to filter by

TDQS

A3.7/5.0
Behavior3/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. 'Fetch' clearly indicates a non-mutating read operation, but the description does not disclose additional behavioral details such as response format, defaults, pagination, or any prerequisites. It is minimal but not misleading.

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

Conciseness5/5

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

A single, efficient sentence that front-loads the primary action and resource before naming the optional filters. Every word is informative, and there is no redundant or vague phrasing.

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?

With five optional parameters, no annotations, and no output schema, the description is adequate for tool selection but leaves operational details like return value shape, limit handling, and date-range constraints mostly to the schema. It is complete enough for a simple read tool, but not richly contextual.

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 80%, so most parameters already have detailed schema documentation. The description adds a useful high-level grouping of parameters into filters (issue key, author, date range) but does not add significant parameter-level semantics beyond what the schema provides.

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

Purpose5/5

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

The description uses a specific verb ('Fetch') with a concrete resource ('Tempo worklogs') and explicitly lists the optional filter dimensions (issue key, author account ID, date range). This makes the tool's purpose immediately clear and distinguishes it from the sibling post/delete operations.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving worklogs, but it does not explicitly state when to use this tool versus alternatives like post_worklog or delete_worklog. There is no mention of exclusions or conditions, though the sibling names make the distinction somewhat obvious.

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

post_worklogB

Log time in Tempo against a Jira issue on behalf of a given Jira account.

NameRequiredDescriptionDefault
issueKeyYesJira issue key to log time against, e.g. PROJ-1234
startDateYesDate the work was done, YYYY-MM-DD
startTimeNoTime of day work started, HH:MM:SS (defaults to 09:00:00)
descriptionNoDescription of the work performed
authorAccountIdYesJira account ID of the person the time is logged on behalf of
timeSpentSecondsYesTime spent, in seconds (e.g. 3600 for 1 hour)

TDQS

B3.2/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 the action but does not describe side effects, permissions required, idempotency, possible failures, or what happens after logging. The 'on behalf of' phrasing is helpful but is also already reflected in the 'authorAccountId' parameter.

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, direct sentence with no filler. It front-loads the action and resource, and every phrase contributes meaningful context.

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?

With 6 parameters, 4 required, no output schema, and no annotations, this single-sentence description is too thin. It does not indicate that it creates a new worklog, any required Tempo/Jira permissions, or what a successful response looks like. An agent would need to infer important operational 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 description adds essentially no parameter-level detail, but the input schema has 100% parameter description coverage, including examples and defaults. The description does not need to repeat that information, so baseline 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 names a specific action ('log time'), a specific target ('a Jira issue'), and a distinctive scope ('on behalf of a given Jira account'). This clearly differentiates it from the sibling tools 'get_worklogs' and 'delete_worklog'.

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 given about when to use this tool instead of 'get_worklogs' or 'delete_worklog'. The verb 'log' implies creation, but there is no explicit context, prerequisites, or exclusionary guidance.

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. 3 tool updatesv0.1.0
    • First observeddelete_worklog
    • First observedget_worklogs
    • First observedpost_worklog

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct operation on worklogs: create (post), read (get), and delete. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow the verb_noun pattern with clear verbs (post, get, delete) and the same noun base (worklog(s)). The plural in get_worklogs is semantically appropriate for fetching multiple records.

Tool Count5/5

Three tools is a well-scoped set for a focused worklog integration. Each tool covers an essential action without unnecessary bloat.

Completeness3/5

The set covers create, read, and delete but lacks an update operation, which is a notable gap for worklog management. Agents must work around this by deleting and recreating worklogs, which is not always desirable.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude AI to interact with JIRA for project management and issue tracking, supporting JQL queries, comprehensive issue details retrieval with subtasks and linked issues, and release planning analysis.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants like Claude to interact with Jira for project management tasks, including issue creation, updates, workflow transitions, and bulk operations.
    15 npm
    4
    MIT