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.
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.
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.
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/resourcesSSH 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.
# 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 resourcesMCP 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.
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 →