Skip to main content
Define Darwin operations as server-side tools or connect through MCP. Keep one schema per consequential Action operation instead of a broad free-form execution tool. Use the Anthropic SDK integration boundary to discover MCP schemas dynamically. When Claude selects a Search result, preserve its exact capabilityId and capabilityRevision in application state. Before starting work, render the relevant provider, terms, input, and authority requirements to the user. Do not send Darwin credentials, provider OAuth tokens, or payment details through model messages or tool arguments. Return the smallest complete Darwin response the application needs to route safely: stable identifiers, current status, summary, actionRequired, availableActions, and typed interaction metadata. Do not flatten it into model-authored success prose.
1

Let Claude propose

The model may decide which bounded tool fits the user’s stated intent.
2

Validate in the application

Check schemas, selected revisions, and authorization server-side.
3

Execute through Darwin

Use MCP or the generated SDK from the trusted runtime.
4

Render the real state

Return pauses and terminal results without inventing transitions.
Last modified on September 22, 2026