Install a component
Run from your app root:
The CLI also installs
registryDependencies, such as theauth-base. Files land in components/theauth/. Import from @glinr/theauth-react and wrap your app in TheAuthProvider. These are the items theauth add installs. For packaged versions, see UI components.
Rebuild the registry
After changing a component:content. Source: packages/ui/src/components. registry/registry.json is an index with no content, so do not pass it to shadcn add. To check that every item has content:
Publish to the MCP Registry
The@glinr/theauth-mcp package ships server.json at packages/mcp/server.json. The Registry stores metadata only, so publish the npm package first.
Bump both versions in
server.json on every publish.
1
Publish the npm package
2
Install mcp-publisher
https://github.com/modelcontextprotocol/registry/releases/latest.3
Validate
4
Log in
https://github.com/login/device and enter the code shown. You must be able to act for the glincker organization.5
Publish
6
Confirm
Namespaces
For a domain namespace, make an Ed25519 key and publish the public key as a TXT record on the apex (or serve
v=MCPv1; k=ed25519; p=<PUBLIC_KEY> at https://example.com/.well-known/mcp-registry-auth):
Common errors
- “You do not have permission to publish this server”: the
nameprefix does not match your login namespace. - “Invalid or expired Registry JWT token”: run
mcp-publisher login githubagain. - “Registry validation failed for package”:
mcpNameis missing or differs fromname, or the version is not on npm.
Limits
- The Registry is in preview. Check its docs if a step fails.
- On macOS, use Homebrew OpenSSL 3. The system
opensslcannot make Ed25519 keys. - Changing the namespace means updating
nameandmcpNametogether.