socket.help

Your workflow. The same toolbox.

Connect from a terminal, application, or agent with the same resources, permissions, and hosted allowances.

HTTP & cURL

Call the API from any language, shell, or CI job. No client library required.

Omit the Authorization header for anonymous use. Discover tool IDs with GET /api/tools. Hosted calls send your input to the server.

HTTP & cURL example
curl https://socket.help/api/tools/json/run \
  -H "Authorization: Bearer $SOCKET_HELP_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"input":"{\"hello\":true}","options":{"action":"format"}}'

TypeScript SDK

Typed methods for utilities, resource creation, inspection, and cleanup.

The SDK is a workspace package, not a published npm install. From the repository, run pnpm build:packages, then pnpm --filter @socket-help/sdk pack to create an installable tarball.

TypeScript SDK example
import { SocketHelp } from '@socket-help/sdk';

const socket = new SocketHelp({
  apiKey: process.env.SOCKET_HELP_API_KEY,
});
const result = await socket.run('json', '{"hello":true}');
const inbox = await socket.createInbox({ visibility: 'private' });

Command line

Pipe input in, get JSON out, and use exit codes in automation.

Build repository packages with pnpm build:packages and use pnpm cli --help locally. Package the CLI with pnpm --filter @socket-help/cli pack. Set SOCKET_HELP_URL for your installation. Errors go to stderr with a nonzero exit code.

Command line example
export SOCKET_HELP_API_KEY='your-key'
printf '{"hello":true}' | socket-help run json
socket-help inbox create
socket-help resources
socket-help api GET /api/account/resources

SSH gateway

Run toolbox commands over an authenticated SSH connection.

The optional Docker gateway binds to localhost:2222 by default. Its startup log shows the host fingerprint. Exposing it is an operator decision. It supports tool commands, with no interactive shell, forwarding, SCP, or SFTP.

SSH gateway example
# Use your API key as the SSH password.
# Verify the host fingerprint before connecting.
printf '{"hello":true}' | ssh -T -p 2222 socket@your-host socket-help run json
ssh -T -n -p 2222 socket@your-host socket-help resources

MCP for agents

Let a compatible agent discover utilities and manage temporary resources.

Connect a Streamable HTTP client and initialize before making tool calls. Use tools/list for MCP discovery, list_tools for utility IDs, and run_tool for execution. Resource-specific tools handle creation and cleanup.

MCP for agents example
POST /mcp
Authorization: Bearer your-api-key
Accept: application/json, text/event-stream
Content-Type: application/json

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
  "name":"run_tool",
  "arguments":{"toolId":"json","input":"{\"hello\":true}"}
}}

One access model to learn.

Account keys

Create scoped keys in your workspace. Send Authorization: Bearer sh_… for account access. Keys can be revoked at any time. Workspace membership controls access to account-owned resources.

Resource credentials

Anonymous resources return a management token. Private resources also return a separate access token for callers. If an account key already occupies Authorization, send the anonymous management token in X-Resource-Token. Private callers send their access token in X-Access-Token. Keep tokens out of URLs.

Local or hosted

Browser utilities process input on your device. API, SDK, CLI, SSH, and MCP calls run on the server; input and results are not saved as execution history.

Shared allowances

Switching interfaces does not reset quotas. All hosted clients share the same workspace or anonymous allowances. Compare the limits →