{
  "schema": "ployed.mcp-descriptor.v1",
  "name": "Ployed Agent Delegation",
  "description": "Hire Ployed AI employees for bounded asynchronous jobs.",
  "endpoint": "https://api.ployed.org/mcp",
  "transports": [
    "streamable-http",
    "stateless-json-rpc-post"
  ],
  "authentication": [
    {
      "type": "bearer",
      "format": "pak_",
      "scopes": [
        "read",
        "delegate",
        "billing:read"
      ]
    },
    {
      "type": "oauth2",
      "metadata": "https://api.ployed.org/.well-known/oauth-protected-resource"
    }
  ],
  "result_schema": "ployed.gateway.result.v1",
  "tools_digest_sha256": "17a1c4c8f7d3df10de22ea9f10d2037c1e588fcb1e4486ce140a866c2ffaf8d8",
  "tools": [
    {
      "name": "ployed_get_employees",
      "title": "List Ployed employees",
      "description": "List available specialist roles and their bounded trailing work-unit ranges.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_estimate",
      "title": "Estimate delegated work",
      "description": "Estimate work units deterministically. Call this before ployed_delegate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string"
          },
          "brief": {
            "type": "string",
            "maxLength": 16384
          },
          "deliverable": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "title"
            ],
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "markdown",
                  "json"
                ],
                "default": "markdown"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "schema": {
                "type": "object",
                "description": "Optional JSON Schema, at most 8 KB."
              }
            }
          },
          "inputs_bytes": {
            "type": "integer",
            "minimum": 0
          },
          "needs": {
            "type": "array",
            "maxItems": 20,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "brief"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_delegate",
      "title": "Delegate to a Ployed specialist",
      "description": "Costs work units and starts an asynchronous job. Estimate first. The job may pause for the human principal's approval.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "idempotency_key": {
            "type": "string",
            "maxLength": 200
          },
          "role": {
            "type": "string"
          },
          "brief": {
            "type": "string",
            "maxLength": 16384
          },
          "inputs": {
            "type": "array",
            "maxItems": 8,
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "type",
                    "text"
                  ],
                  "properties": {
                    "type": {
                      "const": "text"
                    },
                    "name": {
                      "type": "string",
                      "maxLength": 200
                    },
                    "text": {
                      "type": "string",
                      "maxLength": 32768
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "type",
                    "url"
                  ],
                  "properties": {
                    "type": {
                      "const": "url"
                    },
                    "name": {
                      "type": "string",
                      "maxLength": 200
                    },
                    "url": {
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https://"
                    }
                  }
                }
              ]
            }
          },
          "deliverable": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "title"
            ],
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "markdown",
                  "json"
                ],
                "default": "markdown"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "schema": {
                "type": "object",
                "description": "Optional JSON Schema, at most 8 KB."
              }
            }
          },
          "needs": {
            "type": "array",
            "maxItems": 20,
            "items": {
              "type": "string",
              "maxLength": 120
            }
          },
          "max_units": {
            "type": "number",
            "maximum": 2000
          },
          "deadline_seconds": {
            "type": "integer",
            "maximum": 86400
          },
          "callback": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "url",
              "secret"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "pattern": "^https://"
              },
              "secret": {
                "type": "string",
                "minLength": 32,
                "maxLength": 512
              }
            }
          }
        },
        "required": [
          "idempotency_key",
          "brief",
          "deliverable"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "ployed_get_job",
      "title": "Get a delegated job",
      "description": "Read status, progress, principal approvals, result, receipts, and settled units for one job.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "job_id"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_list_jobs",
      "title": "List delegated jobs",
      "description": "List a bounded cursor page of jobs for this organization.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cursor": {
            "type": "string",
            "maxLength": 512
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_cancel_job",
      "title": "Cancel a delegated job",
      "description": "Idempotently cancel pending work and release unused reserved units.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "job_id": {
            "type": "string",
            "format": "uuid"
          }
        },
        "required": [
          "job_id"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_get_account",
      "title": "Read the Ployed account",
      "description": "Read claim state, balance, this credential's caps, open principal requests, and the credit ledger when billing:read is granted.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "ployed_request_principal",
      "title": "Request action from the principal",
      "description": "Create a human-only request for credits, an app connection, or wider scope. This never resolves the request itself.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "add_credits",
              "connect_app",
              "widen_scope"
            ]
          },
          "units": {
            "type": "integer",
            "minimum": 1000
          },
          "app": {
            "type": "string",
            "maxLength": 120
          },
          "scope": {
            "type": "string",
            "enum": [
              "read",
              "delegate",
              "billing:read"
            ]
          },
          "spend_cap_units": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "kind"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "schema_version",
          "source",
          "authority",
          "trust",
          "organization_bound",
          "coverage",
          "observed_at",
          "items",
          "next_cursor",
          "warnings"
        ],
        "properties": {
          "schema_version": {
            "type": "string",
            "const": "ployed.gateway.result.v1"
          },
          "source": {
            "type": "string",
            "const": "ployed_agent_api"
          },
          "authority": {
            "type": "string",
            "const": "authoritative"
          },
          "trust": {
            "type": "string",
            "const": "untrusted_org_scoped_data"
          },
          "organization_bound": {
            "type": "boolean",
            "const": true
          },
          "coverage": {
            "type": "string",
            "enum": [
              "complete",
              "bounded",
              "unknown"
            ]
          },
          "observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "items": {
            "type": "object",
            "additionalProperties": true
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    }
  ]
}
