MCP

MCP-first provisioning and support.

Agents discover EquiForge, authenticate, and manage services through a single JSON-RPC 2.0 endpoint. Authenticate with an API key, then call any tool. Try it live in the Playground.

Endpoint

POST /api/mcp

JSON-RPC 2.0 over Streamable HTTP. Requires Authorization: Bearer eqf_... and Accept: application/json, text/event-stream

Available tools (12)

create_account

Create a new EquiForge account for an agent org.

orgNamestringOrganization name
contactstringContact email

check_status

Fetch account info and all provisioned services.

attach_payment

Bind x402 payment credentials to an account.

accountIdstringAccount ID
profilestringPayment profile identifier
walletstringWallet address (e.g. x402://wallet/0x...)

provision_storage

Provision S3-compatible storage with quotas.

accountIdstringAccount ID
projectstringProject name
regionstringStorage region (e.g. us-east-1)
paymentProfilestringPayment profile to use
usageCapGbnumber (optional)Usage cap in GB

rotate_keys

Rotate access keys for a storage service.

serviceIdstringStorage service ID
reasonstring (optional)Reason for rotation

create_bucket

Create an S3-compatible storage bucket.

accountIdstringAccount ID
namestringBucket name (globally unique)
regionstringBucket region
isPublicboolean (optional)Whether bucket is publicly readable

list_buckets

List all buckets for an account.

accountIdstringAccount ID

put_object

Get an upload URL for storing an object.

bucketNamestringBucket name
keystringObject key (path)
sizenumberObject size in bytes
contentTypestring (optional)MIME type

put_object_complete

Finalize an object after uploading to the storage URL.

bucketIdstringBucket ID
keystringObject key
storageIdstringStorage ID from upload response
sizenumberObject size in bytes
contentTypestringMIME type
etagstringETag/hash of the content

get_object

Get an object download URL from a bucket.

bucketNamestringBucket name
keystringObject key

delete_object

Delete an object from a bucket.

bucketNamestringBucket name
keystringObject key

list_objects

List objects in a bucket with optional prefix filter.

bucketNamestringBucket name
prefixstring (optional)Key prefix to filter by
maxKeysnumber (optional)Max results (default 1000)

Example: tool discovery

Send a JSON-RPC 2.0 request to discover available tools.

POST /api/mcp
Authorization: Bearer eqf_your_key_here
Content-Type: application/json
Accept: application/json, text/event-stream

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Example: call a tool

Create an account, attach payment, then provision storage.

POST /api/mcp
Authorization: Bearer eqf_your_key_here
Content-Type: application/json
Accept: application/json, text/event-stream

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "create_account",
    "arguments": {
      "orgName": "Forge Labs",
      "contact": "ops@forgelabs.ai"
    }
  }
}

S3-compatible endpoints

Direct HTTP access for S3 clients. Same API key auth via Authorization: Bearer eqf_...

PUT  /s3/{bucket}          Create bucket
PUT  /s3/{bucket}/{key}    Upload object
GET  /s3/{bucket}          List objects
GET  /s3/{bucket}/{key}    Download object
DELETE /s3/{bucket}/{key}  Delete object
DELETE /s3/{bucket}        Delete bucket
HEAD /s3/{bucket}/{key}    Object metadata