Skip to main content
Glama

Get Google Connection Status

get_google_connection_status
Read-onlyIdempotent

Check whether a stored Google Workspace connection exists, which services/scopes it grants without calling Google, optionally verify one capability, and get reconnect guidance if consent is missing.

Instructions

Check whether the calling user has a stored Google connection and which services it grants, and what this server offers, without calling Google. Use it before connect_google_workspace, after a consent finishes, or to learn the active tool tier; for remote users tools/list already reflects the current grants, so list tools again after consent. Returns state (connected, refresh_required, missing_scopes, reauth_required, not_connected or error), connected, granted_capabilities, granted_scopes, expires_at, an action hint when the user must reconnect, and server (tool_tier, enabled_namespaces, optional_namespaces, oauth_capabilities, file_inputs, tool_search).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_google_connection_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
capabilityNoOne service to verify, e.g. 'calendar'; if the grant lacks its scopes, state is missing_scopes. Omit to report the overall connection only.

Output Schema

NameRequiredDescriptionDefault
stateNo
actionNo
serverNo
connectedNo
expires_atNo
granted_scopesNo
required_scopesNo
checked_capabilityNo
granted_capabilitiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed21 schema fields changedv2.1.0
    • removedInput schema / maxProperties
      Removed value: -10000
    • removedInput schema / properties / capability / anyOf
      Removed value: -[
      -  {
      -    "maxLength": 1000000,
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / capability / default
      Removed value: -null
    • changedInput schema / properties / capability / description
      Previous value: -"Single capability name to check granted scopes for, e.g. 'gmail' or 'calendar'; omit to report overall connection state without a per-capability scope check."New value: +"One service to verify, e.g. 'calendar'; if the grant lacks its scopes, state is missing_scopes. Omit to report the overall connection only."
    • addedInput schema / properties / capability / enum
      Added value: +[
      +  "calendar",
      +  "chat",
      +  "docs",
      +  "drive",
      +  "forms",
      +  "gmail",
      +  "keep",
      +  "meet",
      +  "people",
      +  "sheets",
      +  "slides",
      +  "tasks"
      +]
    • addedInput schema / properties / capability / type
      Added value: +"string"
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • removedOutput schema / description
      Removed value: -"Structured response returned by this MCP tool."
    • removedOutput schema / properties / action / description
      Removed value: -"Response field: action."
    • removedOutput schema / properties / checked_capability / description
      Removed value: -"Response field: checked capability."
    • removedOutput schema / properties / connected / description
      Removed value: -"Response field: connected."
    • removedOutput schema / properties / expires_at / description
      Removed value: -"Response field: expires at."
    • addedOutput schema / properties / expires_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / granted_capabilities / description
      Removed value: -"Response field: granted capabilities."
    • removedOutput schema / properties / granted_scopes / description
      Removed value: -"Response field: granted scopes."
    • removedOutput schema / properties / principal_key
      Removed value: -{
      -  "description": "Response field: principal key."
      -}
    • removedOutput schema / properties / required_scopes / description
      Removed value: -"Response field: required scopes."
    • removedOutput schema / properties / resource
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "Stable cross-tool Workspace resource handle when applicable.",
      -  "properties": {
      -    "etag": {
      -      "description": "Provider entity tag.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "id": {
      -      "description": "Provider resource identifier.",
      -      "type": "string"
      -    },
      -    "kind": {
      -      "description": "Workspace resource kind.",
      -      "type": "string"
      -    },
      -    "mime_type": {
      -      "description": "MIME type when applicable.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "modified_at": {
      -      "description": "Last modification time.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "name": {
      -      "description": "Human-readable name.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "uri": {
      -      "description": "Stable Workspace resource URI.",
      -      "type": "string"
      -    },
      -    "web_url": {
      -      "description": "Provider web URL.",
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "required": [
      -    "kind",
      -    "id",
      -    "uri"
      -  ],
      -  "type": "object"
      -}
    • addedOutput schema / properties / server
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "enabled_namespaces": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "file_inputs": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "drive": {
      +          "type": "string"
      +        },
      +        "local": {
      +          "type": "string"
      +        },
      +        "remote": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "oauth_capabilities": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "optional_namespaces": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "apps": {
      +          "type": "boolean"
      +        },
      +        "chat": {
      +          "type": "boolean"
      +        },
      +        "gemini": {
      +          "type": "boolean"
      +        },
      +        "keep": {
      +          "type": "boolean"
      +        },
      +        "meet": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "tool_search": {
      +      "type": "boolean"
      +    },
      +    "tool_tier": {
      +      "type": "string"
      +    },
      +    "tool_tiers": {
      +      "items": {},
      +      "type": "array"
      +    }
      +  },
      +  "required": [],
      +  "type": "object"
      +}
    • removedOutput schema / properties / state / description
      Removed value: -"Response field: state."
    • removedOutput schema / title
      Removed value: -"Get Google Connection Status response"
  2. First observedv0.3.7

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare this a read-only, idempotent, non-destructive call, and the one genuinely additive behavioral fact is 'without calling Google' plus the note that remote clients should re-list tools after consent. The rest of the sentence enumerates return fields that the output schema already defines, so the marginal disclosure is modest.

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?

Front-loaded with purpose and usage before the long return-field enumeration; every sentence carries information. It is slightly heavy because the trailing list of state values and server sub-fields duplicates the output schema and could be trimmed.

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?

For a zero-required-parameter read tool with full schema coverage, annotations, and an output schema, this covers purpose, timing, and the remote-client caveat thoroughly. The only soft spot is repeating return fields instead of relying on the declared output schema.

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

Parameters3/5

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

Schema coverage is 100% and the sole 'capability' parameter already has a full enum with its own description explaining the missing_scopes behavior. The description's 'which services it grants' restates that in looser terms rather than adding syntax or edge-case detail, so the baseline 3 applies.

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?

States a specific verb and resource (check the calling user's Google connection and granted services) plus a second scope (what the server offers), and explicitly notes it does not contact Google. That distinguishes it cleanly from connect_google_workspace and disconnect_google_workspace without needing to open any schema.

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

Usage Guidelines5/5

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

Gives explicit triggers: before connect_google_workspace, after a consent finishes, or to learn the active tool tier. It also flags the alternative path for remote users (tools/list already reflects grants, so re-list after consent), which is the kind of when-not guidance that rarely appears.

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