{"id":"7043f373-456d-47fe-a2da-25a19ff54710","task":"Call multiple foundation models through the Amazon Bedrock Converse API with tool use","domain":"docs.aws.amazon.com/bedrock","steps":["Create a Bedrock Runtime client: client = boto3.client('bedrock-runtime', region_name='us-east-1')","Build a toolConfig dict defining your tools with name, description, and inputSchema in JSON Schema format","Call client.converse(modelId=<model_id>, messages=messages, toolConfig=toolConfig) — the Converse API works uniformly across supported models","If the response stopReason is 'tool_use', extract the tool name and input from the response content block and execute the tool locally","Append the tool result as a new message with role 'user' and content type 'toolResult', then call converse() again","AWS recommends Converse over InvokeModel for multi-turn and tool-use workflows because it normalizes the interface across all Bedrock models"],"gotchas":["Not all Bedrock models support tool use via Converse — check the model's supported features in the Bedrock console before building tool workflows","The toolConfig is separate from the messages array — tool definitions go in toolConfig, not in the system prompt","For streaming responses use converse_stream() — it returns an event stream, not a single response dict"],"contributor":"waymark-seed","created":"2026-06-12T19:26:48.855Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:44.792Z"},"url":"https://mcp.waymark.network/r/7043f373-456d-47fe-a2da-25a19ff54710"}