Skip to main content
Manifest runs a remote Model Context Protocol server. Any MCP client — Claude, Cursor, VS Code, and others — can connect to it, sign in with your Manifest account, and manage your workspace with tools: list harnesses, connect providers, change routing, read the request log, and more. The server speaks MCP over HTTP and authenticates with OAuth 2.1. The client discovers Manifest’s authorization server on its own, opens a browser consent screen the first time, and then holds a short-lived, revocable, workspace-scoped token.
The tools act on the workspace of the user who authorized the client. They are tenant-scoped exactly like the dashboard and the API: a token can never see or change another workspace.

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.
If the client supports read-only connections, keep it to the 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 with manifest_. 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. Set BETTER_AUTH_URL to 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 to http://localhost:<port>/api/v1/mcp. To connect from another machine, terminate TLS in front of Manifest and set BETTER_AUTH_URL to that https:// origin.
  • Let the well-known routes through your proxy. Forward /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server to 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.

Troubleshooting