{
  "markdown": "# Notes — a notebook your AI writes in\n\nA daily bullet notebook for [Notes](https://notes.jpwilliams.dev) — as a Claude Code plugin, as a\nstandalone Agent Skill for every other client, and as a plain MCP URL for anything that reads one.\n\nYour AI keeps notes in **your** notebook, on its own initiative: on today's page, tagged into the same\nentity graph as everything you write, marked so you can always tell whose bullet is whose. Weeks later\nyou open a project's page and your notes and its notes are on one page, in date order. And the next\nsession reads it back, so you do not re-explain.\n\nIt is not a memory database. There is no vector index, no eviction policy, no hooks, no\nbring-your-own-Postgres. The memory is a bullet in a notebook you already read, correctable by hand,\nwith a link back to the conversation that produced it.\n\n## Install\n\n### Claude Code\n\n```\n/plugin marketplace add jpwilliams/notes-skill\n/plugin install notes@notes-skill\n```\n\n### Cursor, VS Code, Codex, Gemini CLI, Antigravity, Amp, OpenCode, Warp…\n\nThe skill and the connection are separate here, because these clients read the open\n[Agent Skills](https://agentskills.io) format and take an MCP server URL of their own.\n\n```\ngh skill install jpwilliams/notes-skill\n```\n\nThat installs into `.agents/skills/`, the vendor-neutral path they share — so it is one command\nregardless of which of them you use. (`npx skills add jpwilliams/notes-skill` does the same thing if\nyou would rather not use the GitHub CLI.) Then add the MCP server:\n\n```\nhttps://notes.jpwilliams.dev/api/v1/mcp\n```\n\n### Anything else\n\nAny client that speaks remote MCP can use that URL directly, with no package and nothing installed —\nit discovers the rest itself. [notes.jpwilliams.dev/install](https://notes.jpwilliams.dev/install)\nhas the per-client instructions.\n\n### What happens next, whichever route you took\n\nA browser opens. Sign in to the account you already have, read what the connection will be able to\ndo, and **give it a name** — that name is what appears on every bullet it writes, so make it the thing\nyou would want to read in the middle of a day's notes. \"Work laptop\" beats \"Claude\".\n\nThat is the whole setup. No key to issue, no key to paste, no keychain, no `claude mcp add` and no URL.\nYou can disconnect it at any time from the **🔑 Machine access** page at\n[notes.jpwilliams.dev](https://notes.jpwilliams.dev), and it stops working immediately.\n\n## On the desktop app and the website\n\nThe same connection, without the plugin. Add Notes as a custom connector using the URL\n`https://notes.jpwilliams.dev/api/v1/mcp` — the app discovers the rest and sends you to the same screen\nto approve it and name it. The plugin is worth having in the terminal because it carries a skill that\nteaches Claude _when_ to reach for the notebook; the connector on its own carries the tools and a\nshorter version of the same guidance, sent by the server itself.\n\n## What it can do\n\nFour tools, and a skill that teaches an agent when to reach for them.\n\n| Tool            | What it does                                                                                                         |\n| --------------- | -------------------------------------------------------------------------------------------------------------------- |\n| `list_entities` | The shelf: every project, person and topic, most recently mentioned first.                                           |\n| `get_entity`    | One entity's page — its description, recent mentions with their sub-bullets, what it co-occurs with, its open todos. |\n| `get_day`       | One day's page as markdown, plus its bullets with ids.                                                               |\n| `append_note`   | Add bullets to a day.                                                                                                |\n\n## What it deliberately cannot do\n\n- **Append only.** It can never edit or delete anything — not your text, not another agent's, not its\n  own. A correction is a new bullet, which is what a notebook does anyway.\n- **Existing entities only.** A `#tag` naming an entity that does not exist rejects the whole call\n  rather than being silently dropped. Renaming and merging do not exist yet, so a typo would be a\n  permanent wrong shelf in an index you actually read. You create a project's entity once, by hand.\n- **No corpus search.** Every read is bounded by shape rather than by a cap, which is what makes\n  reading a project cost the same on a decade of notes as on a month.\n\n## What it reads\n\n**Your whole notebook** — every day, every entity, every todo, including notes lifted out of meeting\ntranscripts. That is what you are approving on the consent screen, and it says so in those words.\n\nAppend and read are all it gets, enforced on the server at the point the data is read rather than as a\nline in a tool description that a model may or may not honour.\n\n## What you see\n\nEvery bullet an agent writes is **visible in your day view and marked** with the name you gave that\nconnection. Hover for the credential, the moment it wrote, and whatever the agent said about itself —\nits vendor, its model, the conversation it came from. Those last ones are self-reported and labelled as\nsuch; the name and the timestamp are ours, which is the whole reason you name it rather than the\napplication naming itself.\n\n**The mark records origin and never clears.** Editing an agent's bullet by hand does not make it\nyours — tidying one is the normal case, and a mark that vanished on first touch would be gone from\nmost of them within a week. Deleting the bullet is the correction gesture.\n\nIf you would rather read your day without them, 🔑 Machine access has a switch. Hidden runs leave a\ncount behind where they were, so a day never quietly pretends nothing was written. The same page lists\nevery connection and disconnects one instantly — notes it already wrote stay exactly where they are,\nstill marked with the name you gave it.\n\n## Requires\n\nA Notes account. The app is at [notes.jpwilliams.dev](https://notes.jpwilliams.dev).\n\n## Licence\n\nMIT.\n",
  "bytes": 6088,
  "sha": "1c5a67972c55e1ab43149770725a44dad5bff6f11323b3131d938498df805e70",
  "repo_slug": "jpwilliams/notes-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_dev_jpwilliams_notes_notes_316baccd/readme"
}