Skip to main content
Glama
rillsoft

Rillsoft Project MCP server

Official

Save RIS project

rillsoft_project_ris_save
DestructiveIdempotent

Save an open project as a new version on the Rillsoft Integration Server, keeping element UUIDs and undo history intact. Add version notes; conflicts and read-only documents are refused.

Instructions

Writes the open project back to the Rillsoft Integration Server as a new version of the project it was opened from (rillsoft_project_ris_open). Creates one new version on the server per call; the document is then reloaded from the server; the UUIDs of every element stay valid, and the command history is kept, so the last steps can still be undone afterwards. Refused where the open document is not a project of the server (ris_project_not_open; use rillsoft_project_ris_save_as to store it there as a new project), where it is open read-only (ris_read_only), or where the server holds a newer version or a foreign lock (ris_conflict - reopen it). A local file is saved through rillsoft_project_file_save. An open portfolio is refused (a portfolio of the Integration Server is saved through rillsoft_portfolio_ris_save). Runs with the login of the desktop session and never asks for credentials. No undo step.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoversion notes stored with the new version on the server; at most 2000 characters

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
wbsYesWBS code
lockYeslock mode of the open document
nameYesname
noteNohints of the loader, such as a lock that was not granted; missing when there were none
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
clientIdYesid of the client the project belongs to
readOnlyYestrue = the document is read-only; rillsoft_project_ris_save refuses it
projectIdYesid of the project on the server
versionIdYesid of the version the document holds

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv10.0.626

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the write/destructive/open-world profile, and the description adds substantial context beyond them: one new version per call, the document is reloaded, UUIDs stay valid, command history is retained so prior steps remain undoable, no undo step for the save itself, and it runs under the desktop session login without prompting for credentials. The only nuance is that 'one new version per call' sits awkwardly with idempotentHint=true, though this is a minor ambiguity rather than an inversion.

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 core action and its scope are front-loaded, and every subsequent clause (refusals, alternatives, auth, undo) earns its place. It is a dense single block rather than a tightly scoped statement, so slightly less economical than the ideal, but there is no filler.

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 versioning save with several refusal paths, the description covers the action, the side effects, the auth model, the error conditions, and the correct alternative tools. An output schema exists, so return values need not be explained, and annotations cover the safety profile.

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

Parameters3/5

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

There is a single optional parameter (notes) and schema description coverage is 100%, including the 2000-character limit, so the schema already carries the meaning. The description adds nothing about the parameter; the baseline of 3 applies when the schema does the heavy lifting.

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 and resource: 'Writes the open project back to the Rillsoft Integration Server as a new version of the project it was opened from (rillsoft_project_ris_open).' It ties the operation to its counterpart open tool and distinguishes it from the sibling save variants (save_as, file_save, portfolio_ris_save).

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 routes the agent: use rillsoft_project_ris_save_as when the document is not a server project, rillsoft_project_file_save for local files, rillsoft_portfolio_ris_save for portfolios. It also enumerates the exact refusal conditions (ris_project_not_open, ris_read_only, ris_conflict) and what to do in each case.

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