Skip to main content
Glama

Link account

link_account
Destructive

Link a connected account to a client that ALREADY exists — the step after connecting a platform when the client is set up but the new account is not placed yet (the refusal says 'not linked to any of your clients'). Use the IDs exactly as the list tools returned them. Each account is looked up by name and checked against the client's name: one that looks like a different business blocks the link until the person confirms it. Previews unless confirm is true. If the client already has a different account of that kind, nothing changes unless replace is true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clientYesThe client's name as list_clients returns it
confirmNofalse previews; true links
replaceNoOnly after the preview said the client already has a different account of that kind AND the person wants it swapped for this one.
crm_locationNoCRM location id
meta_accountNoMeta ad account, act_…
wordpress_site_idNoWordPress site id from wp_list_sites
analytics_propertyNoGA4 property id, digits only
google_ads_accountNoGoogle Ads customer id
search_console_siteNoSearch Console site exactly as listed, e.g. sc-domain:example.com
acknowledge_mismatchNoOnly after the preview flagged an account as looking like a different business AND the person has confirmed it does belong to this client.
business_profile_locationNoBusiness Profile location id

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and non-idempotent, but the description goes further: it explains the preview/confirm gate, the mismatch-blocking behavior, and that nothing changes without replace=true. It discloses the exact failure mode ('not linked to any of your clients') and the safeguard before a destructive write.

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-loads the key fact (links to an ALREADY-existing client) and the differentiator in the first clause. Some parenthetical asides are dense, but every sentence carries procedural weight. Could be trimmed slightly without losing meaning.

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 lifecycle position, preconditions, preview/confirm workflow, mismatch handling, replace semantics, and ID sourcing for an 11-parameter destructive tool with no output schema. Nothing an agent needs to call this correctly is missing.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline is 3, and the description earns credit above it: it clarifies that IDs must come verbatim from the list tools, that each account is looked up by name and cross-checked against the client's name, and that confirm/acknowledge_mismatch/replace are staged confirmations. That adds real semantics beyond the schema strings.

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 (link) and resource (connected account to an existing client), and explicitly positions itself in the lifecycle as 'the step after connecting a platform.' It even quotes the refusal message that selects this tool, making it unmistakable against siblings like connect_platform and create_client.

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 scopes the precondition (client must ALREADY exist, account not yet placed) and routes the agent: use list-derived IDs, expect a preview unless confirm is true, and use replace only after a preview flagged a conflicting account. The when/when-not conditions are all present.

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.