Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AIFire in da houseCheck it out free

tempo-mcp-server

MCP.Pizza Chef: ivelin-web

The tempo-mcp-server is an MCP server that integrates with Jira's Tempo API to manage worklogs. It enables retrieval, creation, bulk creation, editing, and deletion of Tempo worklogs, making time tracking and management seamless through MCP-compatible clients like Claude and Cursor. Designed for Node.js environments, it requires Jira Cloud and API tokens for secure access.

Use This MCP server To

Retrieve Tempo worklogs for specific date ranges Create new worklogs linked to Jira issues Bulk create multiple worklogs in one operation Edit existing worklogs including time and descriptions Delete unwanted or incorrect worklogs Integrate Tempo time tracking into AI workflows Automate time logging from natural language commands Sync Tempo worklogs with other project management tools

README

Tempo MCP Server

A Model Context Protocol (MCP) server for managing Tempo worklogs in Jira. This server provides tools for tracking time and managing worklogs through Tempo's API, making it accessible through Claude, Cursor and other MCP-compatible clients.

npm version License: MIT

Features

  • Retrieve Worklogs: Get all worklogs for a specific date range
  • Create Worklog: Log time against Jira issues
  • Bulk Create: Create multiple worklogs in a single operation
  • Edit Worklog: Modify time spent, dates, and descriptions
  • Delete Worklog: Remove existing worklogs

System Requirements

  • Node.js 18+ (LTS recommended)
  • Jira Cloud instance
  • Tempo API token
  • Jira API token

Usage Options

There are two main ways to use this MCP server:

  1. NPX (Recommended for most users): Run directly without installation
  2. Local Clone: Clone the repository for development or customization

Option 1: NPX Usage

The easiest way to use this server is via npx without installation:

Connecting to Claude Desktop (NPX Method)

  1. Open your MCP client configuration file:

    • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
    • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  2. Add the following configuration:

{
  "mcpServers": {
    "Jira_Tempo": {
      "command": "npx",
      "args": [
        "-y",
        "@ivelin-web/tempo-mcp-server"
      ],
      "env": {
        "TEMPO_API_TOKEN": "your_tempo_api_token_here",
        "JIRA_API_TOKEN": "your_jira_api_token_here",
        "JIRA_EMAIL": "your_email@example.com",
        "JIRA_BASE_URL": "https://your-org.atlassian.net"
      }
    }
  }
}
  1. Restart your Claude Desktop client

Option 2: Local Repository Clone

Installation

# Clone the repository
git clone https://github.com/ivelin-web/tempo-mcp-server.git
cd tempo-mcp-server

# Install dependencies
npm install

# Build TypeScript files
npm run build

Running Locally

There are two ways to run the server locally:

1. Using the MCP Inspector (for development and debugging)

npm run inspect

2. Using Node directly

You can run the server directly with Node by pointing to the built JavaScript file:

Connecting to Claude Desktop (Local Method)

  1. Open your MCP client configuration file
  2. Add the following configuration:
{
  "mcpServers": {
    "Jira_Tempo": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/tempo-mcp-server/build/index.js"
      ],
      "env": {
        "TEMPO_API_TOKEN": "your_tempo_api_token_here",
        "JIRA_API_TOKEN": "your_jira_api_token_here",
        "JIRA_EMAIL": "your_email@example.com",
        "JIRA_BASE_URL": "https://your-org.atlassian.net"
      }
    }
  }
}
  1. Restart your Claude Desktop client

Getting API Tokens

  1. Tempo API Token:

    • Go to Tempo > Settings > API Integration
    • Create a new API token with appropriate permissions
  2. Jira API Token:

    • Go to Atlassian API tokens
    • Create a new API token for your account

Environment Variables

The server requires the following environment variables:

TEMPO_API_TOKEN     # Your Tempo API token
JIRA_API_TOKEN      # Your Jira API token
JIRA_EMAIL          # Your Jira account email
JIRA_BASE_URL       # Your Jira instance URL (e.g., https://your-org.atlassian.net)

You can set these in your environment or provide them in the MCP client configuration.

Available Tools

retrieveWorklogs

Fetches worklogs for the configured user between start and end dates.

Parameters:
- startDate: String (YYYY-MM-DD)
- endDate: String (YYYY-MM-DD)

createWorklog

Creates a new worklog for a specific Jira issue.

Parameters:
- issueKey: String (e.g., "PROJECT-123")
- timeSpentHours: Number (positive)
- date: String (YYYY-MM-DD)
- description: String (optional)

bulkCreateWorklogs

Creates multiple worklogs in a single operation.

Parameters:
- worklogEntries: Array of {
    issueKey: String
    timeSpentHours: Number
    date: String (YYYY-MM-DD)
    description: String (optional)
  }

editWorklog

Modifies an existing worklog.

Parameters:
- worklogId: String
- timeSpentHours: Number (positive)
- description: String (optional)
- date: String (YYYY-MM-DD, optional)

deleteWorklog

Removes an existing worklog.

Parameters:
- worklogId: String

Project Structure

tempo-mcp-server/
├── src/                  # Source code
│   ├── config.ts         # Configuration management
│   ├── index.ts          # MCP server implementation
│   ├── jira.ts           # Jira API integration
│   ├── tools.ts          # Tool implementations
│   ├── types.ts          # TypeScript types and schemas
│   └── utils.ts          # Utility functions
├── build/                # Compiled JavaScript (generated)
├── tsconfig.json         # TypeScript configuration
└── package.json          # Project metadata and scripts

Troubleshooting

If you encounter issues:

  1. Check that all environment variables are properly set
  2. Verify your Jira and Tempo API tokens have the correct permissions
  3. Check the console output for error messages
  4. Try running with the inspector: npm run inspect

License

MIT

Credits

This server implements the Model Context Protocol specification created by Anthropic.

tempo-mcp-server FAQ

How do I authenticate the tempo-mcp-server with Jira and Tempo?
You need Jira Cloud instance credentials along with Tempo and Jira API tokens to authenticate securely.
Can I create multiple worklogs at once using this server?
Yes, the server supports bulk creation of multiple worklogs in a single operation.
What Node.js version is required to run the tempo-mcp-server?
Node.js 18 or higher (LTS recommended) is required to run this server.
Is it possible to edit existing worklogs through this MCP server?
Yes, you can modify time spent, dates, and descriptions of existing worklogs.
Which MCP clients are compatible with tempo-mcp-server?
It works with MCP-compatible clients such as Claude, Cursor, and others supporting the protocol.
How does the server handle deletion of worklogs?
The server provides an API to securely delete existing worklogs from Tempo.
Is the tempo-mcp-server open source and under what license?
Yes, it is open source and licensed under the MIT License.
Can this server be integrated into automated AI workflows?
Yes, it enables AI models to manage Tempo worklogs programmatically via MCP.