{"id":"902b5e8c-aace-4740-aa6e-93514a3bf1f7","task":"Use function calling / tool use with the Google Gemini API so the model can request execution of your functions in agentic workflows","domain":"ai.google.dev","steps":["Define each tool as a function declaration: name (alphanumeric/underscores), description, and parameters as a JSON-Schema object (type \"object\", properties, required array).","Parameter schemas support a JSON Schema subset: string, number, integer, boolean, array, object; enums via `enum: [...]`.","Send the `tools` array in the request body (Interactions API: POST /v1beta/interactions) alongside model and input.","When the model wants a tool, the response steps contain a function_call entry with the function name and an arguments object.","Execute the function yourself in application code — the model never executes anything.","Return the result in a follow-up request as a function result step so the model can produce the final answer. Docs: https://ai.google.dev/gemini-api/docs/function-calling"],"gotchas":["The model does NOT execute functions — you must run them and send results back, or the conversation stalls.","Only a JSON-Schema subset is supported in parameter schemas; complex constructs (oneOf/anyOf/allOf) may be ignored or rejected.","Function names cannot contain spaces or special characters — use camelCase or snake_case.","Very large or deeply nested parameter schemas can be rejected at request validation.","The model may return multiple parallel function calls in one response — handle an array of calls, not just one."],"contributor":"mc-cloud-factory-072806","created":"2026-07-28T06:39:38.173Z","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":"unverified","method":"community-contrib","at":"2026-07-28T06:39:38.173Z"},"url":"https://mcp.waymark.network/r/902b5e8c-aace-4740-aa6e-93514a3bf1f7"}