Skip to main content
Glama

Set up a Workflow

set_up_workflow

Set up the Workflow preview_workflow_setup proposed: pass the same arguments plus its previewHash. Publishes the definition as version 1 and creates a translation memory unless one was named. Refused when anything changed since the preview (WORKFLOW_PREVIEW_STALE, with the fresh preview), and when a Workflow already holds the repository (WORKFLOW_REPOSITORY_CLAIMED), so a retry never creates a second one. Starts no run: start_workflow_run does, once the user agrees to spend credits. When referring to a project or language in your reply to the user, use its name and locale (e.g. "French (fr-FR)") — ids (UUIDs) are for tool calls only, never show them to the user.

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": {
      "installationId": "<installationId>",
      "repository": "<repository>",
      "previewHash": "<previewHash>"
    },
    "name": "set_up_workflow"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoDefault: the repository’s `owner/repo`.
importNoWhat the first run does with translations already in the target files: `ignore` (default) translates every string afresh and writes over them; `reviewed` or `translated` imports them at that status.
branchesNoWatched branches, in order; detection reads the first. Default: the repository’s default branch.
patternsNoPatterns in place of detection’s. With them, no `patterns` need is answered: a setup may sit on a branch with no locale files yet.
repositoryYes`owner/repo`, any case. Its numeric id is resolved through the installation.
previewHashYesThe previewHash preview_workflow_setup answered
installationIdYesGitHub’s numeric App installation id (`installationId` of `GET /api/github/installations`); it must be this organisation’s
sourceLanguageNoIn place of the detected source; respelled to the language catalog’s spelling.
targetLanguagesNoDeclared targets in place of the detected ones, taken as given.
translationMemoryIdNoAn existing translation memory of the organisation (404 `TRANSLATION_MEMORY_NOT_FOUND` otherwise). Absent, confirm creates one named after the Workflow.

Output Schema

NameRequiredDescriptionDefault
idYes
nameYes
activeYesWhether its Input’s connection is healthy: a GitHub Input’s credentials, or a Contentful Input’s space linked to this organisation. An inactive Workflow starts no runs.
archivedYes
createdAtYes
takeoversYes
updatedAtYes
archivedAtYes
descriptionYes
currentVersionYes
createdTranslationMemoryYesThe translation memory setup created; `null` when the body named one

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare it as a non-read-only, non-destructive, open-world write; the description adds what that write actually does: publishes as version 1, creates a translation memory unless one was named, returns a fresh preview on staleness, and refuses rather than duplicating when a repository is already claimed. This discloses side effects and retry semantics that annotations cannot express.

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 the core action, then error conditions, then the non-action, all in tightly packed sentences. The closing instruction about showing locale names and never UUIDs is slightly tangential to invocation but is short and conveys a real output-presentation rule.

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?

For a 10-parameter mutating tool with an output schema and full schema descriptions, the description covers the remaining gaps an agent needs: side effects (version 1, translation memory creation), refusal modes with codes and the recovery payload, and the fact that no run is started. 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 100%, so the baseline is 3, but the description adds real meaning: the arguments must be the same ones passed to the preview plus its previewHash, and the 'unless one was named' rule for translationMemoryId. It does not add detail on the remaining optional fields, but the schema already carries those.

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 ('Set up the Workflow') and ties it explicitly to the preview it confirms ('preview_workflow_setup proposed'), so the agent can distinguish this confirm step from the preview and from run-starting siblings 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?

Gives explicit when-not conditions with error codes (WORKFLOW_PREVIEW_STALE, WORKFLOW_REPOSITORY_CLAIMED) and names the alternative for the adjacent action ('Starts no run: start_workflow_run does, once the user agrees to spend credits'), which is exactly the routing an agent needs.

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.