Connect a client
1
Add a remote MCP server
In your MCP client, add a server of type HTTP (sometimes called Streamable HTTP) and paste the server URL above. Some clients call this Add custom connector.For clients that use a JSON config file, the Cursor-style shape is:
2
Authorize in the browser
The client opens a browser tab and asks you to sign in to Manifest, then shows a consent screen listing the access the client requested. Review it and select Allow access.
3
Use the tools
The client now lists the Manifest tools. Ask it to run one — for example, “list my Manifest harnesses” — or call Diagnose the workspace to check the connection.
mcp:read scope. Add mcp:write only for clients that should be able to create and change things.
Scopes
The consent screen asks for scopes, and the tools you get depend on the scopes the token carries.
A token without
mcp:write does not merely fail on writes — the write tools are not exposed to the client at all, so a read-only connection cannot be talked into a change.
Discovery
An MCP client starts from the server URL and reads Manifest’s OAuth metadata to find the authorization server. You do not configure any of this by hand; it is listed here for reference and for debugging with tools like the MCP Inspector.
Manifest follows RFC 9728 for the protected-resource document and RFC 8414 for the authorization server. Clients are identified with Client ID Metadata Documents, the MCP 2026-07-28 profile. Anonymous dynamic client registration is disabled, so a client must be able to present a verified metadata document to register itself.
Tools
The tool names are grouped below. Each is prefixed withmanifest_. read tools are always present; write tools require the mcp:write scope.
Harnesses
Providers
Routing
Models, requests, and diagnostics
Revoke a client
Signing out of Manifest ends the browser session, and an access token stops working when it expires. To revoke a client’s access on the spot, remove its consent from your account, or rotate the harness keys it may have read. Access tokens are short-lived (15 minutes), so a revoked connection falls back to the consent screen on its next request.Self-hosted notes
- The server URL follows
BETTER_AUTH_URL. The issuer, the protected-resource identifier, and every URL in the metadata are derived from it. SetBETTER_AUTH_URLto the origin your MCP client actually reaches, then restart. A mismatch makes clients refuse the token. - Remote clients need HTTPS. OAuth metadata requires an
https://resource except on loopback. For local development the client may connect tohttp://localhost:<port>/api/v1/mcp. To connect from another machine, terminate TLS in front of Manifest and setBETTER_AUTH_URLto thathttps://origin. - Let the well-known routes through your proxy. Forward
/.well-known/oauth-protected-resourceand/.well-known/oauth-authorization-serverto Manifest. If your reverse proxy only forwards/api, discovery fails and the client never reaches the consent screen. - The OAuth tables are created on boot. Manifest runs Better Auth’s own migrations at startup, which adds the client, token, consent, and JWKS tables. No manual step is needed.