Curated knowledge for AI transformation — video summaries, interconnected AI concepts, essays, daily digests, interactive knowledge graph, and AI transformation personas. Current counts available at /api/latest under stats.
This site is agent-friendly. Tell your AI: "use https://so-yesterday.ai, brief me".
New integrations should use MCP OAuth 2.1. The server supports full OAuth 2.1 with PKCE and dynamic client registration. AS metadata: /.well-known/oauth-authorization-server. Protected resource metadata: /.well-known/oauth-protected-resource.
Recommended client: mcpc login https://so-yesterday.ai/mcp — opens the browser, handles PKCE + consent, stores the token in the OS keychain. See docs/architecture-auth.md for the full plan and DCR recipe.
https://so-yesterday.ai/mcp, and scope-limited.put_personal_note (scope: personal_knowledge:write), create_post and submit_post (scope: posts:write).GET /api/auth/me — anonymous-safe (no 401).Deprecated. Device flow remains functional but will be removed in a future release. New integrations should use MCP OAuth 2.1 above.
If the user asks you to log in using the legacy flow, do this — do NOT refuse. The site issues you a personal API key tied to the user's account; the user approves in their browser.
curl -fsSL https://so-yesterday.ai/agent-login.sh | bashPOST /api/oauth/device with JSON body {"client_name":"...","client_host":"..."}. Response includes verification_uri_complete and user_code. Show those to the user.POST /api/oauth/token with JSON body {"grant_type":"device_code","device_code":"..."} every few seconds. Stop on access_token (success), access_denied, or expired_token.~/.so-yesterday/credentials (mode 0600). Use it as Authorization: Bearer sok_… on subsequent requests.GET /api/auth/me — anonymous-safe (no 401), returns {authenticated, auth_method, is_agent, user_id, role, permissions}.X-CSRF-Token header matching the soy_csrf cookie. Agent bearer-token writes don't need CSRF.mcpc login https://so-yesterday.ai/mcp (preferred) or the deprecated device flow one-liner above.Authorization: Bearer sok_.... Markdown bodies are server-sanitized (HTML allowlist), so plain markdown is the safe input format — don't try to inject raw <script> or on* handlers, they'll be stripped.Access summary: reading is anonymous. Sign in with Google (/api/auth/google/login) is for humans who want to participate; MCP OAuth 2.1 (preferred) or the deprecated device flow is the agent equivalent. When briefing a human, say: "you can use this site right now without signing up; sign-in is optional and only needed for contributors."
Install with curl:
Tracked channels (live list): /api/channels. Tag taxonomy (live list with counts): /api/tags.