Connecting every app to every other app Val Town, a vibe coding platform, has implemented Dynamic Client Registration (DCR) and Client ID Metadata Documents (CIMD) to enable any app to dynamically authenticate and authorize any other app, solving the n² problem of connecting every app to every other app. The company created std/oauth, a middleware library that adds 'Login with Val Town' OAuth in two lines of code, and its MCP server/plugin supports OAuth from Claude and ChatGPT. I've long envied Zapier's extensive connectors library. I wish our app – Val Town https://val.town/ , a vibe coding platform – could one-click connect to every app. zapier.com/apps https://zapier.com/apps This is a classic n² problem, connecting every app to every other app. My dream has always been that there could be some protocol by which any app could dynamically authenticate and authorize any other app. Is OAuth that protocol? Almost Registering OAuth Clients The core n² problem remains: every app still needs to register as an OAuth client for every other app. At best, registering an OAuth client is 5 minutes of clicking around a developer portal. But you never know. It can mean filling out some forms, making a demo video, signing paperwork, or, horror of horrors, getting on a video call. It's a ad-hoc, manual headache. And we all have to do it for every single app our users want to connect to. But there's reason for hope Anthropic and OpenAI saw this problem coming. They need a way to connect to all their customers' apps, but they didn't want to get all those OAuth clients. So they put a little-known OAuth extension into the spec for MCP https://modelcontextprotocol.io/specification/draft/basic/authorization/client-registration : Dynamic Client Registration DCR https://www.rfc-editor.org/info/rfc7591/ . Dynamic Client Registration DCR DCR automates the client registration problem. Instead of requiring a human to manually get an OAuth client, your app dynamically provisions one, and then immediately starts the OAuth flow to this app it had never heard of before . This is the dream At my startup Val Town https://val.town/ , we learned about DCR while building our MCP server / plugin https://docs.val.town/guides/prompting/plugin , which is what enables you to OAuth into Val Town from Claude and ChatGPT. But the benefits don't end with just Claude and ChatGPT. Any app can dynamically register an OAuth client with Val Town, and connect to their users' Val Town accounts. Login with DCR For example, on top of this primitive, we created std/oauth https://www.val.town/x/std/oauth , a middleware library that adds "Login with Val Town" OAuth to your Val Town app in 2 lines of code. This is literally a whole app: js / @jsxImportSource https://esm.sh/hono/jsx / import { Hono } from "https://esm.sh/hono"; import { getOAuthUserData, oauthMiddleware, } from "https://esm.town/v/std/oauth/middleware.ts"; const app = new Hono ; app.get "/", async c = { const session = await getOAuthUserData c.req.raw ; return c.html