DigitalPipe

API REFERENCE

REST API

Base URL: https://app.digitalpipe.net/api

Authentication

Include your API key in all requests:

Authorization: Bearer dp_live_your-api-key

Beta: Some endpoints are marked beta and may change. Authentication and server registration are stable.

Hosted MCPs

GET/api/hosted-mcp/catalog

List all available Hosted MCPs that can be installed (petstore, github, stripe, espn, sentry)

Returns: Catalog entries with id, name, toolCount, authType, envVars
POST/api/hosted-mcp/:id/install

Install a Hosted MCP for the authenticated user. Set manifoldEnabled=true to use DigitalPipe Manifold (sandboxed code execution) instead of N raw tool schemas.

Params: envVars (Record<string,string>), manifoldEnabled (boolean, optional)
Returns: { installedId, status: 'running' | 'reinstalled' }
GET/api/hosted-mcp/installed

List all MCPs installed by the authenticated user, with status and toolCount

Returns: { installed: HostableMcp[] }
POST/api/hosted-mcp/:id/kill

Kill, hold, or restore a Hosted MCP. Kill returns 503 on next tool call within ~300ms.

Params: action: 'kill' | 'hold' | 'restore', reason (string, optional)
Returns: { status, updatedAt }
POST/api/hosted-mcp/:id/proxy

Proxy a JSON-RPC tool call to a Hosted MCP. Returns 503 if killed, 403 if held.

Params: jsonRpc: { jsonrpc, id, method: 'tools/call', params: { name, arguments } }
Returns: JSON-RPC response with result or error

DigitalPipe Manifold (sandboxed execution)

POST/api/manifold/:id/tools/list

Returns 4 meta-tools instead of the underlying MCP's tool catalog: list_servers, get_tool_signature, get_tool_docs, execute_code. Reduces per-request tool-definition tokens by 80-95%.

Returns: JSON-RPC response with 4-tool catalog
POST/api/manifold/:id/tools/call

Execute orchestration code in a sandboxed interpreter. Inside the code: mcp_call(server_id, tool_name, **kwargs), list_servers(), get_tool_signature(), get_tool_docs(). Each mcp_call routes through the existing DP proxy (kill switch, audit, inspect all apply). Set result = ... at the end to return a value. Timeout 30s.

Params: jsonRpc: { jsonrpc, id, method: 'tools/call', params: { name: 'execute_code', arguments: { code: string } } }
Returns: JSON-RPC response with tokenSavings { standardModeTokens, manifoldTokens, savingsPct }

Metrics

GET/api/metrics/manifold

Aggregate Manifold token savings across all your Hosted MCPs. Shows cumulative savings %, total executions, per-install breakdown, and Cloudflare/Anthropic benchmark comparison.

Returns: { aggregate, byCatalog[], benchmarks: { cloudflare, anthropic }, meta }

Inspect Layer

GET/api/audit/flagged

List recent flagged events (secrets, PII, prompt injection, exfil URLs) detected by the runtime inspect layer on every hosted MCP call. Per-user, scoped to installed MCPs.

Returns: { flagged[], byType: { flagType: { count, severity, lastSeen } }, totalCount }

Authentication

POST/api/auth/register

Register a new account

Params: email, password
Returns: JWT access token + refresh token
POST/api/auth/login

Sign in to existing account

Params: email, password
Returns: JWT access token + refresh token
POST/api/auth/refresh

Refresh access token

Params: refresh_token
Returns: New JWT access token
GET/api/auth/me

Get current user info

Returns: User object with account details

Server Registry

POST/api/servers

Register a new MCP server through the proxy

Params: url, name, inspection_mode
Returns: Server object with proxy endpoint
GET/api/servers

List all registered servers

Returns: Array of server objects
GET/api/servers/:id

Get server details and status

Returns: Server object with call stats
DELETE/api/servers/:id

Remove server from registry

Returns: 204 No Content

Connection Control

POST/api/connections/:id/kill

Kill an active connection immediately

Returns: Connection object with killed status
POST/api/connections/:id/restore

Restore a killed connection

Returns: Connection object with active status
GET/api/connections

List active connections

Params: server_id, status
Returns: Array of connection objects

Audit & Export

GET/api/audit/logs

Export audit log entries

Params: server_id, from, to, format
Returns: JSON or CSV with audit entries
GET/api/audit/summary

Get call summary statistics

Params: server_id, period
Returns: Aggregated call stats

For questions or to report issues with the API, contact [email protected]