timepiece-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TIMEPIECE_TOKEN | Yes | Your personal Timepiece API token. Get it from Jira → Apps → Timepiece → API Settings. | |
| TIMEPIECE_CALENDAR | No | Default calendar ID for business-hours calculations. Without this, durations use a 24h/day UTC clock. | |
| TIMEPIECE_DEFAULT_DAY_LENGTH | No | Either 'businessDays' or 'calendarDays'. | businessDays |
| TIMEPIECE_DEFAULT_VIEW_FORMAT | No | Either 'days', 'hours', 'minutes', or 'seconds'. | days |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| timepiece_get_issueA | Get time-in-status data for a single Jira issue from Timepiece. Returns how long the issue has spent in each workflow status (e.g. To Do, In Progress, In Review, Done), using a configurable calendar and time unit. Args: params (GetIssueInput): Validated input containing: - issue_key (str): Jira issue key, e.g. 'PROJ-123' - columns_by (str): 'statusDuration' or 'assigneeDuration' (default: statusDuration) - calendar (Optional[str]): Timepiece calendar ID or name - day_length (str): 'businessDays' or 'calendarDays' (default: businessDays) - view_format (str): 'days', 'hours', 'minutes', 'seconds' (default: days) - statuses (Optional[str]): Comma-separated status IDs to filter - response_format (str): 'markdown' or 'json' (default: markdown) Returns: str: Time-in-status data as Markdown table (default) or JSON. Examples: - "How long has PROJ-123 been in each status?" → issue_key='PROJ-123' - "Show PROJ-456 time in status in hours" → issue_key='PROJ-456', view_format='hours' - "Get calendar days for PROJ-789" → day_length='calendarDays' |
| timepiece_get_issue_expandedA | Get expanded time-in-status data including full transition history for a single Jira issue. Returns per-status statistics (total days, visit count, average per visit) plus a chronological list of every status transition with its duration. Args: params (GetIssueExpandedInput): Validated input containing: - issue_key (str): Jira issue key, e.g. 'PROJ-123' - calendar (Optional[str]): Timepiece calendar ID or name - day_length (str): 'businessDays' or 'calendarDays' (default: businessDays) - view_format (str): 'days', 'hours', 'minutes', 'seconds' (default: days) - trim_history_start_date (Optional[str]): Earliest date to include (yyyy-MM-dd) - trim_history_end_date (Optional[str]): Latest date to include (yyyy-MM-dd) - response_format (str): 'markdown' or 'json' (default: markdown) Returns: str: Expanded time-in-status with summary stats and transition history table. |
| timepiece_list_issuesA | List time-in-status data for multiple Jira issues selected by JQL query. Uses the Timepiece list API to fetch time-in-status for all issues matching the JQL filter. Results are presented as a table with one row per issue. Args: params (ListIssuesInput): Validated input containing: - jql (str): JQL query to select issues - columns_by (str): Column grouping (default: statusDuration) - calendar (Optional[str]): Timepiece calendar ID or name - day_length (str): 'businessDays' or 'calendarDays' (default: businessDays) - view_format (str): 'days', 'hours', 'minutes', 'seconds' (default: days) - statuses (Optional[str]): Comma-separated status IDs to filter - page_size (int): Results per page (1-1000, default 100) - response_format (str): 'markdown' or 'json' (default: markdown) Returns: str: Table of issues with time-in-status per status column. |
| timepiece_aggregateA | Aggregate time-in-status statistics across multiple Jira issues. Computes average, median, sum, or standard deviation of time spent in each status across all issues matching the JQL query. Args: params (AggregateInput): Validated input containing: - aggregation_type (str): 'average', 'sum', 'median', or 'standardDeviation' - jql (str): JQL query to select issues - columns_by (str): Column grouping (default: statusDuration) - calendar (Optional[str]): Timepiece calendar ID or name - day_length (str): 'businessDays' or 'calendarDays' (default: businessDays) - view_format (str): 'days', 'hours', 'minutes', 'seconds' (default: days) - statuses (Optional[str]): Comma-separated status IDs to filter - dbs_metrics (Optional[str]): JSON for duration-between-statuses metrics - response_format (str): 'markdown' or 'json' (default: markdown) Returns: str: Aggregated time-in-status statistics as a Markdown table or JSON. |
| timepiece_list_calendarsA | List all available Timepiece calendars. Returns all configured calendars in your Timepiece instance, including their IDs, names, timezones, and working hours settings. Use calendar IDs when querying time-in-status data. Args: params (ListCalendarsInput): Optional response format ('markdown' or 'json'). Returns: str: Table of calendars with ID, name, timezone, working hours, and default flag. |
| timepiece_search_calendarA | Search for Timepiece calendars by name. Useful for finding a calendar's numeric ID when you only know its name, e.g. 'Default Calendar Settings'. Args: params (SearchCalendarInput): Validated input containing: - name (str): Calendar name to search for - search_type (str): 'exact' (default) or 'contain' - max_results (int): Maximum results to return (default 10) - response_format (str): 'markdown' or 'json' (default: markdown) Returns: str: Matching calendars with ID, name, timezone, working hours, and default flag. |
| timepiece_export_syncA | Export time-in-status data for Jira issues to a downloadable file. Generates an XLSX or CSV export of time-in-status data for issues matching the JQL query and saves it to /tmp. Returns the file path and a summary. Args: params (ExportSyncInput): Validated input containing: - jql (str): JQL query to select issues - output_type (str): 'xlsx' or 'csv' - columns_by (str): Column grouping (default: statusDuration) - calendar (Optional[str]): Timepiece calendar ID or name - day_length (str): 'businessDays' or 'calendarDays' (default: businessDays) - view_format (str): 'days', 'hours', 'minutes', 'seconds' (default: days) - statuses (Optional[str]): Comma-separated status IDs to include Returns: str: File path of the exported file and a summary of the export. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gianni1989/timepiece-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server