# Chronlines

> Chronlines (https://chronlines.com) turns any story into a timeline you can zoom into. AI assistants can build a Chronlines timeline for a person: write the events in the CSV format below, and the person pastes your reply into Chronlines (Build with AI, or Import with a .csv file). Every row is validated exactly like an event typed in by hand.

Human-readable version: https://chronlines.com/ai

## How it works

1. The person signs in to Chronlines (free), creates or opens one of their timelines, and chooses "Build with AI".
2. They ask you for a timeline of a topic. You reply with the events as CSV in one ```csv code block.
3. They paste your whole reply into Chronlines. Rows already on the timeline (same title and start date) are skipped, so a follow-up batch can be added safely.

If the person asks for more events or a correction, send a new CSV containing only the new or corrected rows. To correct an existing event, ask them to edit or delete it in the app, because importing never overwrites.

## Chronlines import format (CSV)

The first line is this header, exactly:

title,date,end_date,tier,tags,description,source_url

One event per line after that. Columns:

- title (required): short event name, at most 200 characters.
- date (required): when it happened or began. See "Dates" below.
- end_date (optional): when it ended, for events that span time (a war, a reign, a life). Leave empty for single moments.
- tier (optional, default 1): importance. 1 = always shown (the key events, roughly 1 in 5); 2 = shown when the reader zooms in; 3 = fine detail shown when zoomed in further.
- tags (optional): up to 20 short labels separated by semicolons, e.g. war;politics. Reuse a small set of tags across the timeline so readers can filter by them.
- description (optional): one or two plain sentences, at most 2000 characters. No Markdown. Always wrap it in double quotes, even without a comma, so a comma can never spill it into the next column.
- source_url (optional): one full web address to a reliable source, starting with https:// (or http://), e.g. https://en.wikipedia.org/wiki/Apollo_11. Write the bare address only: not www.example.com without https://, not a Markdown link like [NASA](https://...), no angle brackets, no trailing period, no second URL. Never write a source name ("Wikipedia", "NASA") or a citation instead of a URL. If you don't have a specific URL you are confident exists, leave the field empty.

CSV rules: every line has exactly 7 fields (6 commas outside quotes), even when the last ones are empty. Separate fields with commas. Wrap a field in double quotes if it contains a comma, a double quote or a line break, and write a double quote inside a quoted field as "". Leave optional fields empty rather than writing "none" or "n/a". At most 5,000 events per import.

### Dates

Prefer ISO forms, as precise as the facts allow and no more:
- Day: 1969-07-20   Month: 1969-07   Year: 1969
- Before the common era: 44 BCE, 500 BCE, 66000000 BCE (never a bare negative number like -500)
- Approximate: c. 1450   Uncertain: 1450?
- Decade: 1960s   Century: 20th century, 5th century BCE   Season: spring 1969
- Ongoing or open-ended: leave end_date empty.
Times of day are not supported. A bare year means the whole year, not January 1, so don't invent a month or day you don't know.

## Quality

- Be accurate. Use well-established dates; if historians disagree, use "c." and say so in the description.
- Cover the whole span of the topic, not just the famous moments, and put events in chronological order.
- Use end_date for things that last (lives, reigns, wars, eras) so they draw as spans.
- Don't repeat an event, and don't add filler events to reach a number.
- Write neutral, factual descriptions in your own words.

## Example

```csv
title,date,end_date,tier,tags,description,source_url
Apollo program,1961-05-25,1972-12-19,1,program,"NASA's crewed Moon program, from Kennedy's address to Congress to Apollo 17.",https://www.nasa.gov/the-apollo-program/
Apollo 11 Moon landing,1969-07-20,,1,mission;landing,"Neil Armstrong and Buzz Aldrin become the first people to walk on the Moon.",https://en.wikipedia.org/wiki/Apollo_11
Apollo 13,1970-04-11,1970-04-17,2,mission,"An oxygen tank explodes on the way to the Moon; the crew returns safely.",
Plans for a crewed Mars mission,2030s,,3,future,"NASA's long-range goal, still tentative (""Moon to Mars"").",
```

## Direct connection (MCP)

Chronlines has a hosted MCP server at https://chronlines.com/mcp (Streamable HTTP). With it, an assistant creates and edits the person's timelines directly, with no copying and pasting. There are two ways to connect:

- Sign in (OAuth 2.1): in Claude, ChatGPT and other apps with connectors, the person adds a custom connector with the URL https://chronlines.com/mcp, signs in to Chronlines and allows read or write access. In ChatGPT, custom servers need a Business, Enterprise or Edu workspace (Plugins, then Add custom MCP server). Clients find everything through https://chronlines.com/.well-known/oauth-protected-resource/mcp (authorization code flow with PKCE; clients may register dynamically or use an https client ID metadata document; scopes: read, write; offline_access is accepted, and every client gets a refresh token).
- Access token: for tools that take a header instead, the person creates a token in Chronlines (Your account > Connect your AI) and adds the server, for example in Claude Code:

```
claude mcp add --transport http chronlines https://chronlines.com/mcp --header "Authorization: Bearer <token>"
```

Tools:

- list_timelines: the person's timelines and ones shared with them
- get_timeline: a timeline and its events; also works for public timelines
- create_timeline: a new private timeline, optionally with its first events
- update_timeline: title, description, category, visibility
- add_events: up to 500 events at a time; duplicates are skipped
- update_event: change some fields of one event
- delete_event: delete one event
- delete_timeline: move a timeline to the Trash, restorable for 30 days

Events sent through MCP use the same fields and date rules as the CSV format above (start and end instead of date and end_date).

## Links

- App: https://chronlines.com/app
- Guide for people: https://chronlines.com/ai
- Acceptable use: https://chronlines.com/acceptable-use
