npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@jasonlll88/tempo-mcp-server

v1.2.6

Published

MCP server for managing Tempo worklogs in Jira, this is a fork of the original repository https://github.com/ivelin-web/tempo-mcp-server

Readme

MseeP.ai Security Assessment Badge

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": "[email protected]",
        "JIRA_BASE_URL": "https://your-org.atlassian.net"
      }
    }
  }
}
  1. Restart your Claude Desktop client

One-Click Install for Cursor

Install MCP Server

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": "[email protected]",
        "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:

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)
JIRA_TEMPO_ACCOUNT_CUSTOM_FIELD_ID     # Optional: Custom field ID for Tempo accounts

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

Tempo Account Configuration

If your Tempo instance requires worklogs to be linked to accounts, set the custom field ID that contains the account information:

JIRA_TEMPO_ACCOUNT_CUSTOM_FIELD_ID=10234

To find your custom field ID:

  1. Go to Jira Settings → Issues → Custom Fields
  2. Find your Tempo account field and note the ID from the URL or field 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, must be in quarter-hour increments: 0.25, 0.5, 0.75, 1, 1.25, etc.)
- date: String (YYYY-MM-DD)
- description: String (optional)
- startTime: String (HH:MM format with 15-minute increments: :00, :15, :30, :45, optional)

bulkCreateWorklogs

Creates multiple worklogs in a single operation.

Parameters:
- worklogEntries: Array of {
    issueKey: String
    timeSpentHours: Number (must be in quarter-hour increments: 0.25, 0.5, 0.75, 1, 1.25, etc.)
    date: String (YYYY-MM-DD)
    description: String (optional)
    startTime: String (HH:MM format with 15-minute increments: :00, :15, :30, :45, optional)
  }

editWorklog

Modifies an existing worklog.

Parameters:
- worklogId: String
- timeSpentHours: Number (positive, must be in quarter-hour increments: 0.25, 0.5, 0.75, 1, 1.25, etc.)
- description: String (optional)
- date: String (YYYY-MM-DD, optional)
- startTime: String (HH:MM format with 15-minute increments: :00, :15, :30, :45, 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.