Connect any MCP-aware AI assistant — Claude.ai, Claude Desktop, Cursor, and others — to get a create_timeline tool that renders Gantt charts inline. The server is hosted, public, and uses the standard Streamable HTTP transport. No install, no auth, no config beyond a single URL.
The Model Context Protocol is the standard AI assistants use to discover and call external tools. A remote MCP server is just an HTTPS endpoint that speaks JSON-RPC — point your client at it and the tool shows up in every chat.
This server exposes one tool, create_timeline, with the same JSON shape as the HTTP API. The agent calls it, the server renders a PNG, the chart appears inline.
| Hosted (this URL) | Self-host (stdio) | |
|---|---|---|
| Setup | Paste URL, or 1 npx line | Clone repo, npm install |
| Auth | None | None |
| Rate limit | 20 req/min per IP | None locally |
| Network hop | Yes | Optional |
| Best for | Most users | Air-gapped / private |
For Claude Pro / Team / Enterprise accounts that support custom connectors:
create_timeline tool is now available in every chat on that account.https://www.twominutetimeline.com/mcp
Use the mcp-remote bridge — a tiny shim that lets a stdio-based client talk to a remote HTTP server. Open the client's MCP config:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.cursor/mcp.jsonAdd (or merge into) this entry, then restart the client:
{
"mcpServers": {
"two-minute-timeline": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.twominutetimeline.com/mcp"]
}
}
}
Once it's loaded, ask "Make a Gantt chart for a 6-week launch with discovery, design, dev, QA, and launch phases" and the assistant will call the tool and embed the chart inline.
Run a local stdio MCP server that calls the same upstream API. Useful if you want everything local, want to point at a private timeline API, or are inside an air-gapped network.
git clone <repo-url> cd two-minute-timeline/mcp-server npm install
Then register it with your client (example for Claude Desktop):
{
"mcpServers": {
"two-minute-timeline": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/index.js"]
}
}
}
To point at a different upstream API, set TIMELINE_API_URL in the server's env block.
Verify the endpoint is reachable and discover its tools without any client at all:
curl -X POST 'https://www.twominutetimeline.com/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Returns a JSON envelope describing the create_timeline tool and its input schema.
The endpoint speaks the MCP Streamable HTTP transport (stateless). Every interaction is a JSON-RPC POST. The full handshake is:
initialize — negotiate protocol version and capabilities.notifications/initialized — client signals ready.tools/list — discover the create_timeline tool.tools/call — invoke it with a JSON payload; receive PNG image content back.Most clients handle this for you. Tool input is identical to the HTTP API request body — title, columns, unit, tasks, etc.