Skip to main content
Glama
rillsoft

Rillsoft Project MCP server

Official

Remove preferred team

rillsoft_project_team_preference_remove
DestructiveIdempotent

Removes a preferred team from a project or subproject, undoing an inherited team preference. Fails if the pack does not carry that team, so no silent success is reported.

Instructions

Takes the preferred team of a project or subproject back out. The counterpart of rillsoft_project_team_preference_set. An inherited preferred team is removed at the pack that carries it; under preferredTeams[] rillsoft_project_tree_get shows only the entries a pack carries itself. Where the project or subproject does not carry that team, the call fails rather than reporting a silent success. In a portfolio projectUuid names a project or a subproject inside it, as in a single project; an empty projectUuid - the portfolio itself - is refused. One undo step.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamIdYesid of the team
projectUuidNoUUID of the project or subproject; empty = the main project

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
wbsYesWBS code
nameYesname
uuidYesUUID of the element
startYesstart, DD.MM.YYYY hh:mm
finishYesfinish, DD.MM.YYYY hh:mm
numberYesnumber of the element; unique even for split tasks
preferredTeamsYesthe preferred teams of the project or subproject after the change

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv10.0.626

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Well beyond the annotations (destructiveHint=true, idempotentHint=true), the description discloses inheritance semantics, the pack-level removal rule, the failure-not-silent-success behavior, the portfolio restriction on empty projectUuid, and that a single undo step is consumed. This is exactly the behavioral detail an agent needs before calling a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, and every sentence carries operational information. The multi-clause sentences are dense but not padded; nothing is wasted, though it reads as more than strictly necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter destructive mutation with an output schema available, the description covers relation to siblings, failure modes, scope rules, and undo cost. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning to projectUuid: in portfolio mode it names a project or a subproject inside it, and an empty value (the portfolio itself) is refused — a constraint the schema's 'empty = the main project' wording does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Takes the preferred team ... back out') and immediately identifies its counterpart, rillsoft_project_team_preference_set, letting an agent distinguish removal from setting without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the counterpart operation and describes concrete conditions — inherited teams are removed at the pack that carries them, and the call fails rather than silently succeeding when the target does not carry the team. It stops short of an explicit 'use set instead when...' routing statement, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools