Skip to main content
Glama

Sync Connections

sync_connections

Refreshes integration health. Pass connectionId (the provider from list_connections) to check one integration, retryJobId to retry a failed sync job, both, or neither to refresh all. It works per integration: zernio refreshes Social publishing as a whole, not one social account. Drive also starts an ingest when a folder is configured. When a website post's approval failed because another CMS page uses its slug (get_post reviewNote lists each page's CMS id), pass useCmsPageId with retryJobId to make that page the post's own and retry in one step. Only a page that is not live and no other Mark post owns is accepted; anything else is refused with the reason and nothing is written. In live publish mode the page is published; in draft mode it stays a draft. Related: list_connections, list_channels, get_post.

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": "sync_connections"
  }
}

Input Schema

NameRequiredDescriptionDefault
retryJobIdNoFailed sync job id to retry.
connectionIdNoProvider from list_connections, e.g. google_drive.
useCmsPageIdNoWith retryJobId, for a website post that failed on a slug collision: the CMS id of the page holding the slug to use for this post before retrying. Replaces that page's content with the post.

Output Schema

NameRequiredDescriptionDefault
retryNo
ingestNo
refreshYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / useCmsPageId / pattern
      Previous value: -"^[\\w-]{1,128}$"New value: +"^[\\w:-]{1,128}$"
  2. Changed1 schema field changed
    • addedInput schema / properties / useCmsPageId
      Added value: +{
      +  "description": "With retryJobId, for a website post that failed on a slug collision: the CMS id of the page holding the slug to use for this post before retrying. Replaces that page's content with the post.",
      +  "pattern": "^[\\w-]{1,128}$",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing side effects ("Drive also starts an ingest when a folder is configured"), per-integration granularity ("zernio refreshes Social publishing as a whole, not one social account"), mode-dependent outcomes ("In live publish mode the page is published; in draft mode it stays a draft"), and failure atomicity ("anything else is refused with the reason and nothing is written"). This is exactly the kind of contract detail 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.

Conciseness4/5

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

Purpose is front-loaded and each sentence carries operational information — modes, side effects, failure conditions, related tools. It is dense and reads as a run-on across three paragraphs, but no sentence is filler.

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?

With an output schema present, return values need not be described, and the description covers parameter combinations, side effects, refusal behavior, and prerequisites. It does not mention permission scopes or whether refresh is rate-limited, which matters given openWorldHint=true and a non-destructive but mutating call.

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 100%, so baseline would be 3; the description earns above that by explaining the interaction between retryJobId and useCmsPageId and the acceptance precondition (page not live, not owned by another Mark post). It stops short of clarifying connectionId's accepted provider values beyond pointing at list_connections.

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?

Opens with a specific verb+resource ("Refreshes integration health") and then enumerates the three concrete operations (health check, job retry, CMS-page reassignment) with named parameters. It is distinguishable from list_connections and update_connection_settings, though the multi-modal nature (refresh vs. retry vs. resolve) makes the single-sentence purpose slightly diffuse.

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?

Explicitly defines the selection logic between modes: "Pass connectionId ... to check one integration, retryJobId to retry a failed sync job, both, or neither to refresh all." It also routes to prerequisite tools ("provider from list_connections", "Related: list_connections, list_channels, get_post") and describes the slug-collision scenario. What's missing is any exclusion guidance versus the sibling resolve_cms_conflict, which appears to cover overlapping territory.

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