Skip to main content
Glama

Create timeline draft

create_timeline

Create a timeline draft from a build brief with configurable acts, axes, filters, and relations. Turn your project materials into an interactive, filterable timeline for offline use or web publishing.

Instructions

Create a timeline draft from the build brief (Flow 2 §B–§I). brief: {title, subject?, timeline_id?, columns?: 3|5, node_noun?, period_noun?, accent?, entity_axis_label?, entity_axis_singular?, acts: [{label, short?, color?}] (2-7), mode?: 'linear'|'outline' — 'linear' (default) flows nodes through the bands in sequence; 'outline' makes them concepts that CONTAIN one another, one family per band, structure carried by node parent, §D-Outline, axes?: [{label, singular, hide_nav?: bool, values:[{id,name,...}]}] (≤2; hide_nav drops the axis from the nav bar, drawer and legend but KEEPS its card chips and detail pages, and labels those chips with the value name — right for a large uncapped axis such as a course's cases), filters?: [{id, label, source: 'entity'|'axis1'|'axis2'|'acts'|'coverage'|'depth'|'custom', values?: [{id,name}] (custom source only, 2-10), replace_nav?: bool}] (≤2; 'coverage' = auto Solid/Thin from node density; 'depth' = auto Level 1/2/3+ from the containment structure), relations?: [{key,label?,color?}] ('spine' = neutral main thread; other relations get distinct palette colors when color is omitted, so their lines stay tellable apart from the spine. Each label is user-visible: it appears in the on-page line key (desktop nav + mobile drawer) next to a swatch of its line color, for every relation a connection actually uses — so keep labels short, e.g. 'Overrules'), overview_html?, owner_name?, owner_email?}. Filters add canvas filter chips that dim non-matching nodes (they never navigate). Derived sources (entity/axis1/axis2/acts) mirror that dimension's values and assign nodes automatically; 'custom' declares its own values and each node picks one via its filters map in add_nodes. replace_nav makes a mirrored axis1/axis2 filter-only — nav chips, drawer section, legend dot, and per-node card chips are all suppressed (no reachable detail pages) — recommended when that axis has no authored detail sections. On source 'entity' it only swaps the nav chips. period_noun names the horizontal bands on the homepage tile ("Unit", "Act", "Era", …); omit it and the label is derived from the project kind (studying→Unit, writing→Act, research→Phase, default Unit). Entities are set separately via set_entities. Returns validation warnings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
briefYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.4.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description explains mode semantics, filter behavior, hide_nav/replace_nav effects, period_noun fallback, and that it returns validation warnings. One gap is that the optional timeline_id inside brief is not explained in terms of whether it creates a new draft, updates, or references an existing timeline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but justifiably so: it is the only documentation of the nested brief object. It is front-loaded with the primary action, then uses a compact, field-oriented structure that avoids filler while packing in rich behavioral details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 0% schema coverage and no output schema, the description is nearly complete: it covers the full brief structure, edge cases like replace_nav, and the return of validation warnings. It relies on external references like 'Flow 2 §B–§I' and does not define timeline_id's effect or the format of validation warnings, which keeps it just short of fully self-contained.

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

Parameters5/5

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

The input schema provides almost no detail for brief (0% coverage), and the description compensates comprehensively by documenting every brief field, type, cardinality, and behavioral nuance. project_id is not separately described, but its role is evident from the name and the tool context.

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 opens with a specific verb and resource: 'Create a timeline draft from the build brief (Flow 2 §B–§I)'. It clearly states what is produced and even notes that entities are set separately via set_entities, which avoids overlap with a sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used to create the initial timeline draft from a build brief, and it explicitly routes entity assignment to set_entities. However, it does not explicitly differentiate create_timeline from similar siblings like build_timeline or publish_timeline, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lukebmandel-debug/alto-connector'

If you have feedback or need assistance with the MCP directory API, please join our Discord server