Skip to main content
Glama
rillsoft

Rillsoft Project MCP server

Official

Read project

rillsoft_project_tree_get
Read-onlyIdempotent

Read a complete Rillsoft project as a tree: status date, subprojects, tasks, dependencies, assignments, shared resources, and optional position ranges.

Instructions

Use this to read tasks and dependencies: it returns the whole project as a tree - key data including the status date, subprojects, tasks (UUID, WBS, computed dates, milestone and critical flags, progress and effort) and every dependency. There is no separate task list tool; this is the read path for them. Read-only, no undo step. Each task carries four assignment arrays: assignments[] (roles), employeeAssignments[], machineRoleAssignments[] and machineAssignments[] - empty where the task holds nothing of that resource type. Where several tasks use one machine or machine role together, it appears in none of those arrays but in sharedAssignments[] (type, id, name, quantity, utilization, sharedTaskUuids[] holding the UUIDs of the other tasks involved); that field is absent where the task shares nothing. A task with sameRow:true is drawn on one display row together with its WBS predecessor. With includePositionRange:true the position range per task is reported as well. Beware: the critical field is not a float indicator.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includePositionRangeNotrue = report the position range per task as well: earliestStart and latestFinish (DD.MM.YYYY hh:mm) plus startReserveHours and finishReserveHours. Computed against the nearest fixed frame (subproject or project) and never before the status date. Beware: moving a task inside that range CAN drag its successors along - this is the total float of network analysis, not the free float. Subprojects and the main project do not carry these fields; what they show is the envelope of their children, not a range of their own. Requires the Builder.bReserve setting, otherwise the call fails. Defaults to false

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
wbsYesWBS code
codeNocode of the element; missing when empty
nameYesname
typeYeskind of the element
uuidYesUUID of the element
colorNobar color as #RRGGBB or 'automatic'
fixedYesdate is fixed
notesNonotes; missing when empty
startYesstart, DD.MM.YYYY hh:mm
finishYesfinish, DD.MM.YYYY hh:mm
numberYesnumber of the element; unique even for split tasks
sameRowNotrue = shares one display row with the WBS predecessor; missing otherwise
criticalNotrue = on the critical path; not a float indicator
elementsYeschild elements in WBS order
priorityNopriority in percent; not reported in a portfolio
statusIdNoid of the project status; not reported in a portfolio
fixedTypeNotask type of the resource block; missing while it is undetermined
milestoneNotrue = milestone
portfolioYestrue = the open document is a portfolio
calendarIdNoown calendar; 0 = inherited from the parent element
categoryIdNoid of the project category; not reported in a portfolio
customerIdNoid of the customer; not reported in a portfolio
planNumberNonumber of the plan variant; not reported in a portfolio
statusDateYesstatus date, DD.MM.YYYY hh:mm
assignmentsNorole assignments
effortHoursNoeffort in hours
dependenciesYesall dependencies of the project
latestFinishNolatest possible finish; only with includePositionRange:true
primaryColorNocolor is inherited by child elements
durationHoursNoduration in hours
earliestStartNoearliest possible start; only with includePositionRange:true
effortEditableNoeffort may be entered on the task
preferredTeamsNopreferred teams; missing when none is set
schedulingModeNoscheduling mode; not reported in a portfolio
effortDoneHoursNocompleted effort in hours
progressPercentNoactual progress in percent
teamAssignmentsNoteam assignments; missing when the task carries no team
timeStepMinutesNoinput time grid in minutes
durationStepUnitNounit used to enter a duration
quantityStepUnitNounit used to enter a quantity
sharedAssignmentsNomachine roles and machines shared with other tasks; missing when the task shares nothing
startReserveHoursNostart reserve in hours; only with includePositionRange:true
finishReserveHoursNofinish reserve in hours; only with includePositionRange:true
machineAssignmentsNomachine assignments
employeeAssignmentsNoassignments of specific people
materialAssignmentsNomaterial assignments
dynamicRedistributionNoredistribute effort dynamically; not reported in a portfolio
machineRoleAssignmentsNomachine role assignments
outputQuantityEditableNooutput quantity may be entered on the task
dynamicRedistributionEffectiveNothe switch as the scheduling applies it: true where the project or the task carries it, scheduling is capacity_driven and the task carries named people. A task that only inherits from the project has dynamicRedistribution false and this one true

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?

Annotations already cover the read-only/idempotent safety profile, but the description adds substantial behavioral context beyond them: 'no undo step,' the exact composition of the returned tree, the meaning of the four assignment arrays and the separate sharedAssignments[] case, the absent-field semantics, the sameRow display rule, the Builder.bReserve prerequisite that makes the call fail, and the warning that the 'critical' field is not a float indicator.

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?

The purpose and scope are front-loaded in the first sentence, and most sentences carry concrete information about the payload rather than filler. It is dense and long, with some overlap between the body text and the includePositionRange schema description, but nothing is gratuitous.

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 complex tree-read tool with one optional parameter, the description covers scope, payload structure, edge cases (sharedAssignments, empty arrays, absent fields), a failure prerequisite, and a semantic warning. An output schema exists, so return-value mechanics need not be restated, and the description still supplies enough framing to call the tool 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 description coverage is 100%, so the baseline is 3 and the schema already documents includePositionRange thoroughly. The description goes slightly beyond it by interpreting the result (total float of network analysis vs. free float, and that moving inside the range can drag successors along), which adds decision-relevant nuance even though much of the text overlaps the schema.

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?

The description names a specific verb and resource ('read tasks and dependencies'), states the return shape ('the whole project as a tree'), and enumerates the payload (status date, subprojects, tasks with UUID/WBS/dates/flags/progress/effort, and every dependency). It also explicitly distinguishes itself from siblings by asserting 'There is no separate task list tool; this is the read path for them.'

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 clearly frames the tool as the read path for tasks and dependencies and rules out a competing task-list tool, which is strong routing guidance. However, it does not contrast against other read-oriented siblings such as analysis_report_get, resource_usage_list, or property_panel_get, nor state when a lighter read would be preferable.

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