Connect a client
The server is MCP over Streamable HTTP: JSON-RPC 2.0 messages posted to one URL, authenticated with a bearer token in the Authorization header.
https://social.missless.tel/v1/mcpYou need a key first. Mint a workspace key with POST /v1/workspaces/:id/keys (see Authentication) and copy it; it is shown once.
Claude Code
Section titled “Claude Code”claude mcp add --transport http missless-social https://social.missless.tel/v1/mcp \ --header "Authorization: Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d"Then in a session: /mcp shows the server and its tools. Ask something like “list the connected accounts” to confirm it works.
Cursor, Windsurf and other JSON-configured clients
Section titled “Cursor, Windsurf and other JSON-configured clients”{ "mcpServers": { "missless-social": { "type": "http", "url": "https://social.missless.tel/v1/mcp", "headers": { "Authorization": "Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d" } } }}Put it in the client’s MCP settings file, restart, and the tools appear. Some clients call the transport streamable-http or streamableHttp instead of http; the URL and header are the same.
claude.ai custom connectors
Section titled “claude.ai custom connectors”Custom connectors in the claude.ai web and desktop apps authenticate with OAuth or not at all; they cannot send a fixed Authorization header. The MissLess server uses header auth, so it cannot be added there directly. Use Claude Code, a JSON-configured editor, or the Claude Desktop bridge below.
Claude Desktop
Section titled “Claude Desktop”Claude Desktop reads a local config and starts MCP servers as commands. Bridge to the HTTP server with mcp-remote, which forwards the header. It needs Node.js installed. Open Settings, Developer, Edit Config and merge:
{ "mcpServers": { "missless-social": { "command": "npx", "args": [ "-y", "mcp-remote", "https://social.missless.tel/v1/mcp", "--header", "Authorization: Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d" ] } }}Fully quit and restart the app after saving.
Partner key plus workspace header
Section titled “Partner key plus workspace header”If you are wiring an internal tool and want one key for many workspaces, use your partner key and name the workspace per request:
{ "mcpServers": { "missless-social-nova": { "type": "http", "url": "https://social.missless.tel/v1/mcp", "headers": { "Authorization": "Bearer mls_live_3f9ac2e8b71d4c5f9e2a7b6c1d0e", "X-MissLess-Workspace": "ws7k2m9p4q1r8t3" } } }}A partner key without X-MissLess-Workspace is rejected with validation_error; the server never guesses a workspace.
Raw JSON-RPC
Section titled “Raw JSON-RPC”For your own agent or a quick check. Three calls cover a session.
curl -s https://social.missless.tel/v1/mcp \ -H "Authorization: Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "curl", "version": "1" } } }'curl -s https://social.missless.tel/v1/mcp \ -H "Authorization: Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }'curl -s https://social.missless.tel/v1/mcp \ -H "Authorization: Bearer mls_live_8a1d4f7c2e9b6a3d5f0c8e1b4a7d" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "list_accounts", "arguments": {} } }'Tool results come back as MCP content blocks whose text is the JSON the REST API would have returned. Errors from the API are returned as tool errors with the same code and message as on REST.
If it does not connect
Section titled “If it does not connect”- 401 on every call. The key is wrong, revoked, or
Beareris missing from the header value. - Tools list is empty or the client shows nothing. The client is using a transport the server does not speak (stdio, or SSE-only). Choose Streamable HTTP, or the
mcp-remotebridge. validation_errormentioning workspace. You are using a partner key withoutX-MissLess-Workspace.forbiddenon a tool call. The workspace key does not own the object you named. Ids from another workspace are invisible.