Skip to main content

Waypoint

Every voyage (project), every navigator (AI tool), one chart.

Dead reckoning

A dozen projects at once, and three or four AI tools taking turns at the helm: Claude Code in the morning, Codex in the afternoon, ChatGPT for the hard question at night. None of them remembers the previous watch (session). So every session starts with dead reckoning: where was this, what changed, who touched it last? Projects drift. Side work goes uncharted. Finished work never makes it into port.

Waypoint is the ship's log (one Markdown file per project) that every navigator writes to, and the chart (dashboard) that shows all of it at once.

It deals with two kinds of truth:

  • Facts (where and when): which project, which tool, when, the last commit. Waypoint harvests these automatically from the tools' own local history and from git.
  • Meaning (what and why): what got done, what's next, what's in the way. The AI tool writes this down as a short log entry, following one shared rule.

Where the two disagree, the chart says so. A tool that worked on a project but logged nothing leaves an unlogged watch (session). That's how the chart keeps itself honest, even when a tool forgets the rule.

$ waypoint fix
Fix taken (sync): 3 voyages (projects), 1 underway (active) this week, 1 hazard (attention item), 1 with unlogged watches (sessions), 1 adrift (stale), 1 uncharted (untracked folders).

That's the fictional logbook in examples/logbook/: its chart shows each case. waypoint fix also writes chart.html, the same chart as a page you open in your browser.

Take a fix

Requires Python 3.11 or newer; no other dependencies.

macOS / Linux

pipx install waypoint-mcp         # or: python -m pip install waypoint-mcp
waypoint setup                    # fitting out: logbook, roots, the rule and MCP server for each AI CLI it finds
waypoint add ~/code/my-project    # chart a voyage (project); once per project
waypoint fix                      # take a fix (sync): redraws DASHBOARD.md, dashboard.json and chart.html (--open opens it)

Windows (PowerShell)

py -m pip install waypoint-mcp
waypoint setup
waypoint add $HOME\code\my-project
waypoint fix
  • waypoint not found? Its install folder isn't on PATH, and AI tools need it there too (they start waypoint mcp). Installed with pipx: run pipx ensurepath, then open a new terminal. Installed with pip: add the scripts folder pip warned about to PATH; until then python -m waypoint … (Windows: py -m waypoint …) runs it with that same Python.
  • setup shows every file it would change and asks once. It remembers the logbook, so later commands need no --logbook. It never edits your own CLAUDE.md or AGENTS.md text: it adds Waypoint's own file or a marked block, and waypoint rules --uninstall removes exactly those.
  • Make the logbook a private git repo, then waypoint fix --push pulls, redraws, commits only logbook data, and pushes.
  • From a clone of this repo: python -m pip install -e .

Who's aboard

Navigator (AI CLI) Tier What Waypoint wires
Claude Code Supported the rule, the local MCP server, session facts
Codex (CLI and desktop) Supported the rule, the local MCP server, session facts
Gemini CLI Preview the rule, the local MCP server
GitHub Copilot CLI Preview the rule, the local MCP server
Cursor, Windsurf, Kiro, Cline, Claude Desktop, Goose, opencode, Amp Snippet waypoint connect <cli> prints the config to paste; writes nothing
ChatGPT Beacon remote MCP server you host (Raise the beacon)
  • The rule tells the tool to add a log entry after meaningful work. The local MCP server (waypoint mcp, stdio) gives it three tools: take_fix (the overview), read_chart (one project), log_watch (append one log entry, with the tool's own id, under a lock).
  • waypoint connect <cli> wires one CLI at any time. MCP servers are registered through each CLI's own mcp add command. An existing server already named waypoint is never replaced; --no-mcp installs only the rule.
  • waypoint rules reports each tool's rule: in sync, drifted, missing, or shadowed (Codex reads an AGENTS.override.md instead).
  • Known limits: Claude Code deletes transcripts after 30 days by default. The Claude Code and Codex history formats are unofficial; the chart's source health says when a reader breaks.

Reading the chart

On the chart Plain meaning
Voyage: underway / coasting / at anchor / in port project: active / occasional / paused / done
Hazards - Attention: lines, plus drifted rules and unreadable sources
Unlogged watches AI sessions after the day of the project's last log entry
Adrift idle past its threshold (21 days if active, 60 if occasional)
Uncharted waters folders with recent AI activity but no project file
Harbour projects/_archive/: finished voyages, never deleted

Waypoint never changes a project's Status, never archives, and never writes a log entry on its own: it flags, and you decide.

Privacy

  • Nothing leaves the machine on its own. The engine has no listener, sends no network requests, and keeps no telemetry. --push runs git against the remote you configured.
  • The local MCP server answers only the AI tool that started it. That tool sends the results to its model provider, as it does with anything it reads. Results hold project names, statuses, Summary, Done, Next and recent log entries. Attention lines are left out unless waypoint.toml sets [mcp] include_attention = true. Session titles, file paths, untracked folders and the feed are never returned.
  • Log text is free text: what you or your tools write there goes wherever those results go. Returned text is data for the tool, never instructions.

The three hulls

Hull What Where
Engine This repo: the spec, the waypoint CLI, templates, tests installed from PyPI
Logbook Your data: one Markdown file per project, plus the chart its own private git repo
Playground Experiments and prototypes wherever you like

They're never mixed: the engine ships, and the logbook stays yours.

Raise the beacon

ChatGPT keeps no local history and can't start a local server. The beacon (beacon/, advanced) is a remote MCP server you host on Cloudflare Workers behind GitHub OAuth, answering only to your GitHub account. take_fix and read_chart read the chart; log_watch appends one chatgpt log entry to the logbook repo. Setup takes a Cloudflare account, a GitHub OAuth app and a fine-grained token: beacon/README.md. Without it, paste a ChatGPT summary into the project's file as a chatgpt entry.

Spec

The logbook format, the rule, the chart's JSON and every access contract are in docs/LOGBOOK-SPEC.md (v1.1). The story's glossary and voice are in docs/STORY.md.

Development

python -m unittest                # stdlib only
python examples/build.py --check  # the example chart (Linux or macOS)
cd beacon && npm test             # the beacon

Design decisions are in docs/decisions/; the release plan is docs/release/R0-SCOPE.md.

Metadata

Release files for waypoint-mcp 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for waypoint-mcp 0.2.1
File Size Uploaded
waypoint_mcp-0.2.1.tar.gz 86.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for waypoint-mcp 0.2.1
File Interpreter ABI Platform
waypoint_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 151.7 kB

Release files / waypoint_mcp-0.2.1.tar.gz

Download URL waypoint_mcp-0.2.1.tar.gz
Size 86.8 kB
Tags Source
SHA-256 checksum
How to use checksums
250a5598722a7990dd78bb27be800cf83f97ee22591d44e936e2d935c9e9c0bf
BLAKE2b-256 checksum
How to use checksums
19eca4fb909e2663e36853491b675ac5c9f57f47cddbf5c126613336cbab1391
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / waypoint_mcp-0.2.1-py3-none-any.whl

Download URL waypoint_mcp-0.2.1-py3-none-any.whl
Size 64.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3fbc1bedcc60f6d4b3b3dc3d73ed76fb72b9ce1f53332d56b617a35da1c28bf
BLAKE2b-256 checksum
How to use checksums
f8f7f199a754eb0147b5804ece46a5b6cec44f6622f5ea10ce70b96c66e91437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page