Connecting an MCP client
The clearance.rest MCP server lets an AI agent rent phone numbers and read their SMS, read email, solve captchas, manage webhooks and check the balance of one project. The endpoint is:
https://mcp.clearance.rest/mcpIt speaks Streamable HTTP, so any client that supports remote MCP servers works. There are two ways to authenticate. Both give the agent only the tools you allow, and both respect your spend limits.
- Sign in with your account (OAuth). The client opens a page on the clearance.rest console where you choose the project and the tools, then approve. There is nothing to copy.
- Use a token. In the console, open MCP and create a token for a project: pick its tools and optional
daily and monthly spend limits. The token (
cr_mcp_...) is shown once. The client sends it asAuthorization: Bearer <token>.
Tools that spend money (rent_number, resolve_captcha, wait_for_email) are not selected by default. You can
edit a token’s tools or limits, or revoke it, at any time in the console under MCP; the change applies to the very next
call. A token or sign-in also stops working if its owner leaves the project’s team.
Open Settings, then Connectors, choose Add custom connector, enter https://mcp.clearance.rest/mcp and
select Connect. Claude.ai signs you in with OAuth (custom connectors do not take a static token): choose the
project and the tools on the clearance.rest consent page and approve.
# OAuth: add the server, then run /mcp inside Claude Code and choose "Authenticate"claude mcp add --transport http clearance-rest https://mcp.clearance.rest/mcp
# or with a tokenclaude mcp add --transport http clearance-rest https://mcp.clearance.rest/mcp \ --header "Authorization: Bearer cr_mcp_..."Add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project. Cursor starts the OAuth flow when the
server asks for it.
{ "mcpServers": { "clearance-rest": { "url": "https://mcp.clearance.rest/mcp" } }}With a token instead of OAuth:
{ "mcpServers": { "clearance-rest": { "url": "https://mcp.clearance.rest/mcp", "headers": { "Authorization": "Bearer cr_mcp_..." } } }}Any client with Streamable HTTP support works, for example the MCP Inspector:
npx @modelcontextprotocol/inspector# Transport: Streamable HTTP, URL: https://mcp.clearance.rest/mcp# Authentication: header "Authorization: Bearer cr_mcp_..."How OAuth works
Section titled “How OAuth works”You do not have to implement this to use a client that supports it; it is here for client authors.
The server publishes OAuth protected resource metadata at /.well-known/oauth-protected-resource and names
https://services.clearance.rest as its authorization server. A request without credentials gets 401 with a
WWW-Authenticate header pointing at that metadata. From there a client registers itself dynamically
(POST /oauth/register), sends the user through /oauth/authorize with PKCE (S256), and exchanges the code at
POST /oauth/token. The access token expires after an hour and is renewed with the refresh token, which lasts
30 days. A connection can be revoked in the console under MCP.
Check the connection
Section titled “Check the connection”Ask the agent to run get_balance. It returns the team balance and the project’s spending and limits. A token or
sign-in that was revoked, expired or lost access to the project’s team answers 401.