{
  "markdown": "# WhyNote MCP\n\nA zero-dependency, read-only [Model Context Protocol](https://modelcontextprotocol.io/)\nserver for searching and reading the notes in one WhyNote account.\n\n## Install\n\nGenerate a read-only token in WhyNote settings, then configure your MCP client\nto run `npx -y why-note-mcp` with `NOTE_URL` and `NOTE_TOKEN`.\n\nGeneric project configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"note\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"why-note-mcp\"],\n      \"env\": {\n        \"NOTE_URL\": \"https://note.example.com\",\n        \"NOTE_TOKEN\": \"<read-only-token>\"\n      }\n    }\n  }\n}\n```\n\nClaude Code:\n\n```bash\nclaude mcp add --scope user note \\\n  -e NOTE_URL=https://note.example.com \\\n  -e NOTE_TOKEN='<read-only-token>' \\\n  -- npx -y why-note-mcp\n```\n\nCodex CLI:\n\n```bash\ncodex mcp add note \\\n  --env NOTE_URL=https://note.example.com \\\n  --env NOTE_TOKEN='<read-only-token>' \\\n  -- npx -y why-note-mcp\n```\n\nValues written directly in a command may be retained in shell history. Edit\nthe client configuration instead if that is a concern.\n\nNode.js 18 or newer is required.\n\n## Tools\n\n- `search`: search note lines by case-insensitive substring\n- `todos`: list incomplete or all todo items\n- `read_day`: read one date's complete note and etag\n- `recent_days`: read existing note days around an anchor date\n\n## Security\n\nThe server reads `NOTE_URL` and `NOTE_TOKEN` only from its environment. It sends\nthe token only as a Bearer credential to the configured WhyNote URL. It never\nreceives the account password and exposes no write tool.\n\nChanging the WhyNote account password revokes its read-only tokens. Generate a\nnew token in WhyNote settings when a token expires or is revoked.\n\n## Development\n\n```bash\nnpm ci\nnpm test\nnpm run pack:check\n```\n\nThe test suite uses a local fake HTTP service; it does not require a WhyNote\naccount, network access, or third-party dependencies.\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 1911,
  "sha": "b14a91ade5b37d774d5c0b2a55207a21e142ae74ff46e59273e6fadd93abc856",
  "repo_slug": "coooolinz/why-note-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_coooolinz_why_note_b26b00ec/readme"
}