Skip to main content
Glama

Read selected CRM connections and safe readiness

native.genads_crm_connections
DestructiveIdempotent

Read selected CRM connections and safe readiness. CRM grants are independent of advertiser permissions. Connect or change access in GenAds; no tokens or contacts appear here.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "work_id": "<work_id>",
      "arguments": "<arguments>",
      "expected_catalog_version": "<expected_catalog_version>",
      "read_skills": "<read_skills>",
      "request_key": "<request_key>"
    },
    "name": "native.genads_crm_connections"
  }
}

Input Schema

NameRequiredDescriptionDefault
work_idYes
argumentsYes
read_skillsYesExact required native skills and their dependencies, copied from the accepted session bootstrap's skills array. Include only entries in that array. General mcp.* guides and native.{studio}.instructions are guidance, not native skill proofs.
request_keyYes
publication_proposal_idNoFor native Social scheduling, the exact server-approved publication proposal. This identifier cannot confer approval by itself.
expected_catalog_versionYesFor a new session, read a studios/{studio}/native/{pack} child toolset and copy invocation.catalog_version from a native tool descriptor. Do not use the top-level library version. For calls in an existing session, use that session proposal's catalog_version.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior2/5

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

The description frames the operation as a safe read ('Read selected CRM connections', 'safe readiness', 'no tokens or contacts appear here'), yet annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict the agent cannot resolve from the text, and the description never explains what state a call mutates or why it could be destructive. The disclosure that no credentials or contact records are returned is genuinely useful, but it deepens rather than resolves the inconsistency.

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?

Three short sentences, purpose front-loaded, no filler. The second and third sentences each carry a distinct point (permission independence, external setup, no secrets returned). Slightly undermined by the vague term 'safe readiness' occupying the headline position.

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?

An output schema exists, so return values need not be described, and the schema documents the two most complex envelope fields itself. For a read-scoped connection tool, the remaining gaps (parameter meanings) are already covered by the schema; the substantive missing piece is the annotation conflict, which is scored under behavioral transparency.

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

Parameters2/5

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

Six parameters with only 50% schema description coverage, and the description says nothing about any of them: not the work_id/request_key envelope, not arguments, not read_skills, not the catalog version, not publication_proposal_id. The phrase 'selected' hints that selection is scoped elsewhere (likely by the envelope) but never explains how. With half the schema undocumented, the description fails to compensate.

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

Purpose4/5

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

States a specific verb and resource: 'Read selected CRM connections and safe readiness', with the scope word 'selected' signalling this is a curated view rather than all CRM data. It is distinguishable from obvious siblings such as native.genads_crm_request or native.genads_crm_reviews, though 'safe readiness' is internal jargon and the description never contrasts itself with those siblings explicitly.

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

Usage Guidelines3/5

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

Provides one useful when-not: 'Connect or change access in GenAds' tells the agent this tool cannot establish or modify a CRM grant, so that action must happen outside. It also warns that CRM grants are independent of advertiser permissions, which implies a missing-grant condition is not an error state. However, no guidance is given on when to use this versus native.genads_crm_request, native.genads_refresh_crm, or native.genads_crm_reviews.

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