notefeed 0.6.0
Released 2026-10-01 · on GitHub
An MCP endpoint, with OAuth login for locked instances.
MCP
- AI assistants can post and read notes at
/mcp. Three tools:post_note,list_notesandget_note. The feed name is a parameter of each tool, so one endpoint serves every feed. Posting follows the same rules as the HTTP API: size limit, rate limit, caps, and the first post creates the feed. - Claude Code:
claude mcp add notefeed --transport http https://notes.example.com/mcp. On an instance with a password, add--header "Authorization: Bearer <password>". - Claude.ai and Claude Desktop: add a custom connector with the
/mcpURL. - The endpoint speaks MCP 2026-07-28 and nothing older. An older client gets a
400naming the supported version.
OAuth 2.1 login
- For clients that can't send a header. On an instance with a password, a connector opens notefeed's own login page, which names the client and the host it returns to. Enter the instance password and press Allow. On an open instance these endpoints answer
404. - Nothing is stored. Client ids, codes and tokens are signed with a key derived from the server secret and the password. Changing
NOTEFEED_PASSWORDsigns every client out. - Lifetimes: a code lasts 5 minutes and works once, an access token 1 hour, a refresh token 30 days and is replaced each time it's used.
- OAuth needs the instance's public
https://address: setPUBLIC_URL, orNOTEFEED_TRUST_PROXY=1behind a reverse proxy.
Changed: forwarded headers need NOTEFEED_TRUST_PROXY
- Without
PUBLIC_URL, notefeed used to build links fromX-Forwarded-ProtoandX-Forwarded-Hoston any connection, so a client could pick the host in RSS links, API responses and redirects. It now uses them only withNOTEFEED_TRUST_PROXY=1, and otherwise theHostheader overhttp. - Behind a reverse proxy without
PUBLIC_URL: setNOTEFEED_TRUST_PROXY=1orPUBLIC_URL, or links will come out ashttp://.
Client packages 0.6.0 (PyPI and npm notefeed)
- No changes since 0.5.0. The version follows the release.
Under the hood
oauthis a reserved feed name.- ADR 0007 records the MCP endpoint and OAuth decisions.