Skip to main content
Glama

Convert between configuration technologies

convert_config

Convert a configuration between technologies (not just data formats): docker-run-to-compose, compose-to-docker-run, compose-to-kubernetes, swagger2-to-openapi3. Returns JSON with the output and warnings about anything that could not be translated faithfully — read them back to the user. Call list_supported_technologies to see every conversion. For plain format changes (YAML ↔ JSON, TOML…) use convert_yaml.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "conversion": "<conversion>",
      "content": "<content>"
    },
    "name": "convert_config"
  }
}

Input Schema

NameRequiredDescriptionDefault
contentYesThe source: a docker-compose file, a `docker run` command, a Swagger 2.0 document…
conversionYesConversion id, e.g. "compose-to-kubernetes"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden, and it does disclose the return shape (JSON with output plus warnings) and even prescribes agent behavior ("read them back to the user") — meaningful context beyond the schema. Gaps remain: it does not state what happens on an unsupported source/conversion mismatch, whether conversion is purely local/stateless, or whether truncation at the 200k content limit produces an error versus a warning.

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

Conciseness4/5

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

Front-loaded with purpose, then alternatives and next steps — a sensible ordering with no filler sentences. The parenthetical "(not just data formats)" is slightly redundant given the explicit convert_yaml carve-out later, but the overall length is proportional to the tool's branching behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a stateless two-parameter conversion tool with no output schema, the description covers purpose, alternatives, return value, and warning semantics. The remaining unknowns — error behavior on invalid conversion/content pairings and whether warnings imply partial output — are modest but real gaps for an agent deciding how to handle results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum is self-documenting, so the schema already fully specifies both required parameters. The description's list of conversion ids and its mention of source kinds (compose file, docker run command, Swagger document) largely restate what the enum and content field description already say, adding only the implicit coupling that the content type must match the chosen conversion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Convert a configuration between technologies") and immediately enumerates the four concrete conversions supported, so the agent knows exactly what class of work this tool performs. It also explicitly separates itself from convert_yaml ("For plain format changes... use convert_yaml"), making sibling disambiguation possible without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both a positive condition (cross-technology conversions, with examples) and a negative/exclusion condition (YAML ↔ JSON, TOML belong to convert_yaml). It also routes the agent to list_supported_technologies for discovery of the full set, which is exactly the kind of when-to-use-what routing an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources