Skip to content

Add project tag management: library edit/delete/mix and MCP tag tools #286

Open

Description

@yakky

Summary

Project tags can be read and created through python-taiga, but not edited, deleted or merged. The MCP server (open PR stack below) exposes no project tag tools at all. This issue tracks both gaps so that tag management is available end to end.

Current state

Library (taiga/models/models.py on master)

Capability Endpoint Supported
List tags GET /projects/{id}/tags_colors Yes, Project.list_tags()
Create tag POST /projects/{id}/create_tag Yes, Project.add_tag(tag, color=None)
Edit (rename or recolor) POST /projects/{id}/edit_tag No
Delete POST /projects/{id}/delete_tag No
Merge POST /projects/{id}/mix_tags No

MCP server

The MCP server is being developed in a stack of open PRs: #268 (master) <- #280 <- #279 <- #283. On the tip of the stack (#283), taiga/mcp_server/server.py has no tag tools. Tags appear only in the create_user_story docstring (fields may set tags). Custom attribute tools were added in the same style in #283.

Requested work

1. Library: add the missing Project methods

  • POST /projects/{id}/edit_tag with {"from_tag": "<name>", "to_tag": "<name>", "color": "<hex>"}
  • POST /projects/{id}/delete_tag with {"tag": "<name>"}
  • POST /projects/{id}/mix_tags with {"from_tags": ["<name>", ...], "to_tag": "<name>"}
  • Tests with recorded fixtures, following the existing test layout.

2. MCP server: add tag tools

Following the pattern of the custom attribute tools in #283, ideally as a further PR on top of that stack:

  • list_tags(project), backed by Project.list_tags() (already available)
  • create_tag(project, tag, color=None), backed by Project.add_tag() (already available)
  • edit_tag(project, from_tag, to_tag=None, color=None), needs 1.
  • delete_tag(project, tag), needs 1.
  • mix_tags(project, from_tags, to_tag), needs 1.
  • Update docs/mcp.rst and add a changes/ fragment.

The generic requester.post could be used for the three missing endpoints as a stopgap, but that would bypass the library's model layer.

Motivation

Deleting or merging tags across many projects (for example cleaning up a template project and the boards derived from it) currently requires calling the REST API by hand, because neither the library nor the MCP server can do it.

Notes

  • Deleting a tag removes it from every story, task, issue and epic in the project. Docstrings and tool descriptions should say so, and the MCP delete tool should be clearly marked as destructive.
  • These endpoints require project admin permissions.

Activity

  1. changed the title [-]Add project tag management (create, edit, delete, mix) to Project model[/-] [+]Add project tag edit, delete and mix to Project model[/+] on Nov 1, 2026
  2. changed the title [-]Add project tag edit, delete and mix to Project model[/-] [+]Add project tag management: library edit/delete/mix and MCP tag tools[/+] on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions