MCP Reference
roadmap_entry_save
Create or Update Roadmap Entry
Beschreibung
Linear-style upsert for one row inside a roadmap. Omit id
to create, pass id to update.
Create requires roadmap_id, title, AND due_on. The
entry inherits its workspace from the parent roadmap. This tool
can't reparent an entry — use roadmap_entry_move to move it
to another roadmap in the same workspace.
Field semantics:
- status ∈ {planned, in_progress, done, cancelled}. Defaults
to planned on create. Status changes write a
RoadmapActivity row visible via roadmap_activities.
- Dates are ISO 8601 (YYYY-MM-DD). due_on must be on or
after starts_on when both are set.
- due_on is mandatory and stays mandatory — there's no
open-ended state. If the work is genuinely ongoing, split
it into time-boxed chunks (e.g. one entry per quarter)
rather than picking a fake date.
- starts_on may be null. An entry with no starts_on
renders as a milestone (diamond marker on the timeline)
at due_on.
- position is a manual integer ordering inside the
roadmap; smaller = earlier. Defaults to 0 on create.
- owner_id accepts an active human workspace member. It
defaults to the calling user on create.
- Update semantics: fields you omit are left untouched.
To attach projects, use roadmap_entry_link_project — this
tool only manages the entry's own fields.
Zugriff
Zugriffsprofil: gated. Module: projects_tasks.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
string | Ja | |
id |
string | Nein | Entry prefix ID (rent_…). Omit to create. |
roadmap_id |
string | Nein | Required on create. Roadmap prefix ID (rmap_…). |
title |
string | Nein | Required on create. |
description_markdown |
string / null | Nein | Markdown. Empty string clears, null leaves alone. |
status |
string | Nein | Defaults to planned on create. |
starts_on |
string / null | Nein | ISO date (YYYY-MM-DD). Null/omit → milestone-style entry. |
due_on |
string / null | Nein | ISO date (YYYY-MM-DD). REQUIRED on create. Must be >= starts_on when set. |
position |
integer | Nein | Manual ordering within the roadmap. Defaults to 0. |
owner_id |
string | Nein | Owner user prefix ID or @handle. Defaults to the caller on create. |
Eingabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"type": "string"
},
"id": {
"type": "string",
"description": "Entry prefix ID (rent_…). Omit to create."
},
"roadmap_id": {
"type": "string",
"description": "Required on create. Roadmap prefix ID (rmap_…)."
},
"title": {
"type": "string",
"description": "Required on create."
},
"description_markdown": {
"type": [
"string",
"null"
],
"description": "Markdown. Empty string clears, null leaves alone."
},
"status": {
"type": "string",
"enum": [
"planned",
"in_progress",
"done",
"cancelled"
],
"description": "Defaults to planned on create."
},
"starts_on": {
"type": [
"string",
"null"
],
"description": "ISO date (YYYY-MM-DD). Null/omit → milestone-style entry."
},
"due_on": {
"type": [
"string",
"null"
],
"description": "ISO date (YYYY-MM-DD). REQUIRED on create. Must be >= starts_on when set."
},
"position": {
"type": "integer",
"description": "Manual ordering within the roadmap. Defaults to 0."
},
"owner_id": {
"type": "string",
"description": "Owner user prefix ID or @handle. Defaults to the caller on create."
}
},
"required": [
"account_id"
],
"type": "object"
}
Ausgabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"entry": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "rent_…"
},
"title": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"planned",
"in_progress",
"done",
"cancelled"
]
},
"starts_on": {
"type": [
"string",
"null"
]
},
"due_on": {
"type": [
"string",
"null"
]
},
"position": {
"type": "integer"
},
"description_markdown": {
"type": [
"string",
"null"
]
},
"owner": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"name"
]
}
},
"roadmap": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"id",
"title"
]
}
},
"required": [
"id",
"title",
"status",
"position",
"owner",
"projects",
"roadmap"
]
}
},
"required": [
"entry"
],
"type": "object"
}