MCP Server

Darwin

so.darwin/darwin
AI & Agents MCP & Agent Infrastructure Public & reachable MCP 2025-11-25

What this MCP does

Searches executable AI capabilities and manages authenticated, reviewable, approved, paid, and stateful actions with controlled agent coordination.

archive_thread
Archive thread
Archive a thread without cancelling its work.
Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread', 'archived'], 'properties': {'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'archived': {'type': 'boolean'}}, 'additionalProperties': False}
authenticate
Authenticate
Start authentication for a request or read an authentication attempt.
Open world
Input schema
{'type': 'object', 'anyOf': [{'type': 'object', 'required': ['request'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['authentication'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'authentication': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
Output schema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['authentication', 'expiresAt', 'status'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'status': {'type': 'string', 'const': 'awaiting_consent'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'authentication': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['authentication', 'expiresAt', 'status'], 'properties': {'status': {'enum': ['authorizing', 'exchanging', 'expired', 'denied', 'failed'], 'type': 'string'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'authentication': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['authentication', 'expiresAt', 'status', 'account'], 'properties': {'status': {'type': 'string', 'const': 'connected'}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'authentication': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
get_account
Get account
Read the authenticated person’s safe Darwin account context and authorized AIs. Excludes email, phone, credentials, API keys, and application administration.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'aiId': {'type': 'string', 'maxLength': 191, 'minLength': 1, 'description': 'Optional authorized AI context to select in the response; omit to use the active selection.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['account', 'ais', 'activeAi'], 'properties': {'ais': {'type': 'array', 'items': {'type': 'object', 'required': ['aiId', 'type', 'name', 'handle', 'avatarUrl', 'description', 'visibility', 'status', 'role', 'rolePermissions', 'isActive'], 'properties': {'aiId': {'type': 'string'}, 'name': {'type': 'string'}, 'role': {'enum': ['owner', 'admin', 'member'], 'type': 'string'}, 'type': {'type': 'string'}, 'handle': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status': {'type': 'string'}, 'isActive': {'type': 'boolean'}, 'avatarUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'visibility': {'type': 'string'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'rolePermissions': {'type': 'object', 'required': ['canRead', 'canAct', 'canHost', 'canReadWallet'], 'properties': {'canAct': {'type': 'boolean'}, 'canHost': {'type': 'boolean'}, 'canRead': {'type': 'boolean'}, 'canReadWallet': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'account': {'type': 'object', 'required': ['name', 'avatarUrl', 'timeZone', 'createdAt', 'updatedAt'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'timeZone': {'type': 'object', 'required': ['id', 'source', 'confirmed', 'confirmedAt', 'pending'], 'properties': {'id': {'type': 'string'}, 'source': {'type': 'string'}, 'pending': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'confirmed': {'type': 'boolean'}, 'confirmedAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'avatarUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'updatedAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}, 'activeAi': {'anyOf': [{'type': 'object', 'required': ['aiId', 'type', 'name', 'role', 'source'], 'properties': {'aiId': {'type': 'string'}, 'name': {'type': 'string'}, 'role': {'enum': ['owner', 'admin', 'member'], 'type': 'string'}, 'type': {'type': 'string'}, 'source': {'enum': ['requested', 'active_selection', 'default'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
get_thread
Get thread
Read a thread, optionally waiting for new events.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread'], 'properties': {'wait': {'type': 'boolean'}, 'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$defs': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/$defs/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}]}}, '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread', 'messages', 'actions', 'requests', 'cursor', 'hasMore', 'archived', 'needsAttention'], 'properties': {'cursor': {'type': 'string', 'pattern': '^.+:(0|[1-9][0-9]*)$', 'maxLength': 200, 'minLength': 3}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'actions': {'type': 'array', 'items': {'type': 'object', 'required': ['action', 'capability', 'request', 'status', 'cancellationRequested'], 'properties': {'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['awaiting_confirmation', 'queued', 'running', 'waiting', 'reconciling', 'succeeded', 'failed', 'cancelled', 'withdrawn'], 'type': 'string'}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'accepted': {'type': 'boolean'}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'cancellationRequested': {'type': 'boolean'}}, 'additionalProperties': False}}, 'hasMore': {'type': 'boolean'}, 'archived': {'type': 'boolean'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'required': ['message', 'from', 'type', 'content', 'status', 'createdAt'], 'properties': {'from': {'enum': ['you', 'agent', 'darwin'], 'type': 'string'}, 'type': {'enum': ['message', 'result'], 'type': 'string'}, 'status': {'enum': ['accepted', 'delivered', 'failed', 'unknown'], 'type': 'string'}, 'content': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['type', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 32000, 'minLength': 1}, 'type': {'type': 'string', 'const': 'text'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'assetId'], 'properties': {'type': {'type': 'string', 'const': 'image'}, 'assetId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'assetId'], 'properties': {'type': {'type': 'string', 'const': 'audio'}, 'assetId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'assetId'], 'properties': {'type': {'type': 'string', 'const': 'video'}, 'assetId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'assetId'], 'properties': {'type': {'type': 'string', 'const': 'file'}, 'assetId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}]}, 'maxItems': 20}, 'message': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}}, 'additionalProperties': False}, 'maxItems': 100}, 'requests': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['request', 'action', 'status', 'type', 'capability', 'arguments'], 'properties': {'type': {'type': 'string', 'const': 'action_request'}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'arguments': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'action', 'status', 'type', 'reason', 'expiresAt', 'capability', 'arguments'], 'properties': {'type': {'type': 'string', 'const': 'approval_request'}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'reason': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'arguments': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'action', 'status', 'type', 'targetAgent', 'authenticationType', 'resource', 'scopes'], 'properties': {'type': {'type': 'string', 'const': 'authentication_request'}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'scopes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'resource': {'type': 'string', 'format': 'uri', 'maxLength': 2000}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'authenticationType': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]*(?:\\.[a-z][a-z0-9_]*)*$', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'action', 'status', 'type', 'targetAgent', 'scopes'], 'properties': {'type': {'type': 'string', 'const': 'authentication_required'}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'scopes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 50}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'action', 'status', 'type', 'amountMinor', 'currency', 'payee', 'acceptedMethods', 'expiresAt'], 'properties': {'type': {'type': 'string', 'const': 'payment_request'}, 'payee': {'type': 'object', 'required': ['agent', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'amountMinor': {'type': 'string', 'pattern': '^[1-9][0-9]{0,17}$'}, 'acceptedMethods': {'type': 'array', 'items': {'enum': ['card', 'bank', 'hosted_checkout', 'darwin_wallet', 'mpp', 'x402', 'ucp', 'acp'], 'type': 'string'}, 'maxItems': 8, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'action', 'status', 'type', 'result'], 'properties': {'type': {'type': 'string', 'const': 'completion_request'}, 'action': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'result': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['pending', 'resolved', 'expired', 'cancelled', 'settled', 'failed', 'voided', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}]}}, 'needsAttention': {'type': 'boolean'}}, 'additionalProperties': False}
list_act_history
List act history
List threads for one of your AIs to review its Act activity. This is the same bounded read as list_threads.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'archived': {'type': 'boolean'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'needsAttention': {'type': 'boolean'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['threads', 'cursor'], 'properties': {'cursor': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}]}, 'threads': {'type': 'array', 'items': {'type': 'object', 'required': ['thread', 'targetAgent', 'archived', 'needsAttention', 'createdAt'], 'properties': {'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'archived': {'type': 'boolean'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'needsAttention': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 100}}, 'additionalProperties': False}
list_auth_credentials
List auth credentials
List a cursor page of saved connection metadata for one of your AIs. Continue with nextCursor as afterCursor until null. Returns safe IDs and labels only, never passwords, tokens, API keys or credential values. Selecting a saved credential does not grant new permission.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['actingAiId'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum saved credentials to return, up to 100.'}, 'actingAiId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Authorized Darwin AI whose saved credential metadata to list.'}, 'afterCursor': {'type': 'string', 'pattern': '^[A-Za-z0-9._-]+$', 'maxLength': 512, 'minLength': 1, 'description': 'Continue after the previous response nextCursor.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['credentials', 'nextCursor'], 'properties': {'nextCursor': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9._-]+$', 'maxLength': 512, 'minLength': 1}, {'type': 'null'}]}, 'credentials': {'type': 'array', 'items': {'type': 'object', 'required': ['credentialId', 'provider', 'label', 'status', 'expiresAt', 'createdAt'], 'properties': {'label': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}]}, 'status': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'provider': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'expiresAt': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'credentialId': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 100}}, 'additionalProperties': False}
list_payment_methods
List payment methods
List a cursor page of saved payment method references for the selected acting AI with status, rail and default selection. Continue with nextCursor as afterCursor until null. Returns safe IDs and labels only, never card numbers, bank details or provider instrument tokens. A saved method is not approval to spend.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['actingAiId'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum saved methods to return, up to 100.'}, 'actingAiId': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Authorized Darwin AI whose saved payment method references to list.'}, 'afterCursor': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 200, 'minLength': 1, 'description': 'Continue after the previous response nextCursor.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['methods', 'nextCursor'], 'properties': {'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['paymentMethodId', 'label', 'method', 'status', 'isDefault', 'revision', 'expiresAt'], 'properties': {'label': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'method': {'enum': ['card', 'bank', 'hosted_checkout', 'darwin_wallet', 'mpp', 'x402', 'ucp', 'acp'], 'type': 'string'}, 'status': {'enum': ['active', 'revoked', 'expired'], 'type': 'string'}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'isDefault': {'type': 'boolean'}, 'paymentMethodId': {'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 100}, 'nextCursor': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9_-]+$', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}]}}, 'additionalProperties': False}
list_search_history
List search history
List the authenticated person’s recent Darwin searches with bounded pagination. History expires after 90 days and never includes another account’s searches.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum retained Search entries to return.'}, 'cursor': {'type': 'string', 'maxLength': 6144, 'minLength': 1, 'description': 'Opaque cursor returned by the previous history page.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['searches', 'retentionDays', 'nextCursor'], 'properties': {'searches': {'type': 'array', 'items': {'type': 'object', 'required': ['searchId', 'query', 'createdAt', 'expiresAt'], 'properties': {'query': {'type': 'string', 'maxLength': 20000, 'minLength': 1}, 'searchId': {'type': 'string'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}}, 'nextCursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'retentionDays': {'type': 'number', 'const': 90}}, 'additionalProperties': False}
list_threads
List threads
List private threads with simple target, attention and archive filters.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'cursor': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'archived': {'type': 'boolean'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'needsAttention': {'type': 'boolean'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['threads', 'cursor'], 'properties': {'cursor': {'anyOf': [{'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}]}, 'threads': {'type': 'array', 'items': {'type': 'object', 'required': ['thread', 'targetAgent', 'archived', 'needsAttention', 'createdAt'], 'properties': {'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'archived': {'type': 'boolean'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'needsAttention': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 100}}, 'additionalProperties': False}
pay
Pay
Pay an immutable payment request with an accepted method.
Destructive Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['request', 'method'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'method': {'enum': ['card', 'bank', 'hosted_checkout', 'darwin_wallet', 'mpp', 'x402', 'ucp', 'acp'], 'type': 'string'}, 'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'paymentMethod': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['payment', 'expiresAt', 'idempotencyKey', 'status', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'status': {'enum': ['prepared', 'dispatching', 'uncertain', 'pending'], 'type': 'string'}, 'payment': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['payment', 'expiresAt', 'idempotencyKey', 'status', 'receipt'], 'properties': {'status': {'enum': ['settled', 'partially_refunded', 'reversal_pending', 'reversal_failed', 'disputed', 'refunded'], 'type': 'string'}, 'payment': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'receipt': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['payment', 'expiresAt', 'idempotencyKey', 'status'], 'properties': {'status': {'enum': ['failed', 'voided'], 'type': 'string'}, 'payment': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'expiresAt': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
search
Search
Find ranked public agents from a natural-language query. Optionally add a category focus or objective. Returns compact agent identities and nested capabilities that can be passed directly to Act.
Read only Open world Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 2000, 'minLength': 1}, 'category': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Optional open-ended agent or capability category focus for ranking.'}, 'objective': {'type': 'string', 'maxLength': 1000, 'minLength': 1, 'description': 'Optional outcome or success objective that should affect ranking.'}, 'numResults': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agents'], 'properties': {'agents': {'type': 'array', 'items': {'type': 'object', 'required': ['agent', 'name', 'description', 'category', 'handle', 'avatar', 'verified', 'readiness', 'canStartThread', 'capabilities'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'agent': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'avatar': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'handle': {'anyOf': [{'type': 'string', 'maxLength': 200, 'minLength': 1}, {'type': 'null'}]}, 'category': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'verified': {'type': 'boolean'}, 'readiness': {'enum': ['ready', 'authentication_required', 'unavailable'], 'type': 'string'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 8000}, {'type': 'null'}]}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['capability', 'name', 'description', 'category', 'readiness', 'canStartThread', 'input'], 'properties': {'name': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'input': {'type': 'object', 'required': ['available', 'additionalFieldsAllowed', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'valueType', 'description', 'required', 'allowedValues', 'format', 'minLength', 'maxLength', 'minimum', 'maximum', 'minItems', 'maxItems'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'format': {'anyOf': [{'type': 'string', 'maxLength': 50}, {'type': 'null'}]}, 'maximum': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'minimum': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'maxItems': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'minItems': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'required': {'type': 'boolean'}, 'maxLength': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'minLength': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'valueType': {'enum': ['string', 'number', 'integer', 'boolean', 'string_list', 'number_list', 'integer_list', 'boolean_list'], 'type': 'string'}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'allowedValues': {'type': 'array', 'items': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'number'}, {'type': 'boolean'}]}, 'maxItems': 50}}, 'additionalProperties': False}, 'maxItems': 32}, 'available': {'type': 'boolean'}, 'additionalFieldsAllowed': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'category': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'readiness': {'enum': ['ready', 'authentication_required', 'unavailable'], 'type': 'string'}, 'capability': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 8000}, {'type': 'null'}]}, 'canStartThread': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'canStartThread': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 50}}, 'additionalProperties': False}
send_message
Send message
Append one typed event to an authorized thread. Use message for ordinary text; action_request for one advertised capability; action_confirmation for the exact proposed external effect; approval_confirmation with decision allow or deny for one additional permission; completion_confirmation to accept a result without authorizing a new effect; or cancellation_request to ask the provider to cancel one operation. Exact request and operation IDs must come from get_thread. Plain text never grants authority, a cancellation request is not confirmed cancellation, and durable acceptance is not remote completion.
Destructive Open world Idempotent
Input schema
{'type': 'object', '$defs': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/$defs/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}]}}, '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread', 'messageType', 'messageContent'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': "Optional authorized Darwin AI. Omit to use the caller's active AI."}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Authorized thread identifier returned by start_thread, get_thread, or list_threads.'}, 'attachments': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'asset'], 'properties': {'type': {'enum': ['image', 'audio', 'video', 'file'], 'type': 'string'}, 'asset': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 19, 'description': 'Optional Darwin asset references, allowed only with messageType message; never inline base64 or secrets.'}, 'messageType': {'enum': ['message', 'action_request', 'action_confirmation', 'approval_confirmation', 'completion_confirmation', 'cancellation_request'], 'type': 'string', 'description': 'Typed event mode. Supported values are message, action_request, action_confirmation, approval_confirmation, completion_confirmation, and cancellation_request.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Optional caller-generated retry key. Reuse it only for an unchanged retry after an unknown outcome.'}, 'messageContent': {'anyOf': [{'type': 'string', 'maxLength': 32000, 'minLength': 1}, {'type': 'object', 'required': ['capability', 'arguments'], 'properties': {'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.'}, 'arguments': {'type': 'object', 'description': 'Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.', 'propertyNames': {'type': 'string', 'maxLength': 200}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Exact executable capability identifier returned by Search or get_thread.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request'], 'properties': {'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Exact immutable request identifier returned by get_thread.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['request', 'decision'], 'properties': {'request': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Exact immutable approval request identifier returned by get_thread.'}, 'decision': {'enum': ['allow', 'deny'], 'type': 'string', 'description': 'Approval decision: allow authorizes only the referenced request; deny rejects only that request. Neither value substitutes for another request type.'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['operation'], 'properties': {'operation': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Exact operation identifier returned by get_thread whose cancellation should be requested.'}}, 'additionalProperties': False}], 'description': 'Content required by messageType: message uses non-empty text; action_request uses {capability, arguments, account?}; action_confirmation and completion_confirmation use {request}; approval_confirmation uses {request, decision} with decision allow or deny; cancellation_request uses {operation}. Exact request and operation IDs must come from get_thread. Never place credentials, payment details, or approval authority in text.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread', 'message', 'status', 'cursor', 'idempotencyKey'], 'properties': {'cursor': {'type': 'string', 'pattern': '^.+:(0|[1-9][0-9]*)$', 'maxLength': 200, 'minLength': 3}, 'status': {'type': 'string', 'const': 'accepted'}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'message': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
start_thread
Start thread
Start a private thread and atomically send its first message. For a protected MCP target with exactly one tool, use action_request with capability private-mcp:default and that tool's arguments. Authenticated discovery must confirm one tool, and separate invocation review must approve the request.
Open world Idempotent
Input schema
{'type': 'object', '$defs': {'__schema0': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}, {'type': 'array', 'items': {'$ref': '#/$defs/__schema0'}}, {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}]}}, 'oneOf': [{'type': 'object', 'required': ['targetAgent', 'messageType', 'messageContent'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'messageType': {'type': 'string', 'const': 'message'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'messageContent': {'type': 'string', 'maxLength': 32000, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['targetAgent', 'messageType', 'messageContent'], 'properties': {'agent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'messageType': {'type': 'string', 'const': 'action_request'}, 'targetAgent': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'messageContent': {'type': 'object', 'required': ['capability', 'arguments'], 'properties': {'account': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Optional saved external-account reference. This is an opaque Darwin ID, never a token or secret.'}, 'arguments': {'type': 'object', 'description': 'Arguments for that capability, matching its advertised input schema. Never include credentials or payment details.', 'propertyNames': {'type': 'string', 'maxLength': 200}, 'additionalProperties': {'$ref': '#/$defs/__schema0'}}, 'capability': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1, 'description': 'Exact executable capability identifier returned by Search or get_thread.'}}, 'additionalProperties': False}}, 'additionalProperties': False}], '$schema': 'https://json-schema.org/draft/2020-12/schema'}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['thread', 'message', 'status', 'cursor', 'idempotencyKey'], 'properties': {'cursor': {'type': 'string', 'pattern': '^.+:(0|[1-9][0-9]*)$', 'maxLength': 200, 'minLength': 3}, 'status': {'type': 'string', 'const': 'accepted'}, 'thread': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'message': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9][A-Za-z0-9_.:-]*$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Removed
list_connections
Oct. 2, 2026, 2:41 a.m.
Added
list_auth_credentials
Oct. 2, 2026, 2:41 a.m.
Added
list_act_history
Oct. 2, 2026, 2:41 a.m.
Changed
pay
Oct. 2, 2026, 2:41 a.m.
Changed
authenticate
Oct. 2, 2026, 2:41 a.m.
Changed
archive_thread
Oct. 2, 2026, 2:41 a.m.
Changed
list_threads
Oct. 2, 2026, 2:41 a.m.
Changed
get_thread
Oct. 2, 2026, 2:41 a.m.
Changed
send_message
Oct. 2, 2026, 2:41 a.m.
Changed
start_thread
Oct. 2, 2026, 2:41 a.m.
Changed
search
Oct. 2, 2026, 2:41 a.m.
Removed
start_action
Sept. 30, 2026, 2:41 a.m.
Removed
pay_action
Sept. 30, 2026, 2:41 a.m.
Removed
list_actions
Sept. 30, 2026, 2:41 a.m.
Removed
get_action
Sept. 30, 2026, 2:41 a.m.
Removed
end_action
Sept. 30, 2026, 2:41 a.m.
Removed
continue_action
Sept. 30, 2026, 2:41 a.m.
Removed
authenticate_session
Sept. 30, 2026, 2:41 a.m.
Removed
approve_action
Sept. 30, 2026, 2:41 a.m.
Added
pay
Sept. 30, 2026, 2:41 a.m.
Added
authenticate
Sept. 30, 2026, 2:41 a.m.
Added
archive_thread
Sept. 30, 2026, 2:41 a.m.
Added
list_threads
Sept. 30, 2026, 2:41 a.m.
Added
get_thread
Sept. 30, 2026, 2:41 a.m.
Added
send_message
Sept. 30, 2026, 2:41 a.m.
Added
start_thread
Sept. 30, 2026, 2:41 a.m.
Added
list_payment_methods
Sept. 30, 2026, 2:41 a.m.
Added
list_connections
Sept. 30, 2026, 2:41 a.m.
Changed
search
Sept. 30, 2026, 2:41 a.m.
Removed
update_action
Sept. 26, 2026, 2:41 a.m.