Build an MCP Client for Tape
This page is for developers building an MCP client, or adding Tape support to one. Tape follows the MCP authorization specification, so a client that implements it connects without anything Tape-specific.
Requirements at a glance
| Requirement | What Tape uses |
|---|---|
| Endpoint | https://mcp.tapeapp.com/mcp |
| Transport | Streamable HTTP — JSON-RPC 2.0 over POST. There is no SSE endpoint |
| Authorization | OAuth 2.1 authorization code flow with PKCE (S256) — the only supported flow |
| Discovery | Protected resource metadata (RFC 9728), then authorization server metadata (RFC 8414) |
| Client registration | A client ID metadata document or dynamic client registration (RFC 7591) |
| Credential | A bearer access token on every request, renewed with a refresh token |
How a client connects
- Discover. Without a token, Tape answers
401and points to its protected resource metadata, which names Tape's authorization server and the scopes the Tape MCP tools use. - Register as a public client — see Register a client yourself.
- Authorize with PKCE, requesting the scopes from the protected resource metadata. The user signs in to Tape and approves — see the authorization flow.
- Call tools with the access token, and refresh it when it expires.
- Step up when a tool needs a scope the connection lacks: Tape answers
403naming the scopes to request — see Asking for more scopes.
The scopes are described in Capabilities and Scopes. The same access token also works at the Developer API. Clients that cannot run OAuth can send a personal access token as the bearer token instead.
Related
- OAuth overview — endpoints, supported flows and token formats
- Register a client — metadata documents, dynamic registration and redirect URIs
- The authorization flow — every request, refreshing, step-up and errors
- Connect to Tape MCP — what signing in looks like for a user, and troubleshooting
- Supported tools — what each tool does and which scope it needs