{
  "schema": "kallipolis.resource-quality.v1",
  "id": "resource.platform.google-gemini-function-calling",
  "version": "1.0.0",
  "title": "Google Gemini function-calling integration profile",
  "summary": "Official-source workflow facts for Gemini function declarations, application execution, tool-choice controls, and remote MCP server configuration.",
  "content": {
    "kind": "implementation-checklist",
    "facts": [
      {
        "id": "fact.google.gemini-functions.execution",
        "statement": "The application declares a function, the model returns its name and structured arguments, and application code executes the function before returning a result.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.google.gemini-functions"
        ]
      },
      {
        "id": "fact.google.gemini-functions.choice",
        "statement": "Tool-choice modes control whether function calling is automatic, required, prohibited, or schema-validated where the documented model and API support that mode.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.google.gemini-functions"
        ]
      },
      {
        "id": "fact.google.gemini-functions.mcp",
        "statement": "The Interactions API documents remote MCP server tools with a server URL and optional allowed-tool restriction.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.google.gemini-functions"
        ]
      }
    ]
  },
  "language": "en",
  "category": "platform-integration",
  "state": "prepared",
  "canonicalUrl": "https://platoskallipolis.com/resources/platform-integration/google-gemini-function-calling.json",
  "contentHash": "sha256:5dd0af2c24e3e9aba0e90ef502be02d21c00e2364eccc1d0812184f1f76f1986",
  "owner": {
    "id": "platos-kallipolis",
    "name": "Plato's Kallipolis",
    "type": "organization",
    "accountabilityUrl": "https://platoskallipolis.com/about"
  },
  "access": {
    "mode": "public",
    "url": "https://platoskallipolis.com/resources/platform-integration/google-gemini-function-calling.json",
    "authentication": "none",
    "robotsAllowed": true
  },
  "provenance": {
    "method": "primary-source",
    "sources": [
      {
        "id": "source.google.gemini-functions",
        "url": "https://ai.google.dev/gemini-api/docs/function-calling",
        "title": "Function calling with the Gemini API",
        "publisher": "Google",
        "observedAt": "2026-08-27T01:00:00Z"
      }
    ]
  },
  "observedAt": "2026-08-27T01:00:00Z",
  "freshness": {
    "policy": "max-age",
    "state": "current",
    "nextReviewAt": "2026-09-03T01:00:00Z",
    "maxAgeSeconds": 604800
  },
  "license": {
    "id": "source-terms-apply",
    "url": "https://ai.google.dev/gemini-api/terms",
    "redistributionAllowed": false
  },
  "evidence": [
    {
      "id": "evidence.google.gemini-functions",
      "type": "source-claim",
      "url": "https://ai.google.dev/gemini-api/docs/function-calling",
      "observedAt": "2026-08-27T01:00:00Z"
    }
  ]
}
