Skip to main content
Glama

Update registry robot projects

update_registry_robot_projects
Destructive

Change which projects a registry robot reaches, keeping its login and secret. projects is the full list from now on: projects it keeps keep their access, and projects it gains get new_project_scope. This only works where the registry can change the robot in place. Otherwise, which includes every robot whose admin credential is itself a robot and every move between one project and several, it changes nothing and answers the command a person can run to replace the robot. Never ask for or expect a secret from this tool. Google Artifact Registry robots are refused. Requires credentials.write, and credentials.reveal for a robot on a registry the organisation runs or one with grants past the presets.

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": {
      "robot_name": "<robot_name>",
      "projects": "<projects>"
    },
    "name": "update_registry_robot_projects"
  }
}

Input Schema

NameRequiredDescriptionDefault
projectsYesEvery project the robot should reach from now on, 1 to 20, as list_registry_robots names them.
robot_nameYesThe robot's name, from list_registry_robots.
new_project_scopeNoAccess on projects the robot gains: pull, the default, or push (push and pull).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructive=true and readOnly=false, and the description adds substantial context beyond them: identity/secret is retained, the call can silently no-op under specific conditions, it returns a human-run replacement command in those cases, Google Artifact Registry robots are refused, required scopes are named, and it never needs a secret. That is unusually rich behavioral disclosure for a mutation tool.

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

Conciseness3/5

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

Core intent is front-loaded in the first clause, but the text is a run of dense, comma-spliced sentences, and phrases like 'answers the command a person can run to replace the robot' take effort to parse. The content earns its place, but the structure could be tightened into clearer separate statements.

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 no output schema, the description covers the failure return path (the replacement command) and all the permission and refusal preconditions an agent needs. It does not say what a successful response contains, which is the remaining gap for a mutation tool with no output schema.

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 is 3, but the description adds real meaning: projects is a full replacement list, retained projects keep existing access, and new_project_scope applies only to newly gained projects. This clarifies the destructive semantics of the array that the schema alone does not emphasize.

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 (change which projects a registry robot reaches) and immediately adds the key invariant: the login and secret are preserved. This clearly separates it from update/rotate credential style siblings and from list_registry_robots.

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?

Gives explicit operating conditions and exclusions: only where the registry can change the robot in place, not for robot-owned admin credentials, and not for moving between one project and several. In the unsupported case it says the tool is a no-op and returns a replacement command. It stops short of naming a sibling tool to call instead, but the conditional guidance is strong.

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.