↓ Skip to main content
Rillsoft AI
Connect Rillsoft

Rillsoft AI

The Rillsoft MCP server

Rillsoft AI is the AI gateway to Rillsoft Project: an MCP server (Model Context Protocol) on top of the scheduling engine of a multi-project resource planner. It is built into Rillsoft Project 10, runs inside the visible, running application on your machine and exposes the open project to an AI assistant or a script.
Endpoint
http://127.0.0.1:3928/mcp
Protocol
MCP over Streamable HTTP, revision 2025-06-18
Reach
local endpoint on 127.0.0.1; the AI client has its own data transmission settings
Requirement
Rillsoft Project 10 on Windows
The trade-off
an MCP call carries no user identity and reaches exactly one Rillsoft Project instance
Tool catalogue 118 tools · build 10.0.626 Glama A

Glama rates the tool definitions A (TDQS 4.3 of 5), server coherence A and maintenance A. As of October 18, 2026.

Your AI assistant Claude, Codex and more
MCP
Rillsoft Project Your project data
  • Projects
  • Tasks
  • Resources
  • Capacities
  • Portfolios

What the connection enables

Six things a client does with the project

Read and see conflicts Read the complete computed status with dates, float, critical path and assignments – and the six warning lists: delayed, overloaded, lost, unassigned or partially assigned, cross-project. Prompt: delayed tasks → Analyse capacity Set the resource and capacity view and read it as a report: demand against supply per role, team, person, machine or material – in the time grid of your view, with shortfall as the answer. Example: find a resource bottleneck → Staff, across sites too Answer “whom do I take?” before naming a person: role on the task, candidates with availability, free capacity, cost and schedule conflict; assistants for many tasks; preferred team on the subproject and opening the candidate filter. Example: staff across sites → Build and change the project Create subprojects, tasks, dependencies, roles, people, machines and material; restructure, split, schedule – every call is one undo step. Prompt: phase starts two weeks later → Baseline and actual data The baseline is frozen and the comparison is a tool: create and select baselines, read the three comparison views for time, effort and cost; progress per task, status date, status-date scheduling, progress derivation. Example: compare with the baseline → Portfolio, pool and session Open and evaluate a portfolio without dialogs; read and maintain the resource pool, mirror absences, calendars; undo and redo, files, window layout, columns and outline. Prompt: projects competing for resources →

A single source of truth

The scheduling engine of Rillsoft Project remains the single source of truth for dates, durations, workload and the critical path. The tools read the result – they do not compute it.

Undo plan changes

MCP calls that change the plan are undo steps. File and session operations are excluded. After undoing a change, check that the previous data state has been restored.

What do I need?
#

  • Rillsoft Project version 10 on Windows; earlier versions have no MCP server.
  • An AI client or a script that speaks the Model Context Protocol over Streamable HTTP in protocol revision 2025-06-18. Older revisions are not accepted by the server.
  • For the first steps a shipped industry example; all data in it is synthetic.

Set up in three steps
#

Start the server, point the client at the endpoint, check one read-only call – the first contact needs nothing more. Every step can be reverted on its own, and no step changes a project.

Enable the server
#

WayEffect
RillPrj.exe /mcpserver on 127.0.0.1:3928 for this session
RillPrj.exe /mcp:8123server on 127.0.0.1:8123
Settings → MCP server → “enable”server starts immediately and at every program start on the configured port
no flag, setting inactiveno listener, no open port

The start flag overrides the settings for the session and suppresses the start screen and the auto-recovery prompt so that an unattended start does not hang on a dialog. The status line on the settings page shows whether the server is running, running via flag, blocked (port in use, probably a second instance) or inactive.

Connect a client
#

The Claude guide covers Code and Desktop separately, including the connection check.

The endpoint is http://127.0.0.1:<port>/mcp – the path is exact, even /mcp/ is a 404. Configuration of an MCP client:

{
  "mcpServers": {
    "rillsoft-project": {
      "type": "http",
      "url": "http://127.0.0.1:3928/mcp"
    }
  }
}

With an API key set, one header is added:

{
  "mcpServers": {
    "rillsoft-project": {
      "type": "http",
      "url": "http://127.0.0.1:3928/mcp",
      "headers": { "Authorization": "Bearer <KEY>" }
    }
  }
}

Both versions are available as files in the public repository: client configurations on GitHub.

First safe test
#

No call works without initialisation. Three messages are enough, and none of them changes the project:

  1. initialize – the server assigns a session; the id is in the response header Mcp-Session-Id.
  2. notifications/initialized – the confirmation unlocks the tools. From now on every request carries Mcp-Session-Id and MCP-Protocol-Version.
  3. tools/list – the contract: every tool with title, description, input and output schema. A first read-only call is rillsoft_project_tree_get, the complete computed project tree.

Every tool answer delivers the result twice: as plain text in content[0].text and machine-readable in structuredContent. At the end a DELETE /mcp with the session id ends the session.

