Get started

Authentication

Sign in with OAuth from your client, or send an API key. Both spend one workspace's credits.

Manifold takes two kinds of credential. Both go to https://mcp.manifoldmcp.com/mcp as a bearer token, and both spend the credits of one workspace.

OAuthAPI key
ForChat apps and coding agents that can sign inScripts, CI, and clients that cannot run OAuth
HowYour client opens a browser and you sign inCopy a key from the app and send it as a header
SpendsYour personal workspace's creditsThe credits of the workspace that made the key

#OAuth

Most clients find the sign-in by themselves. The server publishes its OAuth metadata (RFC 9728) and the client runs OAuth 2.1 with PKCE:

TEXT
https://mcp.manifoldmcp.com/.well-known/oauth-protected-resource/mcp

You see the Manifold sign-in page. Sign in with Google or email and approve the client. The first sign-in creates your account with 500 free credits.

#API keys

The dashboard at app.manifoldmcp.com has a key ready to copy. Make more keys, and revoke them, on the API keys page. Send a key in the Authorization header:

HTTP
Authorization: Bearer mk_live_...

A key you make on the API keys page is shown once. Manifold keeps only a hash of it, so a lost key cannot be recovered: revoke it and make another. A revoked key can keep working for up to a minute while the change reaches every data centre.

#Workspaces

Credits, keys, usage and billing belong to a workspace, not to a person, so a team shares one balance and one set of keys. Sign-up creates a personal workspace, and the account menu in the app switches between workspaces.

OAuth spends your personal workspace's credits. To spend a team workspace's credits from a client, use an API key made in that workspace.

#Turn tool groups off

The app's Tools page has a switch for each tool group. A group that is off is not in the tool list your clients see, and the change reaches the server within a minute. get_task has no group and is always there, so a task that already started can still be read.

#When a request is refused

A missing or bad credential gets HTTP 401 with a WWW-Authenticate header that points at the OAuth metadata. The error_description says why:

DescriptionWhat to do
Bearer token requiredSend a token, or sign in from your client
API key is unknown or revokedCopy a current key from the app
OAuth token is invalid or expiredSign in again from your client