Repository navigation
Description
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_tagwith{"from_tag": "<name>", "to_tag": "<name>", "color": "<hex>"}POST /projects/{id}/delete_tagwith{"tag": "<name>"}POST /projects/{id}/mix_tagswith{"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 byProject.list_tags()(already available) -
create_tag(project, tag, color=None), backed byProject.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.rstand add achanges/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
[-]Add project tag management (create, edit, delete, mix) to Project model[/-][+]Add project tag edit, delete and mix to Project model[/+][-]Add project tag edit, delete and mix to Project model[/-][+]Add project tag management: library edit/delete/mix and MCP tag tools[/+]