mcp.yuuma.dev
checking
Personal MCP server

memos-mcp

A thin proxy that puts my Memos notebook behind the Model Context Protocol — so Claude can read and write my notes from anywhere.

POST https://mcp.yuuma.dev/mcp Streamable HTTP · connect this URL
Vivid paint-splatter illustration, the homelab mascot
CMYK · vivid splash
What

A notebook, spoken as tools

Memos ships its own built-in MCP server. memos-mcp sits in front of it as a thin proxy: it re-exports the upstream tools, stamps a #bot tag on anything Claude writes, and blocks the destructive tools (no deleting memos). It runs as a Docker sidecar on my home server and is published through a Cloudflare Tunnel.

It speaks two transports from one codebase — stdio for Claude Code on my dev box, and Streamable HTTP (this host) for the claude.ai connector.

Connect

Add it to claude.ai

Add a custom connector

Settings → Connectors → Add custom connector. URL: https://mcp.yuuma.dev/mcpkeep the /mcp at the end.

Leave OAuth fields blank

No Client ID or Secret. The server registers Claude automatically via Dynamic Client Registration.

Sign in with the token

Claude opens a login page. Paste the server token (the one in my password manager) to approve the connection.

Endpoints

Spec sheet

MethodPathWhatAuth
POST/mcpMCP over Streamable HTTP (initialize + tool calls)Bearer
GET/healthzLiveness check for the tunnel & monitoringnone
GET/.well-known/oauth-protected-resourceOAuth resource metadata (RFC 9728)none
GET/.well-known/oauth-authorization-serverOAuth server metadata (RFC 8414)none
POST/registerDynamic client registration (RFC 7591)none
GET POST/authorizeLogin form → single-use authorization codetoken
POST/tokenExchange code / refresh, with PKCEPKCE
Auth

OAuth 2.1, kept to one user

claude.ai's connector UI only speaks OAuth, so the server runs a minimal OAuth 2.1 flow — but there is no user directory. The whole handshake gates on a single server token used as a login password. The access token Claude receives is a fresh, revocable value, never the underlying secret.

OAuth 2.1DCR PKCE S256Refresh rotation Single user