Skip to main content
Glama
hedging8563

TokenLab MCP Server

by hedging8563

Generate content (Gemini-compatible)

create_gemini_content

Generate content using the native Gemini GenerateContent API with support for tools, safety settings, and generation configuration.

Instructions

Generate content (Gemini-compatible) Generates content using the native Gemini GenerateContent shape. This route is exposed only when the model details advertise Gemini requests and a same-protocol route is currently available. ProtoJSON lowerCamelCase and original proto snake_case field names are preserved. Unknown fields are forwarded best-effort and support is determined by the selected provider. Authentication: Use ?key= query parameter, x-goog-api-key header, or Authorization: Bearer header.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelYesModel name (e.g., gemini-2.5-pro)
toolsNoGemini tools. Tool types and combinations are interpreted by the selected service.
contentsYesConversation contents
toolConfigNoGemini tool configuration such as functionCallingConfig.
tool_configNoOriginal proto field-name spelling of toolConfig.
cachedContentNoGemini cached content resource name for compatible models.
cached_contentNoOriginal proto field-name spelling of cachedContent.
safetySettingsNo
safety_settingsNoOriginal proto field-name spelling of safetySettings.
generationConfigNo
generation_configNoOriginal proto field-name spelling of generationConfig.
systemInstructionNo
system_instructionNoOriginal proto field-name spelling of systemInstruction.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed58 schema fields changedv0.6.4
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • addedInput schema / properties / cached_content
      Added value: +{
      +  "description": "Original proto field-name spelling of cachedContent.",
      +  "type": "string"
      +}
    • removedInput schema / properties / contents / items / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / contents / items / properties / parts / items / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "text": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "inlineData": {
      -        "additionalProperties": {},
      -        "properties": {
      -          "data": {
      -            "type": "string"
      -          },
      -          "mimeType": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "inline_data": {
      -        "additionalProperties": {},
      -        "properties": {
      -          "data": {
      -            "type": "string"
      -          },
      -          "mime_type": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "fileData": {
      -        "additionalProperties": {},
      -        "properties": {
      -          "fileUri": {
      -            "type": "string"
      -          },
      -          "mimeType": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "file_data": {
      -        "additionalProperties": {},
      -        "properties": {
      -          "file_uri": {
      -            "type": "string"
      -          },
      -          "mime_type": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "videoMetadata": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "video_metadata": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "thought": {
      -        "type": "boolean"
      -      },
      -      "thoughtSignature": {
      -        "type": "string"
      -      },
      -      "thought_signature": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "functionCall": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "functionResponse": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executableCode": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "codeExecutionResult": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "function_call": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "function_response": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executable_code": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "code_execution_result": {
      -        "additionalProperties": {},
      -        "properties": {},
      -        "type": "object"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]
    • removedInput schema / properties / generationConfig / additionalProperties
      Removed value: -{}
    • changedInput schema / properties / generationConfig / properties / candidateCount / description
      Previous value: -"Number of response candidates for non-streaming generation. Streaming requests must omit this field or keep it at 1."New value: +"Requested number of response candidates. Support is determined by the selected service."
    • removedInput schema / properties / generationConfig / properties / candidateCount / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / generationConfig / properties / maxOutputTokens / maximum
      Removed value: -9007199254740991
    • changedInput schema / properties / generationConfig / properties / responseSchema / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / generationConfig / properties / responseSchema / properties
      Removed value: -{}
    • changedInput schema / properties / generationConfig / properties / thinkingConfig / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / generationConfig / properties / thinkingConfig / properties / thinkingBudget / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / generationConfig / properties / thinkingConfig / properties / thinkingBudget / minimum
      Removed value: --9007199254740991
    • changedInput schema / properties / generationConfig / properties / thinking_config / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / generationConfig / properties / thinking_config / properties / thinking_budget / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / generationConfig / properties / thinking_config / properties / thinking_budget / minimum
      Removed value: --9007199254740991
    • removedInput schema / properties / generationConfig / properties / topK / maximum
      Removed value: -9007199254740991
    • addedInput schema / properties / generation_config
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Original proto field-name spelling of generationConfig.",
      +  "type": "object"
      +}
    • removedInput schema / properties / safetySettings / items / additionalProperties
      Removed value: -{}
    • addedInput schema / properties / safety_settings
      Added value: +{
      +  "description": "Original proto field-name spelling of safetySettings.",
      +  "items": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / systemInstruction / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / systemInstruction / properties / parts / items / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / systemInstruction / properties / parts / items / properties
      Removed value: -{
      -  "text": {
      -    "type": "string"
      -  }
      -}
    • addedInput schema / properties / system_instruction
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Original proto field-name spelling of systemInstruction.",
      +  "type": "object"
      +}
    • changedInput schema / properties / toolConfig / additionalProperties
      Previous value: -{}New value: +true
    • changedInput schema / properties / toolConfig / properties / functionCallingConfig / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / toolConfig / properties / functionCallingConfig / properties / allowedFunctionNames / items / type
      Removed value: -"string"
    • changedInput schema / properties / toolConfig / properties / function_calling_config / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / toolConfig / properties / function_calling_config / properties / allowed_function_names / items / type
      Removed value: -"string"
    • addedInput schema / properties / tool_config
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Original proto field-name spelling of toolConfig.",
      +  "type": "object"
      +}
    • changedInput schema / properties / tools / description
      Previous value: -"Gemini tools. Supported tool combinations depend on the selected model and route; unsupported native image-output tool combinations are rejected before upstream retries."New value: +"Gemini tools. Tool types and combinations are interpreted by the selected service."
    • changedInput schema / properties / tools / items / additionalProperties
      Previous value: -{}New value: +true
    • removedInput schema / properties / tools / items / properties / codeExecution / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / codeExecution / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / code_execution / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / code_execution / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / computerUse / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / computerUse / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / computer_use / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / computer_use / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / functionDeclarations / items / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / functionDeclarations / items / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / functionDeclarations / items / type
      Removed value: -"object"
    • removedInput schema / properties / tools / items / properties / function_declarations / items / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / function_declarations / items / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / function_declarations / items / type
      Removed value: -"object"
    • removedInput schema / properties / tools / items / properties / googleSearch / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / googleSearch / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / googleSearchRetrieval / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / googleSearchRetrieval / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / google_search / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / google_search / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / google_search_retrieval / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / google_search_retrieval / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / urlContext / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / urlContext / properties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / url_context / additionalProperties
      Removed value: -{}
    • removedInput schema / properties / tools / items / properties / url_context / properties
      Removed value: -{}
  2. Changed48 schema fields changedv0.3.1
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / cachedContent / description
      Previous value: -"Optional cached content resource name."New value: +"Gemini cached content resource name for compatible models."
    • changedInput schema / properties / contents / description
      Previous value: -"Native Gemini conversation contents."New value: +"Conversation contents"
    • removedInput schema / properties / contents / items / properties / parts / items / additionalProperties
      Removed value: -{}
    • addedInput schema / properties / contents / items / properties / parts / items / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "text": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "inlineData": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "data": {
      +            "type": "string"
      +          },
      +          "mimeType": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "inline_data": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "data": {
      +            "type": "string"
      +          },
      +          "mime_type": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "fileData": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "fileUri": {
      +            "type": "string"
      +          },
      +          "mimeType": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "file_data": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "file_uri": {
      +            "type": "string"
      +          },
      +          "mime_type": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "videoMetadata": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "video_metadata": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "thought": {
      +        "type": "boolean"
      +      },
      +      "thoughtSignature": {
      +        "type": "string"
      +      },
      +      "thought_signature": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "functionCall": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "functionResponse": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executableCode": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "codeExecutionResult": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "function_call": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "function_response": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executable_code": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "code_execution_result": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / contents / items / properties / parts / items / properties
      Removed value: -{}
    • removedInput schema / properties / contents / items / properties / parts / items / type
      Removed value: -"object"
    • removedInput schema / properties / contents / items / properties / parts / minItems
      Removed value: -1
    • removedInput schema / properties / contents / items / required
      Removed value: -[
      -  "parts"
      -]
    • removedInput schema / properties / contents / minItems
      Removed value: -1
    • removedInput schema / properties / generationConfig / description
      Removed value: -"Native Gemini generation configuration."
    • addedInput schema / properties / generationConfig / properties / candidateCount
      Added value: +{
      +  "description": "Number of response candidates for non-streaming generation. Streaming requests must omit this field or keep it at 1.",
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / generationConfig / properties / maxOutputTokens
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / generationConfig / properties / responseMimeType
      Added value: +{
      +  "description": "Requested output MIME type, such as text/plain or application/json.",
      +  "type": "string"
      +}
    • addedInput schema / properties / generationConfig / properties / responseModalities
      Added value: +{
      +  "description": "Requested output modalities for compatible native Gemini routes.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / generationConfig / properties / responseSchema
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "JSON schema for structured output when responseMimeType requests JSON.",
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / generationConfig / properties / stopSequences
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / generationConfig / properties / temperature
      Added value: +{
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / generationConfig / properties / thinkingConfig
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Thinking budget options for compatible Gemini models.",
      +  "properties": {
      +    "thinkingBudget": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / generationConfig / properties / thinking_config
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Snake-case thinking budget options for compatible Gemini models.",
      +  "properties": {
      +    "thinking_budget": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / generationConfig / properties / topK
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / generationConfig / properties / topP
      Added value: +{
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / model / description
      Previous value: -"Public TokenLab Gemini-compatible model ID."New value: +"Model name (e.g., gemini-2.5-pro)"
    • removedInput schema / properties / model / minLength
      Removed value: -1
    • removedInput schema / properties / prompt
      Removed value: -{
      -  "description": "Convenience shortcut for one user text part; do not combine with contents.",
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / safetySettings / description
      Removed value: -"Native Gemini safety settings."
    • addedInput schema / properties / safetySettings / items / properties / category
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / safetySettings / items / properties / threshold
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / systemInstruction / description
      Removed value: -"Native Gemini system instruction."
    • addedInput schema / properties / systemInstruction / properties / parts
      Added value: +{
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {
      +      "text": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / temperature
      Removed value: -{
      -  "description": "Convenience temperature setting; do not combine with generationConfig.temperature.",
      -  "minimum": 0,
      -  "type": "number"
      -}
    • changedInput schema / properties / toolConfig / description
      Previous value: -"Native Gemini tool configuration."New value: +"Gemini tool configuration such as functionCallingConfig."
    • addedInput schema / properties / toolConfig / properties / functionCallingConfig
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {
      +    "allowedFunctionNames": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "mode": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / toolConfig / properties / function_calling_config
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {
      +    "allowed_function_names": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "mode": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedInput schema / properties / tools / description
      Previous value: -"Native Gemini tools."New value: +"Gemini tools. Supported tool combinations depend on the selected model and route; unsupported native image-output tool combinations are rejected before upstream retries."
    • addedInput schema / properties / tools / items / properties / codeExecution
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / code_execution
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / computerUse
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / computer_use
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / functionDeclarations
      Added value: +{
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / tools / items / properties / function_declarations
      Added value: +{
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / tools / items / properties / googleSearch
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / googleSearchRetrieval
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / google_search
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / google_search_retrieval
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / urlContext
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools / items / properties / url_context
      Added value: +{
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "model"
      -]New value: +[
      +  "model",
      +  "contents"
      +]
  3. Changed11 schema fields changedv0.3.0
    • addedInput schema / properties / cachedContent
      Added value: +{
      +  "description": "Optional cached content resource name.",
      +  "type": "string"
      +}
    • addedInput schema / properties / contents
      Added value: +{
      +  "description": "Native Gemini conversation contents.",
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {
      +      "parts": {
      +        "items": {
      +          "additionalProperties": {},
      +          "properties": {},
      +          "type": "object"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "role": {
      +        "enum": [
      +          "user",
      +          "model"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "parts"
      +    ],
      +    "type": "object"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedInput schema / properties / generationConfig
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Native Gemini generation configuration.",
      +  "properties": {},
      +  "type": "object"
      +}
    • changedInput schema / properties / prompt / description
      Previous value: -"User prompt text."New value: +"Convenience shortcut for one user text part; do not combine with contents."
    • addedInput schema / properties / safetySettings
      Added value: +{
      +  "description": "Native Gemini safety settings.",
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / systemInstruction
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Native Gemini system instruction.",
      +  "properties": {},
      +  "type": "object"
      +}
    • changedInput schema / properties / temperature / description
      Previous value: -"Optional Gemini generation temperature."New value: +"Convenience temperature setting; do not combine with generationConfig.temperature."
    • removedInput schema / properties / temperature / maximum
      Removed value: -2
    • addedInput schema / properties / toolConfig
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Native Gemini tool configuration.",
      +  "properties": {},
      +  "type": "object"
      +}
    • addedInput schema / properties / tools
      Added value: +{
      +  "description": "Native Gemini tools.",
      +  "items": {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "model",
      -  "prompt"
      -]New value: +[
      +  "model"
      +]
  4. First observedv0.2.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a write operation (readOnlyHint=false) with no destructiveness. The description adds authentication requirements, preservation of field naming styles (lowerCamelCase and snake_case), and best-effort forwarding of unknown fields. It does not detail rate limits or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient, front-loading purpose and conditions, but could be more structured with bullet points for readability. No superfluous sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (13 parameters, nested objects) and absence of output schema, the description covers key contextual details: route availability, naming conventions, authentication, and forwarding behavior. It lacks provider-specific error handling or rate limit information, but remains fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 77% (high), so the description does not need to redocument parameters. It adds value by explaining authentication parameters (key, headers), naming convention duality, and provider-specific support for unknown fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state this tool generates content using the Gemini GenerateContent shape, distinguishing it from siblings like create_chat_completion and create_anthropic_message which serve different model families.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the route is exposed only when model details advertise Gemini requests and a same-protocol route is available, setting a clear precondition. It also explains naming conventions and authentication methods, though it lacks explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hedging8563/tokenlab-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server