taiga-mcp
Manage Taiga projects and work items through MCP tools.
Projects: list, get, create, update settings.
Issues: list, get, create, update, delete; look up statuses, priorities, severities, and types.
User stories: list, get, create, update, bulk create, delete; assign milestones, points, status, assignee, tags.
Tasks: list, get, create, update, delete; filter by user story, sprint, assignee.
Sprints/milestones: list, get, create, update, delete, and get progress stats.
Epics: list, get, create, update, delete; list/link/unlink linked user stories.
Wiki: list, get, create, update, delete pages.
Comments/history: add comments and retrieve activity history for issues, user stories, tasks, epics.
Members/lookups: get current user, list project members, statuses, priorities, severities, issue types, tags, roles.
Roles: list, get, create, update, delete.
Search: full-text search across project content.
Authentication: configured with Taiga URL/username/password; JWT token refresh handled automatically.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@taiga-mcp list all projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
taiga-mcp
MCP server for the Taiga project management API. Lets AI assistants (Claude, etc.) manage projects, issues, user stories, tasks, epics, sprints, wiki pages, and more through natural language.
Requirements
Node.js 18+
A running Taiga instance (cloud or self-hosted)
Claude Code, Claude Desktop, or any MCP-compatible client
Related MCP server: planning-task-mcp
Installation
Option A — from source (recommended)
git clone https://github.com/juanleon8581/taiga-mcp
cd taiga-mcp
npm install && npm run buildRegister with Claude Code:
claude mcp add taiga -s user \
-e TAIGA_URL=https://your-taiga-instance.com \
-e TAIGA_USERNAME=your_username \
-e TAIGA_PASSWORD=your_password \
-- node /absolute/path/to/taiga-mcp/dist/index.jsOption B — Claude Desktop
Clone and build as above, then add to claude_desktop_config.json:
{
"mcpServers": {
"taiga": {
"command": "node",
"args": ["/absolute/path/to/taiga-mcp/dist/index.js"],
"env": {
"TAIGA_URL": "https://your-taiga-instance.com",
"TAIGA_USERNAME": "your_username",
"TAIGA_PASSWORD": "your_password"
}
}
}
}Environment variables
Variable | Required | Description |
| Yes | Base URL of your Taiga instance (no trailing slash) |
| Yes | Taiga username or email |
| Yes | Taiga password |
Authentication
On startup the server logs in with your credentials and stores the JWT access token in memory. On token expiry (401), it automatically refreshes using the refresh token. If the refresh token also expires, it re-logs in with your credentials. Credentials are never sent more than necessary.
Available tools
Projects
Tool | Description |
| List all accessible projects |
| Get project details by ID or slug |
| Create a new project |
| Update project settings (name, description, visibility, etc.) |
Issues
Tool | Description |
| List issues with optional filters |
| Get issue details |
| Create a new issue |
| Update status, assignee, description, etc. |
User Stories
Tool | Description |
| List user stories, filter by sprint |
| Get user story details |
| Create a user story |
| Update a user story |
| Create multiple user stories at once |
Tasks
Tool | Description |
| List tasks, filter by US or sprint |
| Get task details, including full description |
| Create a task |
| Update a task |
| Move a task to a different user story (or unassign it) |
Milestones / Sprints
Tool | Description |
| List sprints |
| Get sprint details |
| Create a new sprint/milestone |
| Update sprint name, dates, or close it |
| Burndown and progress stats |
Epics
Tool | Description |
| List epics |
| Get epic details |
| Create an epic |
| Update an epic |
| List user stories linked to an epic |
| Link a user story to an epic |
| Remove the link |
Roles
Tool | Description |
| List all roles in a project (needed for story points) |
| Get role details including permissions |
| Create a new role in a project |
| Update role name, order, or permissions |
| Delete a role from a project |
Members & Lookups
Tool | Description |
| Get the authenticated user |
| List project members with user IDs |
| Add a user to a project by email (role defaults to first project role) |
| Issue status IDs for a project |
| User story status IDs |
| Task status IDs |
| Priority IDs |
| Severity IDs |
| Issue type IDs |
| Tags with colors |
Comments & History
Tool | Description |
| Add a comment to any object |
| Get activity history and comments |
Search
Tool | Description |
| Full-text search across issues, US, tasks, wiki, epics |
Wiki
Tool | Description |
| List wiki pages |
| Get page content |
| Create a wiki page |
| Update a wiki page |
| Delete a wiki page |
Custom Attributes
Tool | Description |
| List custom attribute definitions for a project (task, user story, issue, or epic) |
| Read current custom attribute values of a task/US/issue/epic, joined with their definitions |
| Set a single custom attribute value, by attribute name or ID |
Attachments
Tool | Description |
| List attachments on an issue, US, task, epic, or wiki page |
| Attach a local file to an issue, US, task, epic, or wiki page |
| Download an attachment's file to local disk |
Delete
Tool | Description |
| Delete an issue permanently |
| Delete a user story permanently |
| Delete a task permanently |
| Delete an epic permanently |
| Delete a milestone permanently |
Verify connection
claude mcp list
# taiga: node ... - ✔ ConnectedUpdate
cd taiga-mcp
git pull
npm install && npm run buildLicense
MIT
Available Tools
55 toolsadd_commentB
Add a comment to a Taiga issue, user story, task, or epic
Inputs: object_type (required), object_id (required), version (required), comment (required).
bulk_create_userstoriesB
Create multiple user stories at once from a list of subjects (one per line)
Inputs: project_id (required), subjects (required), status_id, milestone_id.
create_epicB
Create a new epic in a Taiga project
Inputs: project_id (required), subject (required), description, color, +2 more.
create_issueC
Create a new issue in a Taiga project
Inputs: project_id (required), subject (required), description, priority, +4 more.
create_milestoneB
Create a new sprint/milestone in a Taiga project
Inputs: project_id (required), name (required), estimated_start (required), estimated_finish (required), +2 more.
create_projectC
Create a new Taiga project
Inputs: name (required), description, is_private, is_backlog_activated, +3 more.
create_roleB
Create a new role in a Taiga project
Inputs: project_id (required), name (required), order, computable, +1 more.
create_taskB
Create a new task in a Taiga project
Inputs: project_id (required), subject (required), description, userstory_id, +3 more.
create_userstoryB
Create a new user story in a Taiga project
Inputs: project_id (required), subject (required), description, milestone_id, +3 more.
create_wiki_pageC
Create a new wiki page in a Taiga project
Inputs: project_id (required), slug (required), content (required).
delete_epicA
Permanently delete a epic. This action cannot be undone.
Inputs: epic_id (required).
delete_issueA
Permanently delete a issue. This action cannot be undone.
Inputs: issue_id (required).
delete_milestoneA
Permanently delete a milestone. This action cannot be undone.
Inputs: milestone_id (required).
delete_roleA
Delete a role from a project. Cannot be undone.
Inputs: role_id (required).
delete_taskA
Permanently delete a task. This action cannot be undone.
Inputs: task_id (required).
delete_userstoryA
Permanently delete a user story. This action cannot be undone.
Inputs: userstory_id (required).
delete_wiki_pageB
Delete a wiki page permanently
Inputs: wiki_id (required).
get_epicB
Get details of a specific epic by ID
Inputs: epic_id (required).
get_historyA
Get the activity history and comments of a Taiga issue, user story, task, or epic
Inputs: object_type (required), object_id (required).
get_issueB
Get a specific issue by ID
Inputs: issue_id (required).
get_meA
Get the currently authenticated Taiga user
Inputs: no named parameters.
get_milestoneB
Get details of a specific sprint/milestone
Inputs: milestone_id (required).
get_milestone_statsA
Get progress statistics for a sprint/milestone (points done, remaining, burndown data)
Inputs: milestone_id (required).
get_projectA
Get details of a specific Taiga project by ID or slug
Inputs: project_id (required).
get_roleA
Get details of a specific role including its permissions
Inputs: role_id (required).
get_userstoryB
Get a specific user story by ID
Inputs: userstory_id (required).
get_wiki_pageB
Get the full content of a wiki page by ID
Inputs: wiki_id (required).
link_userstory_to_epicB
Link an existing user story to an epic
Inputs: epic_id (required), userstory_id (required).
list_epicsB
List all epics in a Taiga project
Inputs: project_id (required).
list_epic_userstoriesB
List all user stories linked to an epic
Inputs: epic_id (required).
list_issuesC
List issues in a Taiga project
Inputs: project_id (required), status, assigned_to.
list_issue_statusesA
List all issue statuses for a project (use these IDs when updating issue status)
Inputs: project_id (required).
list_issue_typesA
List all issue types for a project (use these IDs when creating/updating issues)
Inputs: project_id (required).
list_membersA
List all members of a Taiga project with their user IDs (needed for assigning issues/tasks)
Inputs: project_id (required).
list_milestonesB
List sprints/milestones in a Taiga project
Inputs: project_id (required), closed.
list_prioritiesA
List all issue priorities for a project (use these IDs when creating/updating issues)
Inputs: project_id (required).
list_projectsA
List all Taiga projects the authenticated user has access to
Inputs: no named parameters.
list_rolesA
List all roles defined in a Taiga project (needed for assigning story points per role)
Inputs: project_id (required).
list_severitiesA
List all issue severities for a project (use these IDs when creating/updating issues)
Inputs: project_id (required).
list_tagsA
List all tags used in a Taiga project with their colors
Inputs: project_id (required).
list_tasksC
List tasks in a Taiga project, optionally filtered by user story or milestone
Inputs: project_id (required), userstory_id, milestone_id, assigned_to.
list_task_statusesA
List all task statuses for a project (use these IDs when updating task status)
Inputs: project_id (required).
list_userstoriesA
List user stories in a Taiga project, optionally filtered by milestone
Inputs: project_id (required), milestone_id, status.
list_userstory_statusesA
List all user story statuses for a project (use these IDs when updating user story status)
Inputs: project_id (required).
list_wiki_pagesB
List all wiki pages in a Taiga project
Inputs: project_id (required).
searchA
Search across all content in a Taiga project (issues, user stories, tasks, wiki pages) by text
Inputs: project_id (required), query (required).
unlink_userstory_from_epicA
Remove the link between a user story and an epic
Inputs: epic_id (required), userstory_id (required).
update_epicB
Update an existing epic (subject, description, status, assignee, color)
Inputs: epic_id (required), version (required), subject, description, +4 more.
update_issueC
Update an existing issue (status, assignee, description, etc.)
Inputs: issue_id (required), version (required), subject, description, +5 more.
update_milestoneA
Update an existing sprint/milestone (name, dates, availability, close it)
Inputs: milestone_id (required), name, estimated_start, estimated_finish, +2 more.
update_projectB
Update a Taiga project's settings (name, description, visibility, etc.)
Inputs: project_id (required), name, description, is_private, +4 more.
update_roleB
Update an existing role (name, order, permissions, computability)
Inputs: role_id (required), name, order, computable, +1 more.
update_taskC
Update an existing task (status, assignee, description, etc.)
Inputs: task_id (required), version (required), subject, description, +3 more.
update_userstoryC
Update an existing user story
Inputs: userstory_id (required), version (required), subject, description, +4 more.
update_wiki_pageC
Update the content of an existing wiki page
Inputs: wiki_id (required), version (required), content (required), slug.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 55 tools
Each tool targets a distinct resource and action. There is no overlap; for example, create_epic, create_issue, create_userstory are clearly separate. Even similar tools like list_issue_statuses vs list_issue_types serve different purposes.
All tool names follow a consistent verb_noun pattern using snake_case. Verbs like create, delete, get, list, update, add, bulk_create, link, unlink, search are used uniformly. No mixing of conventions.
With 55 tools, the server is comprehensive but on the high side. The count is justified by covering many entities (epics, issues, tasks, user stories, milestones, wiki pages, roles, projects) and supplementary operations (list statuses, types, priorities, etc.), but could be slightly trimmed.
The tool set provides full CRUD for most entities and includes extras like linking, bulk creation, search, and activity history. Notable gaps: no get_task tool (though create, update, delete, list exist) and no comment CRUD beyond add_comment.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
MCP server for generating rough-draft project plans from natural-language prompts.
Related MCP Servers
- AlicenseBqualityDmaintenanceFull-featured MCP server for Taiga project management, enabling AI agents to manage projects, epics, user stories, tasks, issues, sprints, wiki pages, memberships, and roles via Taiga API v1.10039 npm6MIT
- AlicenseNot gradedqualityDmaintenanceFull autonomous project management MCP server enabling AI assistants to manage projects, sprints, tasks, bugs, proposals, and team collaboration via natural language.10 npmMIT
- FlicenseCqualityDmaintenanceMCP server for the Zube.io project management API, exposing boards, cards, epics, tickets, sprints, and workspaces as tools for AI assistants.42-
- AlicenseAqualityBmaintenanceMCP server for Taiga project management, enabling LLM clients to inspect and manage projects, work items, sprints, comments, attachments, and wiki pages via 6 op-dispatching tools.620 npm3MIT