Arcane MCP
Manages Docker containers, images, volumes, networks, and Docker Compose projects through the Arcane API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Arcane MCPlist running containers in default environment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Arcane MCP
A Model Context Protocol (MCP) server for controlling Arcane Docker Management. This server provides comprehensive access to the Arcane API, enabling AI assistants to manage Docker containers, images, volumes, networks, and compose projects through the MCP protocol.
Features
Container Management: List, create, start, stop, restart, and delete containers
Image Management: List, pull, remove, and prune images
Volume Management: Full volume lifecycle including backups, restores, and file browsing
Network Management: Create, list, and remove Docker networks
Project/Compose Support: Deploy and manage Docker Compose projects
Environment Management: Multi-environment support with connection testing
System Monitoring: Health checks, version info, and system-wide operations
Related MCP server: mcp-server-docker
Prerequisites
Node.js 18 or higher
An Arcane instance running and accessible
Either an API key or username/password credentials for authentication
Installation
npm install
npm run buildConfiguration
The server is configured via environment variables:
Variable | Required | Description |
| Yes | Base URL of the Arcane API (e.g., |
| No* | API key for authentication |
| No* | Username for login |
| No* | Password for login |
*Either ARCANE_API_KEY or both ARCANE_USERNAME and ARCANE_PASSWORD must be provided.
Usage
npm startFor development with hot reload:
npm run devIntegration with MCP Clients
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"arcane": {
"command": "node",
"args": ["/path/to/@4ears-me/arcane-mcp/dist/index.js"],
"env": {
"ARCANE_API_URL": "https://arcane.example.com",
"ARCANE_API_KEY": "your-api-key"
}
}
}
}Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"arcane": {
"command": "node",
"args": ["/path/to/@4ears-me/arcane-mcp/dist/index.js"],
"env": {
"ARCANE_API_URL": "https://arcane.example.com",
"ARCANE_API_KEY": "your-api-key"
}
}
}
}Using with npx
{
"mcpServers": {
"arcane": {
"command": "npx",
"args": ["-y", "@4ears-me/arcane-mcp"],
"env": {
"ARCANE_API_URL": "https://arcane.example.com",
"ARCANE_API_KEY": "your-api-key"
}
}
}
}Available Tools
Environment Tools (6 tools)
Tool | Description |
| List all environments with optional search filter |
| Get details for a specific environment by ID |
| Create a new environment |
| Update an existing environment |
| Delete an environment by ID |
| Test the connection to an environment |
Container Tools (8 tools)
Tool | Description |
| List containers in an environment |
| Get details of a specific container |
| Create a new container with full configuration options |
| Start a container |
| Stop a container |
| Restart a container |
| Delete/remove a container |
| Get container status counts for an environment |
Image Tools (6 tools)
Tool | Description |
| List images in an environment |
| Get details of a specific image |
| Pull an image from a registry |
| Remove an image from the environment |
| Prune unused images from the environment |
| Get image usage counts for an environment |
Volume Tools (11 tools)
Tool | Description |
| List all volumes in an environment |
| Get details of a specific volume |
| Create a new volume |
| Remove a volume from an environment |
| Prune unused volumes in an environment |
| Browse files in a volume |
| Get content of a file from a volume |
| Get disk sizes for all volumes |
| List backups for a volume |
| Create a backup of a volume |
| Restore a volume from a backup |
Network Tools (5 tools)
Tool | Description |
| List networks in an environment |
| Get details of a specific network |
| Create a new network |
| Remove a network from an environment |
| Prune unused networks from an environment |
Project Tools (11 tools)
Tool | Description |
| List Docker Compose projects in an environment |
| Get details of a specific project |
| Create a new Docker Compose project |
| Update an existing project |
| Delete/destroy a project |
| Deploy a project (docker-compose up) |
| Stop/bring down a project |
| Restart a project |
| Redeploy a project |
| Pull images for a project |
| Get project status counts for an environment |
System Tools (5 tools)
Tool | Description |
| Get Arcane system information |
| Get Docker daemon information for an environment |
| Perform system-wide prune on an environment |
| Check the health status of the Arcane API |
| Get the Arcane version information |
Development
Command | Description |
| Compile TypeScript to JavaScript |
| Run in development mode with tsx |
| Run the compiled server |
License
MIT
Available Tools
52 toolsarcane_browse_volumeC
Browse files in a volume
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | The path to browse (default: root) | |
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral details itself. It merely states 'Browse files in a volume' without explaining what browsing entails, such as whether it returns a listing, whether it is recursive, or any side effects. This is a significant transparency gap for a tool that needs to be invoked correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, just six words, which is efficient. However, it is under-specified; it could be slightly expanded to convey more useful information without becoming verbose. The single-sentence structure is appropriate but does not maximize its limited length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain what the browse operation returns, whether path defaults to root, or any other contextual details needed for correct invocation. This is far below the minimum viable completeness for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all three parameters (environmentId, volumeName, path) with 100% coverage. Since the schema already documents the parameters, the baseline score is 3. The description adds no additional parameter semantics, but it is not required to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'browse' and the resource 'files in a volume', clearly indicating the tool's purpose. It is understandable on its own, though it does not explicitly distinguish itself from the sibling 'arcane_get_volume_file', which could also involve file access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not specify when to choose this tool over alternatives, mention prerequisites, or offer any context about use cases or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_containerB
Create a new container in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment variables | |
| name | No | Container name | |
| image | Yes | Docker image to use | |
| ports | No | Port mappings | |
| labels | No | Container labels | |
| memory | No | Memory limit in bytes | |
| command | No | Command to run | |
| volumes | No | Volume mounts | |
| hostname | No | Container hostname | |
| networks | No | Networks to connect | |
| cpuShares | No | CPU shares | |
| autoRemove | No | Auto-remove container on exit | |
| privileged | No | Run in privileged mode | |
| environmentId | Yes | The environment ID | |
| restartPolicy | No | Restart policy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects and behavior, but it only states 'Create a new container'. It does not mention whether the container is started after creation, what permissions are needed, or any side effects like image pulling or network attachment. This is insufficient for a creation action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundant words or filler. It is concise and direct, achieving its purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters, nested objects) and lack of annotations/output schema, the one-sentence description is inadequate. It does not explain the return value (e.g., container ID), what happens on success/failure, or behavioral nuances. The schema covers parameters, but the overall context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptive text for every parameter, so the baseline is 3. The description adds no additional parameter details, but the schema already provides sufficient semantics for each field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb ('Create'), the resource ('a new container'), and the scope ('in an environment'). This distinguishes it from sibling tools like start/stop/delete container and create_environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a new container is needed, but provides no explicit guidance on prerequisites (e.g., environment must exist) or when to prefer this over other create tools (e.g., create_network, create_volume). No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_environmentC
Create a new environment.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL endpoint for the environment | |
| name | Yes | Name of the environment | |
| description | No | Description of the environment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only says 'Create a new environment' and does not mention side effects, permissions, idempotency, or what the response contains. This is a complete lack of behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it merely restates the tool name. It is under-specified and fails to add informative content, making it more of a placeholder than a useful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and full schema coverage, some detail is present, but there is no output schema and no annotations. The description does not explain creation behavior, return values, or any important context, leaving the agent without enough information to fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all three parameters (url, name, description), giving 100% schema coverage. The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Create' and the resource 'environment', making the purpose clear. However, it does not distinguish this tool from sibling environment tools like update_environment or delete_environment, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states the action without any context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_networkB
Create a new network in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The network name | |
| driver | No | Network driver (e.g., bridge, overlay) | |
| labels | No | Labels to apply to the network | |
| subnet | No | Subnet CIDR (e.g., 172.20.0.0/16) | |
| gateway | No | Gateway IP address | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It simply says 'Create a new network' but doesn't mention side effects, idempotency, permissions, what happens on duplicate names, or the response format. This is a significant gap for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the action and resource. However, it is extremely minimal and could include more context without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is too sparse. It doesn't explain return values, error behaviors, or any additional context like whether the environment must exist. The schema covers parameters, but the overall tool context is incomplete for an agent to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional meaning beyond the schema; it just says 'create a network.' Baseline 3 is appropriate because the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Create a new network in an environment.' It uses a specific verb ('create') and resource ('network') and scopes it to an environment. This distinguishes it from sibling tools that list, get, remove, or prune networks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating what the tool does, but provides no explicit guidance on when to use it vs alternatives, prerequisites, or exclusions. It's a creation tool, so the usage is somewhat self-evident, but no context is given about when creating a network is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_projectC
Create a new Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| path | No | ||
| gitRepoId | No | ||
| composeFile | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are empty, so the description carries the full burden of behavioral disclosure. It only states that a project is created, but does not mention side effects, the need for an existing environment, whether the compose file is validated, or whether it triggers a deployment. This is comparable to the 'update_drive' example where mutation side effects are undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words, front-loading the verb and object. It is efficient in size and structure, though the brevity contributes to the lack of substantive information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters (3 required), no output schema, and no annotations. The description only provides a high-level action and omits critical contextual details such as how the compose file is used, the role of environmentId, and what the response contains. This leaves the agent with insufficient information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description names none of the five parameters. It provides no insight into the meaning or purpose of environmentId, name, composeFile, path, or gitRepoId. With such low schema coverage, the description must compensate, but it does not, failing to guide parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('a new Docker Compose project'). It is a specific verb+object description that distinguishes the tool from other create tools by specifying the resource type. However, it does not explicitly differentiate from sibling tools like arcane_deploy_project or explain how this create differs from a deploy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., an existing environment), whether the created project is immediately deployed, or the relationship to arcane_deploy_project. The absence of any usage context leaves the agent without decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_volumeB
Create a new volume in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The volume name | |
| driver | No | The volume driver (default: local) | |
| labels | No | Labels to apply to the volume | |
| driverOpts | No | Driver options as key-value pairs | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full responsibility for behavioral disclosure. It only states the basic action, omitting details about idempotency, duplicate name handling, or whether the environment must exist. The behavior beyond the obvious 'create' is undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single, front-loaded sentence with no filler. It is concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no output schema, and no annotations, the description is too sparse. It does not mention return values, error conditions, or the relationship to other volume operations, making it incomplete for an agent to invoke with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description itself adds no additional meaning, but the schema already documents required fields and defaults like driver=local.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create' and resource 'volume' with scope 'in an environment', distinguishing it from sibling volume operations like list, get, remove, and prune. It is a specific, actionable statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites like an existing environment or how this relates to creating containers. The only usage clue is the phrase 'in an environment', which is implicit but not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_create_volume_backupB
Create a backup of a volume
| Name | Required | Description | Default |
|---|---|---|---|
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states it creates a backup (a mutation) but does not disclose any side effects, such as whether the operation is synchronous, whether it requires the volume to be running, or how the backup is stored. This is a significant gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no filler or redundancy. It communicates the core purpose efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal and lacks context that would help the agent understand the tool's full behavior. Given no annotations and no output schema, it does not explain return values, prerequisites, or how the environmentId relates to the volume. For a backup creation tool, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions ('The volume name' and 'The environment ID'). The tool description adds no additional parameter information, so it relies on the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('a backup of a volume'), clearly distinguishing it from sibling tools like restore_volume_backup and list_volume_backups. It directly states the action and object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool vs alternatives. No mention of prerequisites (e.g., volume must exist) or situations where a backup should be created instead of using other volume operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_delete_containerC
Delete/remove a container
| Name | Required | Description | Default |
|---|---|---|---|
| containerId | Yes | The container ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. 'Delete/remove' implies a destructive action, but it does not state that the container and its writable layers are permanently destroyed, nor does it mention any associated volumes or network effects. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with no filler or redundancy. It is front-loaded and directly states the action and resource. Every word earns its place, making it an example of appropriate minimalism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description must compensate with behavioral context. It is too minimal to fully inform an agent about the consequences of deletion, exception scenarios, or confirmation requirements. This is particularly important for a destructive tool and makes the description incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for both parameters (containerId and environmentId), covering 100% of them. The tool description adds no additional meaning, such as explaining the relationship between the parameters or required permissions. As per the rubric, the baseline for high schema coverage is 3, and no extra value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete/remove a container' clearly identifies the action (delete/remove) and the resource (container). It distinguishes from sibling tools that act on different resources (e.g., arcane_delete_environment) or different container operations (e.g., arcane_stop_container), though it could be more explicit about whether it deletes permanently or just removes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention that deleting a container is irreversible, whether it stops the container first, or compare with arcane_stop_container or arcane_remove_image. No usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_delete_environmentB
Delete an environment by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier of the environment to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Delete' which is inherent from the tool name, adding no context about permanence, associated resource cleanup, or permissions needed. This falls short of disclosing anything beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It efficiently communicates the core action and target resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a destructive mutation without annotations, the description is under-specified. It lacks important warnings about irreversibility, cascading effects, or any operational caveats a developer would need when using this tool. While the schema is simple, the absence of safety context makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single parameter 'id' with a clear description. The tool description adds no additional meaning beyond what the schema states, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb 'delete' and resource 'environment by ID'. It fully distinguishes itself from sibling tools like arcane_get_environment or arcane_update_environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only states the action without specifying prerequisites, irreversible consequences, or scenarios where a different tool should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_delete_projectC
Delete/destroy a Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey the full behavioral profile. It does say 'delete/destroy', which implies destructive intent, but it does not disclose the scope of destruction (e.g., whether associated containers, volumes, or networks are also removed), permanence, or required permissions. This is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short, front-loaded phrase with no redundant words. 'Delete/destroy' and 'Docker Compose project' together convey the essential action and target concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive nature of the tool, the absence of annotations, and a minimal schema, the description is under-specified. It lacks information about return values, side effects, or how environmentId relates to the project deletion. The description is not complete enough for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (projectId, environmentId) with no descriptions (0% coverage), and the description does not mention them at all. The description fails to compensate for the lack of schema documentation, leaving the agent to infer meaning solely from parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete/destroy a Docker Compose project' clearly states the action (delete/destroy) and the resource (Docker Compose project). It distinguishes this tool from sibling project tools like create, update, deploy, and stop by indicating a destructive removal operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as deleting individual containers or volumes. It does not mention prerequisites, nor does it warn against use in certain scenarios. This leaves the agent without context for selecting this over other destructive tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_deploy_projectC
Deploy a Docker Compose project (docker-compose up)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only gives the command equivalent ('docker-compose up') but does not disclose side effects such as creating or starting containers, potential changes to existing services, or whether it is safe to call repeatedly. For a mutating operation, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with a parenthetical clarification, containing no redundant wording. It is appropriately concise for a simple action, though it could be expanded with useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 params, no output schema) but the absence of annotations and parameter explanations, the description is too thin. It does not provide enough information to reliably select this tool over siblings or to know the intended effect of the parameters, leaving important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema lists two required string parameters (projectId, environmentId) with no descriptions, and the tool description does not explain their meanings or relationship. With 0% schema coverage, the description must compensate but fails to, leaving the agent guessing what each ID refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Deploy') and resource ('Docker Compose project'), and the parenthetical 'docker-compose up' clarifies the exact operation. However, it does not explicitly distinguish this from the sibling redeploy_project, leaving some ambiguity about when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like redeploy_project or start_project, nor any prerequisites or exclusions. The agent is left to infer the appropriate context from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_containerA
Get details of a specific container
| Name | Required | Description | Default |
|---|---|---|---|
| containerId | Yes | The container ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full disclosure burden. It only says 'Get details,' giving no information about response shape, error behavior, or authentication requirements. The read-only nature is implied by 'get' but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It effectively conveys the tool's purpose without wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the schema fully documents the parameters, but there is no output schema and the description does not specify what 'details' are returned. This leaves a gap in the agent's understanding of the return value, though the task is otherwise straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both containerId and environmentId described. The description adds no extra meaning beyond the schema, so it meets the baseline but does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get details of a specific container.' It clearly distinguishes from siblings like list_containers by emphasizing a single, specific container rather than listing many.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the phrase 'specific container' suggests the agent should use this when it has a concrete container ID. However, it does not explicitly state when to prefer this over list_containers or provide exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_container_countsC
Get container status counts for an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only restates the operation without revealing the output structure, whether it aggregates across all containers, or any side effects/permissions. This leaves the agent with significant unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. It front-loads the action and resource, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's apparent simplicity, the description lacks crucial context about what 'status counts' includes (e.g., which statuses, return format) and there is no output schema to compensate. No annotations or additional context are provided, leaving the agent with an ambiguous understanding of the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter environmentId is fully documented in the schema with a description, and coverage is 100%. The description adds no extra semantic information beyond the word 'environment', so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('container status counts') scoped to an environment. While it does not explicitly differentiate from siblings, the resource is distinct from image/project counts and list_containers, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as arcane_list_containers or arcane_get_image_counts. The description only states the operation without context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_docker_infoA
Get Docker daemon information for a specific environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It implies a read-only operation via 'Get', but does not disclose any additional behavioral traits such as required permissions, possible errors, or what fields of Docker daemon info are returned. A 3 is appropriate as it is clearly non-destructive, but lacks richer context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource. There is no wasted wording, earning a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple one-parameter schema and no output schema, so the description is the sole source of return semantics. It is unclear what 'Docker daemon information' includes, and there is no differentiation from similar getter tools, making it minimally adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter with 100% coverage. The description adds no new semantic detail beyond confirming the environment scope, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource as 'Docker daemon information' scoped to an environment. This distinguishes it from sibling tools like get_system_info or get_environment, even though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does, without mentioning exclusions, prerequisites, or better-suited tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_environmentA
Get details for a specific environment by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier of the environment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits on its own. It only states 'Get details' and does not address error behavior, return format, or side effects. This is a minimal disclosure for a getter, scoring a 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence, front-loaded with the verb, and contains no filler. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (one parameter, no output schema) and the clear sibling set, the description provides enough context for an agent to select and invoke it correctly. It lacks return format details, but these are inferable from the tool's purpose, so it earns a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully documents the 'id' parameter with 100% coverage. The description merely repeats 'by ID' without adding new meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with the resource 'environment' and a clear scope 'by ID.' It clearly distinguishes from sibling tools like list_environments (which would return multiple) and create/update/delete. This is a textbook level of purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you have a specific environment ID and need its details, but it does not explicitly state prerequisites or mention alternatives like list_environments. There is no exclusion or when-not guidance, so it falls short of a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_healthA
Check the health status of the Arcane API
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only says 'check health status' without detailing what the response contains, whether it is read-only, or any potential side effects. The lack of an output schema makes this even more insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose. It is concise and front-loaded, with no wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the absence of an output schema means the description should clarify what 'health status' indicates (e.g., response format, possible values). The current description is minimal but adequate for a trivial health check; however, more detail about the return value would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description need not explain parameter meaning. Per the rubric, a baseline of 4 is appropriate when there are no parameters, and the description adds no unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the health status of the Arcane API, using a specific verb and resource. It distinguishes from siblings like arcane_get_system_info and arcane_get_version by focusing on health status rather than system details or version information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for health monitoring, but it does not explicitly state when to use this tool versus alternatives like arcane_get_system_info or arcane_get_version. There is no guidance on when not to use it or mention of other tools for related purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_imageC
Get details of a specific image
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | The image ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'get details' but doesn't mention read-only nature, error behavior (e.g., if image not found), authentication requirements, or return format. This is insufficient for a tool in a Docker-like API context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb and object. There is no redundant phrasing, and every word contributes to the meaning, making it appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema and annotations, the description should explain more about what 'details' includes, how the environmentId relates to the image, and what the response structure looks like. It is too vague for an agent to know what to expect, making the tool under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with simple descriptions ('The image ID', 'The environment ID'), providing 100% coverage. The description adds no extra meaning beyond the schema, so it meets the baseline but doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves details for a specific image, using a precise verb and resource. It distinguishes itself from sibling tools like list_images and pull_image, though it doesn't specify what kind of details (metadata, status, etc.) or that it's by ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as list_images for listing all images or get_container for container details. There is no mention of prerequisite steps or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_image_countsB
Get image usage counts for an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It confirms a read-only action via 'Get', but gives no details about return format, potential costs, or what 'usage counts' exactly measures. This leaves the agent guessing about the response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action, zero filler. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (1 param), 'image usage counts' is ambiguous—could mean total images, per-image usage by containers, etc. No output schema and no annotations mean the description should explain more but doesn't.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single parameter with 100% description coverage, so the description adds no additional parameter-level insight. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns image usage counts scoped to an environment. The verb 'Get' and resource 'image counts' distinguish it from siblings like arcane_get_image (single image) and arcane_list_images (listing images).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over alternatives such as arcane_list_images or arcane_get_image. The description doesn't mention any exclusions, prerequisites, or preference contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_networkB
Get details of a specific network
| Name | Required | Description | Default |
|---|---|---|---|
| networkId | Yes | The network ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. The verb 'Get' clearly implies a read-only operation, which is transparent for a simple retrieval. However, it does not disclose error behavior, required permissions, or what 'details' includes, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clean sentence with no redundant or extraneous words. It is front-loaded with the action and resource, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but sufficient for a simple get operation with two well-documented parameters. However, it does not mention the return value or the need for environment context, and there is no output schema to fill that gap. Given its simplicity, it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'networkId' and 'environmentId' having descriptions in the schema. The tool description adds no semantic meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get details of a specific network' clearly states the action (get) and resource (network), with 'specific' distinguishing it from listing all networks. It doesn't explicitly mention environment scoping, so it isn't a perfect 5, but it effectively differentiates from sibling tools like arcane_list_networks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used for retrieving a single network by ID or that arcane_list_networks is for enumeration. There is no explicit context or exclusionary language.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_projectC
Get details of a specific Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Get details', which implies read-only but does not disclose return format, error behavior, or what 'details' includes. This is minimal for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words. It earns its place by stating the core purpose, though it is too brief to provide broader context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and two required parameters, the description is incomplete. It does not explain what details are returned, why environmentId is needed, or how this fits with surrounding project tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameters. The meaning of 'projectId' and 'environmentId' must be inferred entirely from their names, adding no value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Get details of a specific Docker Compose project'. The word 'specific' differentiates it from listing all projects, and 'details' conveys a singular get operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'arcane_list_projects' or when to supply the two required parameters. No prerequisites or exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_project_countsB
Get Docker Compose project status counts for an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure, but it only states the basic purpose. It does not mention what the returned counts look like, whether the operation is read-only, or any potential side effects or performance considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the key information. Every word contributes to the meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is moderately complete, but it does not specify what 'status counts' entails or the format of the response. It leaves the agent to infer the output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'for an environment,' which aligns with the environmentId parameter but does not explain its format, source, or constraints. With 0% schema description coverage, the added meaning is minimal yet the single parameter is self-evident.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'Docker Compose project status counts', making the tool's purpose unambiguous. It distinguishes itself from sibling count tools like get_image_counts and get_container_counts by specifying 'project status counts' and 'for an environment'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool instead of alternatives such as list_projects or get_project. The description simply states the function without exclusions, prerequisites, or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_system_infoA
Get Arcane system information including version, uptime, and resource counts
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. The verb 'Get' implies a read-only operation, and listing returned contents adds some transparency. However, it does not explicitly state that no resources are modified or mention any potential performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence communicates the tool's purpose and output contents without extraneous words. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, no-parameter system info tool, the description provides sufficient context about the return contents (version, uptime, resource counts). While an output schema is absent, the listed items give a clear expectation. It could mention the format or if any of these counts are nested, but this is not critical for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage (empty schema), so the baseline is 4. The description correctly implies that no arguments are needed, and there are no parameter semantics for the description to enrich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves Arcane system information with specific contents (version, uptime, resource counts). This distinguishes it as a broad system overview, though it does not explicitly call out sibling alternatives like arcane_get_version or arcane_get_docker_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus related tools such as arcane_get_version, arcane_get_docker_info, or arcane_get_health. The description gives no explicit context or exclusions, leaving the agent to infer usage independently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_versionA
Get the Arcane version information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden, but it only says 'Get the Arcane version information.' This implies a read-only operation but doesn't disclose return format, authentication requirements, failure modes, or whether it's local vs. remote. It adds minimal behavioral context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose. It avoids unnecessary detail and is appropriately sized for this simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with no output schema, the description is minimally viable. It explains what it gets but doesn't specify the exact form of the returned 'version information' or any environment nuance. This is an acceptable but not comprehensive description for a very simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the schema is empty and the baseline is 4. The description adds no parameter details, but none are needed. It accurately reflects that no arguments are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb (Get) and the resource (Arcane version information). It is specific and distinguishes this tool from siblings like get_system_info or get_docker_info, as no other tool targets version info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention that it's the go-to for version checks or exclude cases where other info tools are more appropriate. The description simply states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_volumeC
Get details of a specific volume
| Name | Required | Description | Default |
|---|---|---|---|
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only states 'Get details', which implies a read operation, but does not mention side effects, required permissions, possible errors, or return structure. This is minimal and leaves much unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, easy to parse and front-loaded with the verb and resource. It avoids redundancy, though it is slightly under-specified for a production tool, earning a 4 rather than 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with two well-described parameters and no output schema, the description is minimally adequate but does not elaborate on what 'details' are returned or any nuances such as permissions or error conditions. The schema covers the input side, but the output side is left entirely to the agent's assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both parameters (volumeName and environmentId). The description adds no additional parameter semantics beyond what the schema already states, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get details of a specific volume', using a specific verb and resource. It distinguishes from list_volumes by indicating 'specific volume', though it does not explicitly differentiate from other volume-related getters like browse_volume or get_volume_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description simply restates the function without mentioning prerequisites, suitable contexts, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_volume_fileA
Get content of a file from a volume
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | The path to the file | |
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It only states 'Get content' without detailing read-only safety, error handling, size limitations, or return format. It adds no meaningful context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, 'Get content of a file from a volume', with every word contributing to the core message. It is front-loaded and free of unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is conceptually simple, but the description lacks details about return content type, error conditions, or dependencies on environment/volume state. With no annotations or output schema, these gaps make the description only minimally sufficient for understanding full tool behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides complete descriptions for all three required parameters (filePath, volumeName, environmentId), achieving 100% schema description coverage. The description adds no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and identifies the resource ('content of a file from a volume'), clearly distinguishing it from sibling tools like arcane_browse_volume (browse/list) or arcane_get_volume (metadata). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading file contents within a volume, but it does not explicitly state when to use this tool versus alternatives such as arcane_browse_volume or arcane_get_volume. There is no mention of ideal scenarios, prerequisites, or exclusions, leaving the context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_get_volume_sizesA
Get disk sizes for all volumes in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the disclosure burden. The verb 'Get' implies a read-only operation, but the description discloses no other behavioral traits such as return format, error handling, or prerequisites. It adds little beyond what the tool name already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It efficiently communicates the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read operation, the description covers the core functionality. While there is no output schema, the phrasing 'disk sizes for all volumes' adequately implies the return value. More detail on the exact response structure would improve completeness, but the tool's low complexity makes this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the only parameter (environmentId) with a clear description. The tool description references the environment scope but does not add additional semantics beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('disk sizes for all volumes') with a clear scope ('in an environment'). It distinguishes itself from siblings like arcane_list_volumes or arcane_get_volume by focusing specifically on disk sizes rather than general volume information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does, but it does not explicitly mention when to use it over alternatives or any exclusions. The intended usage is implied by the tool's specific function, but no direct guidance is provided compared to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_containersB
List containers in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search filter for containers | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It implies a read-only listing but does not explicitly state that it does not modify state, nor does it mention pagination, response format, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It effectively communicates the core purpose in the minimum length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple list tool but incomplete given no output schema and no annotations. It does not mention what the response contains or any filtering behavior beyond the schema's 'search' parameter, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'environmentId' and 'search' described. The description itself adds no parameter-specific detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('containers'), and the scope ('in an environment'), which is specific and distinguishes it from sibling tools like get_container (single) or list_images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_container_counts or get_container. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_environmentsA
List all environments. Optionally filter by search term.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search term to filter environments by name or description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions listing and optional filtering, but does not disclose whether this is a read-only operation, what the response format is, or whether there is any pagination. Given no output schema, the agent lacks information about return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the core action ('List all environments') and immediately states the optional filter. It contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter, no output schema), and the description covers the primary action and filter. However, it omits details about the return payload (e.g., does it return full environment objects or just names?) and any potential limitations. For a list tool, this is sufficient for basic use but leaves room for assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the search parameter as 'Search term to filter environments by name or description' (100% coverage). The description merely echoes 'filter by search term' without adding extra syntax, default behavior, or edge cases, so it adds no additional value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all environments, with an optional search filter. This is a specific verb+resource combination ('List all environments') that distinguishes it from sibling tools like arcane_get_environment, which presumably retrieves a single environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to see all environments, optionally filtered. However, it does not explicitly mention alternatives or when not to use it. There is no comparison to arcane_get_environment or creation tools, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_imagesB
List images in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search filter for images | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It only says 'list', which implies a read-only operation, but it does not confirm this, nor does it mention pagination, sorting, authentication requirements, rate limits, or the exact return format. This is a significant gap for a tool with no annotation context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of six words, with no redundancy or filler. It front-loads the action and resource, making it immediately scannable. Every word earns its place, and it is appropriately sized given the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple schema (2 params, no nested objects) and lack of output schema, the description is minimally viable. It clearly states the core function, but it omits important context like what the list contains (image IDs? full objects?), whether there is pagination, and how the search parameter interacts with the environment. For a tool with no annotations and no output schema, the description should provide more completion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (search and environmentId). The description does not add any extra semantic meaning beyond the schema; it only repeats that images are listed 'in an environment', which already corresponds to the environmentId parameter. Baseline of 3 is appropriate since the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List images in an environment' clearly states the action (list) and resource (images), with a scope (environment). It is specific enough to distinguish from sibling tools like arcane_get_image (singular) or arcane_pull_image. However, it could be slightly more explicit about whether it returns all image details or just summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention any exclusions, prerequisites, or specific use cases. It simply restates the function, leaving the agent to infer usage from the name. No alternatives are noted, unlike tools that explicitly recommend sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_networksB
List networks in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search filter for network name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is minimal and does not disclose any behavioral traits beyond the basic action. With no annotations, it must carry the full burden, but it does not mention return format, pagination, ordering, or that this is a read-only operation. This is a significant gap for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core purpose. It is efficient with no wasted words, which is appropriate for a simple list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should explain more about the result set, such as whether it returns all networks or supports filtering beyond the search parameter. The description is too sparse to be fully actionable for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both environmentId and search. The description's phrase 'in an environment' merely restates the environmentId parameter and does not add new meaning. Baseline of 3 is appropriate because the schema already handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (networks), and the scope (in an environment). It distinguishes itself from siblings like arcane_get_network (single network) and arcane_create_network/remove_network/prune_networks by focusing on listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While it's obvious for listing, the description does not mention that arcane_get_network should be used for a single network or that pruning requires this list first. No exclusions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_projectsA
List Docker Compose projects in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. The verb 'list' clearly indicates a read-only operation, and the environment scoping is disclosed. It does not mention potential limitations like filtering or pagination, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no superfluous words. It is appropriately sized and front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation, the description is minimally adequate. It covers the primary purpose and environment scope, but lacks details about search semantics and return structure, especially since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides context for environmentId via 'in an environment', but the search parameter is not mentioned or explained, leaving its meaning and format entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and resource 'Docker Compose projects' with environment scoping, clearly distinguishing it from sibling tools like get_project or list_containers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used to enumerate projects within a specific environment, providing clear context. However, it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_volume_backupsC
List backups for a volume
| Name | Required | Description | Default |
|---|---|---|---|
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It only says 'List backups for a volume' and does not disclose what is returned, whether ordering or pagination exists, or any potential side effects. Since it's a read operation, there are no destructive traits, but the description adds no context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the primary action and resource. It is appropriately sized for a simple list operation, though it could be slightly expanded to include return value context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description gives the core purpose but omits details about the return format or any filtering options. Given the low complexity and full schema coverage, it is minimally viable, but additional context on what constitutes a 'backup' or how they are listed would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters, providing descriptions for both 'volumeName' and 'environmentId'. The tool description does not add additional semantics, but the schema is sufficient, so this meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('backups for a volume'), which distinguishes it from sibling tools like create/restore backups and list_volumes. However, it omits the context of environmentId, which is a required parameter, but the schema provides that detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or reference any sibling tools. The usage context must be inferred solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_list_volumesA
List all volumes in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Search filter for volume names | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. The verb 'List' implies a read-only operation, but it does not disclose any details about response format, pagination, or potential side effects. It adds minimal behavioral context beyond the action itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence that is direct and free of fluff. Perfectly concise for a simple listing operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward list tool with a well-defined schema, the description is sufficient. However, there is no output schema, so the description could briefly mention the return value (e.g., list of volume details) to fully cover missing context. Still, the purpose is clear enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are fully documented in the schema. The description mentions 'in an environment', which aligns with the required environmentId, but adds no new meaning to the search parameter. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (List), resource (volumes), and scope (in an environment). It is distinct from sibling tools like get/create/remove/volume, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to use arcane_get_volume for a single volume or when list filtering is needed. The context 'in an environment' is implicit but no explicit when-to-use or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_prune_imagesB
Prune unused images from the environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing safety and side effects. It does not mention that pruning is destructive, irreversible, or what 'unused' means, leaving significant behavioral ambiguity for a pruning operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant wording. Every word contributes to the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool appears simple with one parameter, it is destructive (pruning) and lacks any disclosure about consequences, scope of removal, or return values. The absence of annotations and output schema makes the description insufficient for an agent to fully understand the tool's impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter (environmentId) with a basic description. The tool description adds context by linking pruning to 'the environment', but it does not elaborate on parameter expectations, such as environment existence or format, beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'prune' and the resource 'unused images' within the scope of 'the environment', which is specific and distinguishes it from sibling tools like remove_image, prune_volumes, and prune_system.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as arcane_remove_image for specific images or arcane_prune_system for broader cleanup. The description implies usage but does not state conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_prune_networksB
Prune unused networks from an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries full responsibility for behavioral disclosure. 'Prune' implies deletion, but the description does not clarify what qualifies as 'unused', whether the action is destructive or reversible, or any side effects. This is a significant gap for a potentially destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the essential purpose without filler. It is appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having only one parameter and no output schema, the description is incomplete for a destructive tool. It fails to define 'unused networks', mention any prerequisites or consequences, or explain what happens after pruning. The ambiguity could lead to misuse.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter environmentId described as 'The environment ID'. The description does not add any additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action as 'Prune unused networks' with the scope 'from an environment', using a specific verb and resource. It distinguishes itself from sibling tools like arcane_prune_images and arcane_prune_volumes by explicitly targeting networks, and from arcane_remove_network by focusing on unused networks as a batch operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as arcane_remove_network. The description does not mention scenarios where pruning is appropriate or not, nor does it contrast with other prune tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_prune_systemC
Perform system-wide prune on an environment to clean up unused resources
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'prune' and 'clean up unused resources,' which implies a destructive operation, but it does not disclose what resources are actually removed (containers, images, volumes, networks), whether running resources are safe, or whether the operation is irreversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core action immediately. It is reasonably concise, though phrases like 'system-wide' and 'on an environment' create some redundancy and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a destructive system-wide operation with no annotations and no output schema, the description is far too thin. It should explain what gets pruned, whether the action is reversible, any safety checks, and what the expected result is. The current description leaves critical context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is 100% covered, with a single parameter environmentId described as 'The environment ID.' The description adds minimal meaning by linking the prune to 'an environment,' but it does not elaborate on how the parameter is used or any constraints. The schema already carries the parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('prune') and resource ('unused resources') and implies a broad scope ('system-wide' or 'environment'-wide). It distinguishes from sibling tools like arcane_prune_images, arcane_prune_volumes, and arcane_prune_networks by targeting the whole environment, though the exact scope of 'system-wide' vs 'environment' remains somewhat ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus the more specific prune tools (e.g., arcane_prune_images) or when to avoid it. It only states what it does, not under what conditions it should be chosen over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_prune_volumesB
Prune unused volumes in an environment
| Name | Required | Description | Default |
|---|---|---|---|
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. 'Prune' implies deletion, but the description does not explicitly state that volumes will be removed, how 'unused' is determined, or whether the action is irreversible. It lacks details about side effects or safety checks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no unnecessary words. It is perfectly concise and well-structured for its minimal content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool having only one parameter, it is a destructive prune operation with no annotations or output schema. The description lacks definition of 'unused volumes', what happens to them, and potential impacts on containers or data. This leaves important gaps for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter environmentId, which is described as 'The environment ID'. The description's 'in an environment' simply echoes the parameter, adding no new semantics. Baseline 3 is appropriate as the schema already documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'prune' with the resource 'unused volumes' and scopes it 'in an environment'. This clearly distinguishes it from sibling prune tools like arcane_prune_images and arcane_prune_networks by explicitly naming the target resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention cleanup contexts, how it differs from arcane_remove_volume or arcane_prune_system, or any prerequisites. There is no implied usage beyond the basic statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_pull_imageC
Pull an image from a registry
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | The image tag | |
| image | Yes | The image name to pull | |
| platform | No | The platform (e.g., linux/amd64) | |
| registry | No | The registry to pull from | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the action. It does not mention side effects (e.g., image downloaded to environment, may overwrite existing tags, requires registry credentials, network/disk usage). This is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, well-suited for a concise tool description. However, it is almost too minimal, lacking context that could be added without much bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 5 parameters and no output schema, the description provides no information about return values, errors, or destination of the pull (e.g., local environment). It is just a verb phrase and does not help the agent understand the tool's role in the broader workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter has a basic description. The tool description adds no additional meaning beyond the schema, so the baseline 3 applies. It does not clarify relationships between parameters (e.g., tag defaults) or how registry interacts with environmentId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Pull an image from a registry' clearly identifies the action (pull), resource (image), and source (registry). It is specific enough to distinguish from list/remove/prune but does not explicitly differentiate from the sibling 'arcane_pull_project_images' or clarify that it targets a specific environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'arcane_pull_project_images'. It neither states when to prefer this tool nor mentions any exclusions or prerequisites. The usage context is only implied by the tool name and required environmentId parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_pull_project_imagesC
Pull images for a Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only states 'Pull images' without noting any permissions, idempotency, overwrite behavior, or side effects. This is a mutating operation, but the description offers no depth about what happens during the pull.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no verbose or redundant content. It efficiently conveys the core action, making every word earn its place. The structure is ideal for a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and two undocumented parameters, the description is too sparse. It does not explain what 'environmentId' is, what the command returns, or any error conditions. It is minimally viable but leaves major gaps that the agent would need to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description adds minimal meaning. It mentions 'Docker Compose project' which contextualizes 'projectId', but does not explain 'environmentId' or how it relates to the project. The parameter names are somewhat self-explanatory, but the description fails to compensate for the schema's silence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Pull images for a Docker Compose project.' It uses a specific verb and resource, and differentiates from sibling 'arcane_pull_image' by mentioning 'project' and 'images' collectively. However, it does not explicitly say 'all' images or reference the project's compose configuration, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'arcane_pull_image' or 'arcane_deploy_project'. There is no mention of context, prerequisites, or exclusions, making it purely definitional with no use-case guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_redeploy_projectC
Redeploy a Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. The single phrase 'Redeploy a Docker Compose project' gives no details about what a redeploy entails (stopping, pulling new images, recreating containers), potential destructive effects, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short single sentence, but it is under-specified rather than concise. It omits essential context, so the brevity is not earned; it fails to convey what the tool actually does in detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with two required parameters and no output schema, this description is severely inadequate. It fails to explain the redeploy process, return values, side effects, or any prerequisites, leaving a critical gap in the agent's understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no explanation of 'projectId' and 'environmentId'. Both parameters remain semantically opaque beyond their names, leaving the agent without crucial information about how to populate them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Redeploy a Docker Compose project') with a specific verb and resource. However, it does not differentiate 'redeploy' from sibling actions like 'restart_project' or 'deploy_project', so it lacks the specificity needed for full distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Siblings such as 'restart_project' and 'pull_project_images' exist, but the description gives no conditions, exclusions, or context for choosing 'redeploy'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_remove_imageB
Remove an image from the environment
| Name | Required | Description | Default |
|---|---|---|---|
| imageId | Yes | The image ID to remove | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. 'Remove an image' implies permanence but does not state that removal is irreversible, whether it fails if the image is in use, or any permission requirements. For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is appropriately sized for a simple tool, but the lack of essential context (e.g., permanence, alternatives) prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is too minimal. It does not address reversibility, failure conditions, or how it differs from 'arcane_prune_images'. Sibling tools and the environment context suggest more detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both 'imageId' and 'environmentId' have descriptions. The tool description adds no extra meaning beyond these, so the baseline of 3 applies. The description does not explain the relationship between the parameters or any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove an image from the environment' uses a specific verb (remove) and resource (image) with scope (from the environment), clearly distinguishing it from sibling tools like 'arcane_prune_images' (bulk removal) and 'arcane_pull_image' (adding). The purpose is immediately understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention when to choose 'arcane_remove_image' over 'arcane_prune_images' or whether there are prerequisites (e.g., container not using the image). The description gives no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_remove_networkB
Remove a network from an environment
| Name | Required | Description | Default |
|---|---|---|---|
| networkId | Yes | The network ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does not disclose whether removal is permanent, whether it fails for in-use networks, or any side effects on attached containers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with zero filler, front-loaded with the main verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter operation with no annotations or output schema, the description is too minimal. It lacks critical context about prerequisites and failure modes, making it incomplete despite low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are documented in the schema with basic descriptions, but the tool description adds no extra context about how the IDs relate or how to retrieve them. Baseline 3 due to 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Remove' and clearly identifies the resource 'network' and scope 'from an environment'. This distinguishes it from other network tools like list/create/prune.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like arcane_prune_networks. It also does not mention how to obtain network IDs or whether removal requires disconnecting containers first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_remove_volumeC
Remove a volume from an environment
| Name | Required | Description | Default |
|---|---|---|---|
| volumeName | Yes | The volume name to remove | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not disclose whether removal is permanent, destructive, or reversible, nor what happens to the volume's data. The phrase 'from an environment' is ambiguous—could mean detach or delete—leaving the agent without critical safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant words. It is appropriately concise for the stated purpose, though it lacks important behavioral context that would make it more useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a removal tool with no annotations or output schema, the description is too sparse. It omits side effects, irreversibility, and any prerequisites. The ambiguity between 'remove' and 'delete' further reduces completeness, leaving the agent uncertain about the tool's full impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters ('volumeName' and 'environmentId') with 100% coverage, so baseline 3 is appropriate. The description adds no additional parameter details or context beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove'), the target resource ('a volume'), and the context ('from an environment'). This distinguishes it from sibling tools like 'arcane_prune_volumes' (bulk cleanup of unused volumes) and 'arcane_create_volume'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'arcane_prune_volumes' or 'arcane_remove_network'. It does not mention prerequisites (e.g., whether the environment must be stopped) or cases where this tool is preferred over other removal operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_restart_containerC
Restart a container
| Name | Required | Description | Default |
|---|---|---|---|
| containerId | Yes | The container ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It does not mention side effects (e.g., downtime), state changes, or whether a running or stopped container is affected. 'Restart a container' is vague and provides no operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('Restart a container'), which is under-specification rather than true conciseness. It lacks structure and does not expand on the action or provide useful details. A single sentence could be acceptable, but this phrase is too minimal to be informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (restart container) with two required parameters and no output schema. The description is skeletal, providing no information about return values, side effects, or operational context. It is complete enough for a human familiar with the system, but insufficient for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both containerId and environmentId have descriptions in the schema. The tool description adds no extra meaning beyond that. Baseline of 3 applies because the schema already documents parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Restart' with the resource 'container', clearly indicating it restarts a container. It distinguishes from sibling tools like start/stop/delete by the restart action, though it lacks additional context on what restart entails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like start_container or stop_container. The description does not mention prerequisites, typical scenarios, or situations where restart is preferred over start/stop.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_restart_projectC
Restart a Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not explain the effects of restarting (e.g., whether containers are recreated, volumes preserved, or downtime expected), leaving the agent without important safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, making it concise and front-loaded. However, it is so brief that it lacks necessary context, so it does not earn a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and only a vague action statement, the description is insufficient for a mutation tool. It omits prerequisites, side effects, return values, and any details about how the environment and project IDs are used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate by explaining the parameters. It fails to mention 'environmentId' at all, and 'projectId' is only inferable from the tool name. No additional semantic value is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Restart') and resource ('Docker Compose project'), clearly indicating the action. However, it does not explicitly distinguish from sibling tools like 'redeploy' or 'stop', so it falls short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'arcane_redeploy_project' or 'arcane_stop_project'. It simply states the action without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_restore_volume_backupB
Restore a volume from a backup
| Name | Required | Description | Default |
|---|---|---|---|
| backupId | Yes | The backup ID to restore | |
| volumeName | Yes | The volume name | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It fails to mention whether restoring overwrites existing volume data, requires stopping associated containers, or is a destructive operation—critical context for a restore tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no superfluous content. It communicates the essential purpose efficiently and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a potentially destructive restore operation with no annotations and no output schema. The description does not explain side effects (e.g., overwriting existing volume data), prerequisites, or what happens after the restore, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of the parameters (backupId, volumeName, environmentId) with basic meanings. The description adds no additional context about parameter relationships, scoping, or value formats, so it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Restore a volume from a backup' uses a specific verb ('Restore') and resource ('volume from a backup'), clearly distinguishing this from sibling backup creation and listing tools. It unambiguously states the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case of recovering a volume's data from a backup, but provides no explicit guidance on when to use this tool versus alternatives, nor prerequisites or exclusions. It is a clear but minimally guiding statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_start_containerC
Start a container
| Name | Required | Description | Default |
|---|---|---|---|
| containerId | Yes | The container ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Start a container' without revealing any side effects, prerequisites, or effects on the container or environment. There is no information about what happens during startup, whether the container must already exist, or any impact on the environment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise at one sentence, but it is also under-specified. It front-loads the core action but lacks any supporting detail, making it minimally sized without being effectively informative. It is not verbose, but it does not fully earn its place beyond reiterating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, and the description is insufficient to cover the context. It does not explain return values, error conditions, or relationship to the environment. For a lifecycle operation with sibling tools, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes both parameters with 100% coverage, so the baseline is 3. The description adds no additional meaning beyond the schema, but that is acceptable given the schema already provides descriptions for containerId and environmentId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Start a container' clearly identifies the action (start) and the resource (container), but does not differentiate it from sibling tools like restart_container or create_container. It is clear but lacks the specificity to distinguish it from related lifecycle operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool instead of alternatives such as arcane_stop_container or arcane_restart_container, nor does it state any prerequisites or exclusions. This is a significant gap for a tool with many sibling operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_stop_containerC
Stop a container
| Name | Required | Description | Default |
|---|---|---|---|
| containerId | Yes | The container ID | |
| environmentId | Yes | The environment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only says 'stop a container' without revealing side effects, whether the action is graceful, or what happens to the container's state, which is a significant gap for a state-changing operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three words and is immediately comprehensible, with no wasted words. However, it is perhaps too terse to be genuinely informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is insufficient for an agent to understand the full consequences of stopping a container. It does not describe the return value, whether the operation is reversible, or how it differs from restart/delete in practical terms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (containerId and environmentId) with 100% coverage, so the description adds no additional parameter semantics. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (stop) and resource (container), and it is distinct from sibling tools like start and restart. However, it is minimal and doesn't specify the container's state or usage scope, so it doesn't fully differentiate beyond the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use stop versus delete or restart, and no description of prerequisite conditions (e.g., container must be running). The description simply states the action, offering no selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_stop_projectB
Stop/bring down a Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. 'Stop/bring down' is ambiguous—it could mean a simple stop or a full teardown (like 'docker compose down' which removes containers/networks). No side effects, reversibility, or prerequisites are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no filler. It is efficient, but somewhat overly terse, sacrificing necessary behavioral details for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters, no output schema, and no annotations, the description needs to provide more context. It only covers the basic action, leaving questions about arguments, effects, return value, and edge cases unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description adds no parameter information. While the names environmentId and projectId are self-explanatory, the relationship between them and how they identify the target is not clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Stop/bring down') and the target ('Docker Compose project'). This distinguishes it from sibling tools like arcane_delete_project or arcane_restart_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. It is implied that this is for a project-level stop, but there is no mention of when to prefer it over arcane_stop_container or arcane_delete_project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_test_environmentC
Test the connection to an environment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier of the environment to test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'test the connection' without specifying whether the operation is read-only, what side effects might occur, what the return value looks like, or error behavior. This is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no redundant words. It is concise and front-loaded, though it could be slightly longer to convey more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter and no output schema, yet the description fails to explain what a test entails, what result is returned, or any error handling. Given the lack of annotations and output schema, more detail is required for the agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter 'id' is fully described in the schema as 'The unique identifier of the environment to test'. The description does not add any additional meaning beyond that, so it aligns with the schema. Since schema coverage is 100%, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'test' and identifies the resource 'environment', distinguishing it from sibling tools like 'arcane_get_environment' and 'arcane_list_environments' which have different purposes. It clearly states that the tool verifies a connection to an environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as 'arcane_get_environment' or 'arcane_list_environments'. The description does not mention any prerequisites, conditions, or cases where other tools would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_update_environmentC
Update an existing environment.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier of the environment to update | |
| url | No | New URL endpoint for the environment | |
| name | No | New name for the environment | |
| description | No | New description for the environment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states 'Update an existing environment,' which implies the environment must already exist, but it doesn't specify side effects, required permissions, idempotency, or return format. This is insufficient 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, grammatically complete sentence that states the core action clearly and immediately. It is front-loaded and contains no filler, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description should explain what the update entails and what the caller can expect. It doesn't mention whether the update is partial or full, how fields are merged, or what is returned, leaving significant gaps for a 4-parameter mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with clear descriptions for all four parameters (id, url, name, description). The description itself adds no extra meaning beyond the schema, so the baseline of 3 applies given the full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Update' and resource 'environment', clearly distinguishing it from siblings like create, delete, or get. However, it lacks any scope or detail about what fields or conditions apply, so it is clear but not maximally helpful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites like the environment must exist, nor any exclusions or preferred context. The verb 'Update' implies modification, but the description offers no practical direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
arcane_update_projectC
Update an existing Docker Compose project
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | No | ||
| gitRepoId | No | ||
| projectId | Yes | ||
| composeFile | No | ||
| environmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavior, but it only states that an update occurs. It does not explain whether the update is a full replace or partial merge, whether it affects running containers, what happens to unspecified settings, or any destructive implications. This is a significant transparency gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is under-specification rather than concise clarity. It omits essential context and parameter details, making it more of a placeholder than a useful tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters, two required, no output schema, and no annotations, this description is far from complete. It does not explain return values, side effects, or how the update behaves, leaving the agent without enough information to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides zero information about the six parameters (e.g., name, path, gitRepoId, composeFile, environmentId, projectId). The only hint is that the project is existing and compose-related, leaving the agent to guess what each field does and how they relate to the update operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Update') and the target resource ('existing Docker Compose project'), making it easy to distinguish from basic create/delete operations. However, it lacks explicit differentiation from similar project lifecycle operations like redeploy or deploy, so it doesn't fully separate itself from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as create_project, deploy_project, or redeploy_project. There is no mention of prerequisites, typical use cases, or scenarios where a different tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
52 tool updates
v1.0.1- First observed
arcane_browse_volume - First observed
arcane_create_container - First observed
arcane_create_environment - First observed
arcane_create_network - First observed
arcane_create_project - First observed
arcane_create_volume - First observed
arcane_create_volume_backup - First observed
arcane_delete_container - First observed
arcane_delete_environment - First observed
arcane_delete_project - First observed
arcane_deploy_project - First observed
arcane_get_container - First observed
arcane_get_container_counts - First observed
arcane_get_docker_info - First observed
arcane_get_environment - First observed
arcane_get_health - First observed
arcane_get_image - First observed
arcane_get_image_counts - First observed
arcane_get_network - First observed
arcane_get_project - First observed
arcane_get_project_counts - First observed
arcane_get_system_info - First observed
arcane_get_version - First observed
arcane_get_volume - First observed
arcane_get_volume_file - First observed
arcane_get_volume_sizes - First observed
arcane_list_containers - First observed
arcane_list_environments - First observed
arcane_list_images - First observed
arcane_list_networks - First observed
arcane_list_projects - First observed
arcane_list_volume_backups - First observed
arcane_list_volumes - First observed
arcane_prune_images - First observed
arcane_prune_networks - First observed
arcane_prune_system - First observed
arcane_prune_volumes - First observed
arcane_pull_image - First observed
arcane_pull_project_images - First observed
arcane_redeploy_project - First observed
arcane_remove_image - First observed
arcane_remove_network - First observed
arcane_remove_volume - First observed
arcane_restart_container - First observed
arcane_restart_project - First observed
arcane_restore_volume_backup - First observed
arcane_start_container - First observed
arcane_stop_container - First observed
arcane_stop_project - First observed
arcane_test_environment - First observed
arcane_update_environment - First observed
arcane_update_project
TDQS
Scored across 52 tools
Each tool targets a distinct resource-action combination, with clear separation across environments, containers, images, volumes, networks, projects, and system operations. Even similar prune operations are differentiated by the resource type (images, volumes, networks, system).
All 52 tools follow the exact pattern 'arcane_<verb>_<noun>' in lowercase snake_case, with verbs always placed first (e.g., list, get, create, update, delete, start, stop, prune). No mixed styles or inconsistent verb usage.
At 52 tools, the count is high and exceeds typical thresholds, but the server's scope is broad, covering full lifecycle management for multiple resource types. The number feels heavy but justified; some consolidation could reduce it without losing functionality.
The tool surface provides robust CRUD and lifecycle coverage for all major resource types, including specialized features like volume backups and file browsing. Minor gaps exist (e.g., container logs, network connect), but these do not hinder core container management workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Manage portable AI agent playbooks, Agent Skills, MCP configurations, personas, and memory.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Docker containers, images, networks, volumes, and Compose services through the Model Context Protocol. It supports system operations, command execution within containers, and integration with Docker Hub and GitHub Container Registry.992MIT
- AlicenseAqualityCmaintenanceDocker container, image, volume, network, and compose management from your AI assistant.103132MIT
- AlicenseNot gradedqualityAmaintenanceAI-powered Docker management server that enables natural language control of environments, containers, images, networks, volumes, and more through a unified Arcane API interface.2MIT
- AlicenseNot gradedqualityDmaintenanceEnables managing Docker environments through Arcane via natural language, providing tools for containers, images, volumes, networks, and Docker Compose stacks.MIT