Skip to content
Zeitlines

A roadmap an agent can maintain

Zeitlines ships an MCP server, so Claude Code can list your timelines, read one, add items, move dates and keep a pricing matrix current. It works against the live deployment rather than a local copy, so the change is live the moment the tool call returns.

Why this exists

Keeping a roadmap current is exactly the kind of work that gets skipped: the plan changed in a conversation, and nobody opens the tool to write it down. An agent that already has the conversation in front of it can do that part — if the roadmap is reachable as tools rather than as a web interface.

That is all the MCP server is: the same HTTP API the browser uses, exposed as tool calls with names an agent can pick correctly.

What the agent can do

ToolEffect
list_timelinesEvery database-backed timeline, with id, name and description
get_timelineOne complete timeline: items and groups
add_item / update_item / delete_itemItem-level changes; an update patches only the fields given and merges metadata
add_group / update_group / delete_groupThe lanes
list_usersThe people an item's owner can be set to
set_custom_fieldsThe timeline's own custom item fields
replace_timelineA whole timeline at once, for bulk work
set_pricing, set_versionsSeed or replace the pricing model and its version list
add_/update_/delete_feature, …_tier, …_highlightSingle rows of the pricing model, written directly
set_tier_valueOne matrix cell, optionally with the version it applies from

The pricing tools write their row directly rather than reading the whole model and writing it back, which is what keeps an agent's edit from clobbering a person's edit made a second earlier.

Setting it up

Three things have to line up.

  1. A deployment backed by Postgres, with the auth gate on. Without the gate the token bypass does not take effect.
  2. A shared token: MCP_API_TOKEN set on the deployment and given to the local server, together with TIMELINES_LIVE_URL naming the deployment. The URL is required and has no default, so a misconfiguration stops the server instead of quietly pointing it somewhere else.
  3. The server registered with your agent.
claude mcp add -s user timelines -- \
  <repo>/node_modules/.bin/tsx <repo>/scripts/mcp/server.ts

Registering it at user scope makes the roadmap available from any directory, which is the point — the conversation that changes the plan is rarely held in the roadmap's own repository.

The safety properties worth knowing

Related

Frequently asked questions

Can Claude Code edit a Gantt chart or roadmap?
Yes. Zeitlines ships an MCP server that exposes a roadmap as tools: list the timelines, read one, add and update items and groups, move dates, and maintain the pricing model. Register it once and Claude Code can work on the roadmap from any directory.
Which MCP clients does it work with?
It is a standard stdio MCP server, so any client that speaks the Model Context Protocol can run it. Claude Code is what it is developed against and what the registration example below uses.
Does the agent work against a local copy or the live roadmap?
The live deployment, always. Every read and write goes through the deployment’s HTTP API to the database, so there is no local copy that can drift and no synchronisation step. A change is visible to everyone the moment the tool call returns.
How is the agent authenticated?
With a shared service token sent as an X-MCP-Token header, compared in constant time by the edge function. If the token is not configured on the deployment, the bypass simply does not exist and the site stays behind its normal sign-in for everyone.
Can I tell which changes came from the agent?
Yes. Writes that arrive through the token bypass are attributed to mcp in the row’s audit fields, alongside the timestamp — so the history distinguishes an agent edit from a person’s.
Can an agent edit a file-based timeline?
No. Only database-backed timelines are exposed. A file source is read-only on the deployment, so there is nothing for the agent to write to.