Examples

What the tools look like in practice, from a chat and from the command line.

From a chat

A typical edit runs three tools: find the pipeline, read its stages to get an id, then write. Asking Claude “move the RF coexistence stage in my Sentinel pipeline to 15 August” produces exactly that sequence:

list_pipelines   → find "Sentinel", grab its pipeline_id
get_pipeline     → find "RF coexistence", grab its stage_id
update_stage     → set due_date to 2026-08-15

Handshake

Against the endpoint directly, start by confirming the connection:

BASE=https://onetaplabs.com/api/mcp
KEY=YOUR_MCP_API_KEY

# Handshake
curl -s -X POST "$BASE" \
  -H "Authorization: Bearer $KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{}}}'

# List the available tools
curl -s -X POST "$BASE" \
  -H "Authorization: Bearer $KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Create a pipeline

curl -s -X POST "$BASE" \
  -H "Authorization: Bearer $KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{
        "name":"create_pipeline","arguments":{
          "name":"Launch campaign",
          "overview":"Q3 product launch",
          "owner_email":"you@onetaplabs.com",
          "stages":[
            {"title":"Define brief","goal":"Align on scope",
             "priority":"high","dueDate":"2026-07-01"},
            {"title":"Produce assets","goal":"Create creatives"}
          ]}}}'

Edit a stage

Move a stage’s deadline and mark it in progress. Only the fields you pass change:

curl -s -X POST "$BASE" \
  -H "Authorization: Bearer $KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{
        "name":"update_stage","arguments":{
          "stage_id":"STAGE_UUID",
          "due_date":"2026-08-15",
          "status":"in_progress"}}}'