Skip to main content
Glama

List platforms

list_platforms
Read-onlyIdempotent

Return backend-defined platform types/environments in options, plus captured platform/environment pairs with version counts and latest version. Type and environment IDs are discovered from Platform.Api, never assumed from a fixed MCP list. Backend CatalogPlatform.view/implementation map to MCP platform/environment.

Input Schema

NameRequiredDescriptionDefault
productYesProduct key, for example finance-ozon-ru
environmentNoEnvironment ID from the selected backend platform type in list_platforms.options.platforms[].environments[].id (backend implementation). Omit only when the version has one captured environment. Use captured pairs from list_platforms/list_versions for actual availability.

Output Schema

NameRequiredDescriptionDefault
resultYesBackend options and captured platform/environment pairs

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "environmentOption": {
      +      "additionalProperties": true,
      +      "description": "Backend environment option",
      +      "properties": {
      +        "id": {
      +          "description": "id",
      +          "type": "string"
      +        },
      +        "label": {
      +          "description": "label",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "label"
      +      ],
      +      "type": "object"
      +    },
      +    "options": {
      +      "additionalProperties": true,
      +      "description": "Backend capture and request options",
      +      "properties": {
      +        "defaultEnvironment": {
      +          "description": "Text value",
      +          "type": "string"
      +        },
      +        "defaultPlatform": {
      +          "description": "Text value",
      +          "type": "string"
      +        },
      +        "platforms": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/platformOption"
      +          },
      +          "type": "array"
      +        },
      +        "requestPlatforms": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/platformOption"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "platforms",
      +        "requestPlatforms",
      +        "defaultPlatform",
      +        "defaultEnvironment"
      +      ],
      +      "type": "object"
      +    },
      +    "platformOption": {
      +      "additionalProperties": true,
      +      "description": "Backend platform option",
      +      "properties": {
      +        "environments": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/environmentOption"
      +          },
      +          "type": "array"
      +        },
      +        "id": {
      +          "description": "id",
      +          "type": "string"
      +        },
      +        "label": {
      +          "description": "label",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "label",
      +        "environments"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "description": "Structured result. Existing text or image content remains available in content.",
      +  "properties": {
      +    "result": {
      +      "additionalProperties": true,
      +      "description": "Backend options and captured platform/environment pairs",
      +      "properties": {
      +        "options": {
      +          "$ref": "#/$defs/options"
      +        },
      +        "platforms": {
      +          "description": "Result entries",
      +          "items": {
      +            "additionalProperties": true,
      +            "description": "Captured platform version summary",
      +            "properties": {
      +              "environment": {
      +                "description": "environment",
      +                "type": "string"
      +              },
      +              "latestVersion": {
      +                "description": "latestVersion",
      +                "type": "string"
      +              },
      +              "platform": {
      +                "description": "platform",
      +                "type": "string"
      +              },
      +              "versions": {
      +                "description": "Count or zero-based index",
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "platform",
      +              "environment",
      +              "latestVersion",
      +              "versions"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "product": {
      +          "description": "Text value",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "product",
      +        "options",
      +        "platforms"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description usefully adds that type/environment IDs are dynamically discovered rather than hardcoded and explains the backend-to-MCP mapping (CatalogPlatform.view/implementation), which is context beyond the annotations, though it omits return shape and pagination details.

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?

Three sentences, front-loaded with the return content, then the discovery rule, then the mapping. It is efficient, though the final CatalogPlatform mapping sentence is niche and jargon-heavy for most callers.

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

Completeness3/5

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

With an output schema present and 100% param coverage, the description need not explain return values. However, it leaves workflow positioning unclear: an agent cannot tell from the description alone when this discovery-oriented tool should precede list_versions versus get_platform_summary.

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%, so both product and environment are already documented in the schema, including where the environment ID comes from. The description adds only a vague reference to 'captured platform/environment pairs' and does not extend meaning beyond what the schema provides, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Return) and resource (backend-defined platform types/environments plus captured platform/environment pairs with version counts and latest version). The scope is clear enough to separate it from get_platform_summary or list_versions, but it does not explicitly name those siblings to disambiguate.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use or when-not-to-use guidance relative to siblings like list_versions, list_products, or get_platform_summary. The closest hint ('IDs are discovered from Platform.Api, never assumed from a fixed MCP list') describes source of truth rather than selection criteria.

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