The three steps as curl calls in Git Bash
# 1. initialize – the session id is in the response header
MCP_SESSION=$(curl -s -i -X POST http://127.0.0.1:3928/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}' \
  | tr -d '\r' | awk -F': ' 'tolower($1)=="mcp-session-id"{print $2}')

# 2. from now on every call carries session and protocol revision
mcp() { curl -s -X POST http://127.0.0.1:3928/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: $MCP_SESSION" \
  -H "MCP-Protocol-Version: 2025-06-18" -d "$1"; }

# 3. the confirmation unlocks the tools
mcp '{"jsonrpc":"2.0","method":"notifications/initialized"}'

# the contract: every tool with title, description, input and output schema
mcp '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# a first read-only call: the complete computed project tree
mcp '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"rillsoft_project_tree_get","arguments":{}}}'

MCP server security: how is access protected?
#

The API key is optional. Empty means: no authentication. If a key is set in the settings, every request – regardless of how the server was started – requires Authorization: Bearer <KEY>, otherwise the server answers 401. The comparison runs in constant time. The key is needed on multi-user and terminal-server machines, because 127.0.0.1 is machine-wide, not session-wide.

What do read-only mode and licence cover?
#

In read-only mode tools/list shows exactly the tools of the access class read-only: no task, no assignment, no date, no file, no undo step. Mutating calls – including file, pool and undo tools – return a clear tool error without touching the project.

Some read-only tools visibly change something: the window tools only the window, the display tools the view state that is saved with the project file (columns, outline, selection). The project counts as modified afterwards. The description of each of these tools states this effect.

Most tools check no licence; they are as open as the document model. Four follow the licence like their counterpart in the user interface: the candidate list, the assistants “assign staff” and “remove staff”, and the role derivation. If the function is missing from the licence, they return an error instead of working silently.

What you see is what the AI gets
#

The capacity report computes nothing itself. It serialises the visible, already computed view: period from the time filter, grid from the calendar scale, metric from the selected display. Every perspective the AI sets is on screen at the same time – and one Ctrl+Z restores view, structure, time filter and display together. The same applies to every mutation: if Rillsoft Project detects a conflict on completion, it rolls back itself and the tool reports the reason with the project unchanged.

Rillsoft Project, human resource capacity planning of the Machinery and plant engineering portfolio by project and role, December to March on a weekly scale: Assembly line MX-200 selected and expanded with its roles, shortfall for Packaging cell −29 (23 %), Press R-12 retrofit −12 (9 %), E-Drive 400 test bench −23 (9 %) and Service and small orders −85 (6 %); the resource chart below
The capacity view as it stands on screen – exactly these cells are what the report delivers to the clientGerman UI

Without AI: scripts and integrations
#

Not a chat plug-in but access to Rillsoft Project as a whole – with or without AI, by script, with sample data included. The same endpoint works without an AI assistant. The mcp function from the curl example above already is a script; in PowerShell a call looks like this:

$body = @'
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
'@
curl.exe -s -X POST http://127.0.0.1:3928/mcp `
  -H "Content-Type: application/json" `
  -H "Mcp-Session-Id: $env:MCP_SESSION" `
  -H "MCP-Protocol-Version: 2025-06-18" -d $body

Typical uses: mirror absences from the leave system into the resource pool on a rolling basis, pull capacity and plan/actual reports on a schedule – with a scheduled agent also the status report –, generate projects from templates, set a view reproducibly for a screenshot. Every tool describes input and output as a complete JSON schema; both are enforced at runtime. Field names are English and identical in both directions, so an answer can be passed on to the next call without renaming.

Two pitfalls when starting automatically: start Rillsoft Project from PowerShell or cmd, because a POSIX shell such as Git Bash rewrites the /mcp flag into a path. And the server listens only a few seconds after the program has started.

How fast does the server respond?
#

Measured on the largest shipped sample project of the plant engineering package with 650 elements, 637 dependencies and about 1,500 assignments, in the debug build on the reference machine:

OperationTime
open the project7.8 s (control measurement on another machine: 6.6 s)
read the complete tree2.0 s (control measurement: 1.1 s)
memory after opening102 MB
mutating callabout 0.4 s on this project, about 0.16 s on a small one

Working with a finished project is uncritical. Only the scripted construction of large projects is slow, because every mutating call creates a complete undo snapshot; the whole plant engineering package with twelve projects takes about 16,700 calls.

What about several instances?
#

Rillsoft Project is a single-document application: one instance, one project, one port. The server binds exclusively to its port; a second instance on the same port fails at start and reports this in the status line. For parallel projects every instance gets its own port (/mcp:3928, /mcp:3929, …) and its own server entry in the client. There is deliberately no automatic port search – the client must know which instance it addresses. There is no project directory and no addressing by project id; a project is opened by its file path.

How does the server report errors?
#

The errors, undo and safe writes reference explains responses and the checks required before retrying.

