Skip to main content
Glama
rillsoft

Rillsoft Project MCP server

Official

Set preferred team

rillsoft_project_team_preference_set
Idempotent

Marks a team as a project's preferred team, setting a preference that inherits to subprojects and presets resource candidate filters. Use it to narrow capacity planning supply, not to assign tasks.

Instructions

Marks a team as the preferred team of a project or subproject. This is not an assignment but a preference, carrying neither utilization nor productivity: it is inherited by every subproject below, it presets the team filter in rillsoft_task_resource_candidate_list and in the dialogs, and it narrows the supply in the capacity view split by project. projectUuid addresses the main project (empty) or any subproject. Read it back through rillsoft_project_tree_get (preferredTeams[]). Team assignments on individual tasks do not exist in this contract; people are assigned through rillsoft_task_employee_assignment_set. In a portfolio projectUuid names a project or a subproject inside it, as in a single project; the portfolio itself carries no preferred team (the user interface offers none there), so an empty projectUuid is refused. One undo step.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamIdYesid of the team from rillsoft_resource_pool_catalog_list with types:["team"]
projectUuidNoUUID of the project or subproject that carries the preference; 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.8/5.0
Behavior5/5

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

Annotations only carry idempotent/non-destructive flags; the description adds substantial behavioral context beyond them: inheritance to every subproject, presetting of the team filter, narrowing of capacity-view supply, the empty-projectUuid refusal, and 'One undo step.' This is exactly the extra behavioral layer annotations cannot express.

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, then progressively adds inheritance, effects, read-back, and edge cases. Dense but nearly every sentence earns its place; a small amount of compaction is possible, keeping it just shy of a 5.

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?

With an output schema present, return values need not be explained. The description covers inheritance, side effects, portfolio behavior, the read-back path, and the undo behavior — everything an agent needs to call this mutation correctly.

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. The description adds real meaning the schema lacks: projectUuid as empty=main project is echoed, but the portfolio semantics (projectUuid naming a project/subproject inside a portfolio, and the portfolio itself carrying no preference) are not derivable from the schema and genuinely enrich the parameter.

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?

States a specific verb+resource ('marks a team as the preferred team of a project or subproject') and immediately distinguishes it from what it is not ('not an assignment'). It names related siblings (rillsoft_task_employee_assignment_set, rillsoft_task_resource_candidate_list) so an agent can place it in the tool graph without opening other schemas.

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

Usage Guidelines5/5

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

Explicitly says when to use it versus task-level assignment ('Team assignments on individual tasks do not exist in this contract'), names the read-back tool (rillsoft_project_tree_get), and covers the portfolio edge case where an empty projectUuid is refused. Clear when/when-not guidance with named alternatives.

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