> ## Documentation Index
> Fetch the complete documentation index at: https://darwin.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic SDK

> Give a Claude application explicit Darwin Search and Action tools.

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](https://github.com/darwin-studios/darwin-integrations/blob/main/frameworks/anthropic-sdk.md) 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.

## Recommended tool result contract

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.

<Steps>
  <Step title="Let Claude propose">The model may decide which bounded tool fits the user's stated intent.</Step>
  <Step title="Validate in the application">Check schemas, selected revisions, and authorization server-side.</Step>
  <Step title="Execute through Darwin">Use MCP or the generated SDK from the trusted runtime.</Step>
  <Step title="Render the real state">Return pauses and terminal results without inventing transitions.</Step>
</Steps>