Protocol errors and business rejections are separate: the caller cannot correct a protocol error, but builds the second attempt from a business rejection.

CaseAnswer
Origin header presentHTTP 403
API key set and Authorization wrongHTTP 401
path not exactly /mcpHTTP 404
request after initialize without session or protocol revisionHTTP 400
unknown or expired session (30 minutes idle)HTTP 404 – start again with initialize
arguments violate the input schemaJSON-RPC -32602 with field path, e.g. arguments.timescale.level
unknown UUID, conflict, lock, licence, read-onlyresult.isError: true with plain text and a stable code in _meta.errorCode

The error text is an agent’s self-correction channel. It names the field path, the permitted values or the tool that establishes the missing state. Next to it stands a stable English error code that is the same in the German, English and Russian language versions – a retry rule is built on the code, not on the wording. At most 32 sessions run concurrently; JSON-RPC batches are rejected.

If no port opens after a hard program end: the auto-recovery dialog waits for an answer when the server was started via the setting rather than the flag. Answer the recovery files *.mbk under %TEMP%\Rillsoft or remove them beforehand for scripted runs.

Reference: the ten tool areas
#

The six cards above summarise; in full, the tools cover ten areas – the grouping of the product documentation. The contract per tool – schemas, access classes, error codes – is described on the developers page; what an area looks like in practice is shown by the linked examples.

AreaWhat a client does with it
Read the project and its conflictsread the complete computed status with dates, float, critical path and assignments; plus the six warning lists of the info panel: delayed, overloaded, lost, unassigned or partially assigned, cross-project
Analyse capacityset the resource and capacity view and read it as a report – demand against supply per role, team, person, machine, material (example: find a resource bottleneck)
Staffcandidates per task with availability, free capacity, cost and schedule conflict; assistants for many tasks (prompt: staff the open roles)
Multi-site planningpreferred team on the subproject, open the candidate filter, staff across sites (example: staff across sites)
Build the projectcreate subprojects, tasks, dependencies, roles, people, machines, material; restructure, split, schedule (prompt: create a plan from a description)
Baseline and plan/actualcreate and select baselines, read the three comparison views for time, effort and cost (example: compare the plan with its baseline)
Actual dataprogress per task, status date, status-date scheduling, progress derivation
Resource poolread master data; open a work unit, maintain master data, mirror absences, calendars with holiday source, save once
Portfolioopen a portfolio without dialogs and evaluate the projects it contains
Session and displayundo and redo, open and save files, control window layout, columns, outline, property panel

Next step
#

The prompt library shows 39 questions with prerequisites, tool chain and limits. The contract with schemas and error codes is on the developers page. If you want to feel it first, begin with getting started.

Technical questions

The questions that come before the first call

What is an MCP server?

An MCP server offers tools to an AI assistant via the Model Context Protocol – here the tools of the running Rillsoft Project: project structure, dates, resources, capacity, baseline. The AI calls them and reads the calculated plan; Rillsoft Project does the calculating.

Can I evaluate only, without any risk of changes?

Yes. In read-only mode the server offers read-only tools only; mutating calls are rejected with a clear error. A few display tools change the view state that is saved with the project – their description says so.

Which AI clients work?

The connection requires a compatible local MCP client. Get started provides setup instructions with verification details and prerequisites for each client. A verified connection does not automatically verify execution of a complete management dashboard. Browser applications cannot access the local endpoint directly.

Is there a chat inside the program?

You work with an external AI assistant connected to Rillsoft Project through a compatible client. The local MCP server provides data and tools from the open application. Verified setup routes are listed under Get started. What the client transmits to its AI provider depends on its settings and terms.

Do I need a special licence?

Not for reading and evaluating. The candidate list, the staffing assistants and the role derivation follow your licence like their counterparts in the user interface.

Does it work with a portfolio?

Yes. The server opens a portfolio with its own tool; after that the AI works in it as in a single project – reading, evaluating and changing, the capacity view across all projects included. The limits are those of the user interface: no task changes its project, in a file portfolio no dependency crosses the project boundary, and a portfolio has no baseline. Portfolios on the Integration Server can also be created, renamed, recomposed and deleted.

Can the AI work on its own or on a schedule?

A local script or scheduled agent can call the same tools as an AI assistant, for example for a status report. Rillsoft Project must be running and its MCP server active. A recurring complete management report also needs defined parameters, checks and error handling. This website does not provide a hosted reporting service.

Does the AI learn from past projects?

No. Staffing suggestions come from the data of the open plan: skill, availability, free capacity, cost and schedule conflict – every figure traceable and visible in Rillsoft Project. The planning engine calculates dates and workload; the AI reads, sorts and suggests.

Does it run in English or Russian too?

Yes. Tool names, schemas and error codes are identical in all three language versions; messages follow the language of the installed Rillsoft Project.

Product version
Rillsoft Project 10
Verification
Details from the Rillsoft Project 10 product documentation (as of 2026-09-08); reconciliation with the released build is pending.