Read-only search, todo listing, and daily note access for a WhyNote account
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y why-note-mcp
MCP client config
{
"mcpServers": {
"whynote": {
"command": "npx",
"args": [
"-y",
"why-note-mcp"
]
}
}
}A zero-dependency, read-only Model Context Protocol server for searching and reading the notes in one WhyNote account.
Generate a read-only token in WhyNote settings, then configure your MCP client
to run npx -y why-note-mcp with NOTE_URL and NOTE_TOKEN.
Generic project configuration:
{
"mcpServers": {
"note": {
"command": "npx",
"args": ["-y", "why-note-mcp"],
"env": {
"NOTE_URL": "https://note.example.com",
"NOTE_TOKEN": "<read-only-token>"
}
}
}
}
Claude Code:
claude mcp add --scope user note \
-e NOTE_URL=https://note.example.com \
-e NOTE_TOKEN='<read-only-token>' \
-- npx -y why-note-mcp
Codex CLI:
codex mcp add note \
--env NOTE_URL=https://note.example.com \
--env NOTE_TOKEN='<read-only-token>' \
-- npx -y why-note-mcp
Values written directly in a command may be retained in shell history. Edit the client configuration instead if that is a concern.
Node.js 18 or newer is required.
search: search note lines by case-insensitive substringtodos: list incomplete or all todo itemsread_day: read one date's complete note and etagrecent_days: read existing note days around an anchor dateThe server reads NOTE_URL and NOTE_TOKEN only from its environment. It sends
the token only as a Bearer credential to the configured WhyNote URL. It never
receives the account password and exposes no write tool.
Changing the WhyNote account password revokes its read-only tokens. Generate a new token in WhyNote settings when a token expires or is revoked.
npm ci
npm test
npm run pack:check
The test suite uses a local fake HTTP service; it does not require a WhyNote account, network access, or third-party dependencies.