Skip to main content
Glama

scalix_computer_set_ssh_keys

DestructiveIdempotent

Replace the ssh keys authorised for root on a persistent Linux machine. This is how you revoke: send the list without the key you want gone, and on a running machine it stops working immediately. Sending an empty list removes every key. Not a patch — whatever you send becomes the whole list, so read the current keys from scalix_computer_list first if you mean to add one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesMachine id
ssh_keysYesThe complete list of OpenSSH public keys, max 32. Empty array removes all of them.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations mark the tool as destructive and idempotent. The description adds critical behavioral nuance beyond these hints: changes take effect immediately on running machines, sending an empty list removes all keys, and the operation is a full replacement ('Not a patch'). This fully discloses the destructive and non-incremental nature of the operation.

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

Conciseness5/5

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

Three sentences, each earning its place: first states purpose, second explains revocation and immediate effect, third clarifies full-replacement semantics and gives a caution. It is succinct, well-ordered, and free of filler.

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?

Despite having no output schema and only two simple parameters, the description fully covers purpose, usage steps, destructive behavior, edge cases (empty list), and relationship to related tools like scalix_computer_list. An agent has all necessary context to invoke this tool safely and correctly.

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?

Input schema already covers both parameters with 100% description coverage, including the meaning of an empty array. The description adds practical semantics by explaining the replace-not-patch behavior and advising to read current keys first before adding one, which goes beyond the schema's literal field descriptions.

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?

The description opens with a specific verb and resource: 'Replace the ssh keys authorised for root on a persistent Linux machine.' This clearly distinguishes the tool from siblings by focusing on SSH key replacement, not listing, executing, or file operations.

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?

The description explicitly explains when and how to use the tool for revocation and removal: 'This is how you revoke... Sending an empty list removes every key.' It also warns against adding without reading current keys and points to scalix_computer_list as the source for existing keys, providing clear alternative guidance.

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.

TDQS

A3.6/5.0
Disambiguation4/5

Tools are grouped by service prefix and generally target distinct resources/actions. A few execution surfaces could be confused (sandbox_run vs computer_exec vs fn_invoke; build_create vs fn_deploy vs run_deploy), and storage_list is overloaded for both buckets and objects, but descriptions clarify the boundaries well.

Naming Consistency4/5

The scalix_ prefix plus snake_case is used throughout, and most tools follow <service>_<verb>_<noun>. Minor deviations like scalix_search, scalix_status, and scalix_usage omit a service-domain qualifier, but the overall pattern is predictable and easy to navigate.

Tool Count2/5

53 tools is a very large surface. While the server covers a broad multi-service cloud platform, the count falls well beyond the 25+ threshold and will likely feel overwhelming; many service areas could reasonably be split into separate servers or trimmed.

Completeness2/5

Several service lifecycles have obvious gaps: the KV store has get/list/set but no delete, storage has upload/download/list but no delete for objects or buckets, functions have deploy/list/invoke but no delete/update, and cron has create but no list/delete. These missing operations create dead ends for agents managing common resources.