leantime-mcp-em
v0.1.0
Published
MCP server for Leantime project management - Full JSON-RPC API integration
Maintainers
Readme
leantime-mcp-em
MCP (Model Context Protocol) server for Leantime project management system.
Provides 68 tools covering all major Leantime domains via its JSON-RPC API: Projects, Tickets/Tasks, Users, Clients, Sprints, Timesheets, Comments, Tags, Files, and Wiki.
Installation
With Claude Code CLI
claude mcp add leantime -- npx -y leantime-mcp-emThen set environment variables in your MCP config.
With Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"leantime": {
"command": "npx",
"args": ["-y", "leantime-mcp-em"],
"env": {
"LEANTIME_API_KEY": "your_api_key_here",
"LEANTIME_URL": "https://your-leantime-instance.com"
}
}
}
}Manual / Development
git clone https://gitlab.com/e-dem/leantime-mcp.git
cd leantime-mcp-em
npm install
npm run buildConfiguration
| Variable | Required | Description |
|----------|----------|-------------|
| LEANTIME_API_KEY | Yes | Your Leantime API key (generate in Settings > API) |
| LEANTIME_URL | Yes | Base URL of your Leantime instance (e.g. https://leantime.example.com) |
Available Tools (68)
Projects (10 tools)
| Tool | Description |
|------|-------------|
| list_projects | List all projects |
| get_project | Get project details by ID |
| get_project_progress | Get project completion progress |
| get_project_hierarchy | Get project hierarchy tree for a user |
| get_users_assigned_to_project | Get users assigned to a project |
| find_project | Search projects by name |
| add_project | Create a new project |
| edit_project | Update a project |
| patch_project | Partially update project fields |
| duplicate_project | Duplicate a project with its structure |
Tickets / Tasks (14 tools)
| Tool | Description |
|------|-------------|
| list_tickets | List tickets with search criteria |
| get_ticket | Get ticket details by ID |
| get_status_labels | Get status labels for a project |
| get_priority_labels | Get priority labels |
| get_ticket_types | Get available ticket types |
| get_effort_labels | Get effort/story point labels |
| get_all_subtasks | Get subtasks of a ticket |
| list_milestones | List milestones |
| add_ticket | Create a new ticket |
| update_ticket | Update an existing ticket |
| patch_ticket | Partially update ticket fields |
| quick_add_ticket | Quick-create a ticket |
| quick_add_milestone | Quick-create a milestone |
| delete_ticket | Archive/delete a ticket |
Users (7 tools)
| Tool | Description |
|------|-------------|
| list_users | List all users |
| get_user | Get user details by ID |
| get_user_by_email | Find user by email |
| get_users_with_project_access | Get users with project access |
| add_user | Create a new user |
| edit_user | Update a user |
| delete_user | Delete a user |
Clients (6 tools)
| Tool | Description |
|------|-------------|
| list_clients | List all clients |
| get_client | Get client details |
| create_client | Create a new client |
| edit_client | Update a client |
| patch_client | Partially update client fields |
| delete_client | Delete a client |
Sprints (7 tools)
| Tool | Description |
|------|-------------|
| list_sprints | List sprints for a project |
| get_sprint | Get sprint details |
| get_current_sprint_id | Get current sprint ID |
| get_upcoming_sprint | Get upcoming sprint |
| get_all_future_sprints | Get all future sprints |
| add_sprint | Create a new sprint |
| edit_sprint | Update a sprint |
Timesheets (9 tools)
| Tool | Description |
|------|-------------|
| list_timesheets | List time entries in a date range |
| is_clocked | Check if timer is running |
| get_logged_hours_for_ticket | Get time entries for a ticket |
| get_sum_logged_hours_for_ticket | Get total hours for a ticket |
| get_loggable_hour_types | Get available hour types |
| punch_in | Start timer on a ticket |
| punch_out | Stop timer on a ticket |
| stop_active_timer | Stop any running timer |
| log_time | Log time manually |
Comments (4 tools)
| Tool | Description |
|------|-------------|
| get_comments | Get comments for an entity |
| add_comment | Add a comment |
| edit_comment | Edit a comment |
| delete_comment | Delete a comment |
Tags (1 tool)
| Tool | Description |
|------|-------------|
| get_tags | Search tags in a project |
Files (2 tools)
| Tool | Description |
|------|-------------|
| get_files_by_module | Get files for a module entity |
| delete_file | Delete a file |
Wiki (8 tools)
| Tool | Description |
|------|-------------|
| get_all_project_wikis | Get wikis for a project |
| get_wiki | Get wiki details |
| get_article | Get wiki article |
| get_all_wiki_headlines | Get article headlines |
| create_wiki | Create a new wiki |
| update_wiki | Update a wiki |
| create_article | Create a wiki article |
| update_article | Update a wiki article |
Use Cases
ClickUp to Leantime Migration
This MCP server is designed to work alongside other MCP servers (like ClickUp MCP) to enable project migration:
- Read projects and tasks from ClickUp using the ClickUp MCP
- Create corresponding projects in Leantime using
add_project - Create clients with
create_client - Migrate tasks with
add_ticketpreserving status, priority, descriptions - Migrate milestones with
quick_add_milestone - Add comments with
add_comment
Project Management Automation
- Bulk create tasks from specifications
- Generate status reports across projects
- Automate sprint planning
- Track time across teams
API Notes
- Leantime uses a JSON-RPC 2.0 API (not REST)
- All requests go through
/api/jsonrpc - Rate limiting applies (~10 requests/minute)
- Method format:
leantime.rpc.{Domain}.{method}
License
MIT
