Skip to main content
Glama

SEO GSC Wizard MCP

Add a report client

create_report_client

Adds a client contact (an email address, plus an optional name) that shareable reports can then be granted to with manage_report_access. Adding a client does NOT email them and does not give them access to anything on its own; it only creates the contact. A new contact's first grant also waits for the account owner to confirm it by email. Emails are stored lowercased and must be unique per account; adding an address that already exists returns the existing client rather than failing.

Input Schema

NameRequiredDescriptionDefault
nameNo
emailYes

Output Schema

NameRequiredDescriptionDefault
clientNo
createdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / client / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "clientId": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "createdAt": {
      -        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      -      },
      -      "email": {
      -        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      -      },
      -      "name": {
      -        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "clientId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "createdAt": {
      +        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      +      },
      +      "email": {
      +        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      +      },
      +      "name": {
      +        "$ref": "#/properties/client/anyOf/0/properties/clientId"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only say readOnly=false, destructive=false, openWorld=false. The description adds genuinely non-obvious behavior: normalization to lowercase, per-account uniqueness, idempotent collision handling (returns the existing client instead of failing), and the owner email-confirmation gate on first grant. That is exactly the extra context annotations cannot convey.

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

Conciseness5/5

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

Four sentences, front-loaded with the action, then side effects, then edge-case return behavior. No filler; each clause adds a fact the agent would otherwise have to discover by trial.

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

Completeness5/5

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

Covers the mutation's side effects, the prerequisite for downstream use (owner confirmation), duplicate handling, and the normalization rule. With an output schema present, no return-format explanation is needed, so nothing material is missing.

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 0%, so the description must carry meaning, and it does: quantifies email as unique-per-account and lowercased, and frames name as optional metadata attached to the contact. It does not mention length constraints, but those are in the schema and are low-stakes.

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 ('Adds a client contact ... email address, plus an optional name') and immediately positions it against the sibling it complements (manage_report_access). An agent can distinguish it from list_report_clients and manage_report_access without opening 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?

Explicitly states what this tool does NOT do ('Adding a client does NOT email them and does not give them access to anything on its own') and names the sibling that performs the granting step. The when-to-use boundary is unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources