Skip to main content
Glama
ilyautov

marketplaces-mcp-ru

ozon_perf_add_cabinet

Idempotent

Add or update Ozon API credentials as a named cabinet directly from chat. Confirm the key enters the chat transcript to save credentials locally for marketplace access.

Instructions

Add or update a cabinet (a named set of API credentials), from chat.

⚠️ This puts the key into the chat transcript — requires i_understand_key_goes_to_chat=true. The terminal-free safe alternative is the installer (install.py / double-click), where the key never enters chat.

Args: credentials: dict with the required fields for this service ({fields}). For Ozon: {{"client_id": "...", "api_key": "..."}}; for WB: {{"token": "..."}}. name: optional label. If omitted, the cabinet is named after the real shop name fetched from the marketplace (falls back to "main"). i_understand_key_goes_to_chat: must be true to proceed. Saved to ~/.marketplace-mcp/cabinets.json (local, chmod 600), never echoed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
credentialsYes
i_understand_key_goes_to_chatNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.2

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses important behavior beyond annotations: the security risk of placing the key in the chat transcript, the required confirmation flag, the local save location (~/.marketplace-mcp/cabinets.json), the file permissions (chmod 600), the fact that it never echoes the key, and the fallback naming behavior if name is omitted. Annotations provide readOnlyHint=false and destructiveHint=false but not this level of detail.

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?

The most critical information is front-loaded: the operation and the security warning appear in the first two sentences. The Args section is formatted cleanly and each parameter gets a useful explanation. It loses one point because the warning about the transcript is repeated twice (once in the bolded sentence and again in Args), and the '({fields})' placeholder is slightly cryptic.

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?

The description is thorough for a credential-adding tool: it covers the security implication, the storage location, permissions, confirmation requirement, naming behavior, and credential format. It doesn't describe the return value or what happens if the cabinet already exists, but the output schema exists and the annotations indicate idempotentHint=true. A small gap remains around the exact response shape and how to handle an existing cabinet.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden. It explains credentials as 'dict with the required fields for this service' and gives concrete examples for Ozon and WB formats, explains the optional name parameter including the fallback behavior, and clarifies that i_understand_key_goes_to_chat must be true. This fully compensates for the empty schema descriptions.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Add or update a cabinet (a named set of API credentials), from chat.' It clearly identifies the operation, the target resource, and the context it is invoked from. It also distinguishes itself by noting this is the chat-based path, and the sibling tools include add_cabinet variants for other marketplaces, making it clear this is the Ozon Performance version.

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

Usage Guidelines4/5

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

The description states when to use it ('from chat') and explicitly names the alternative: 'The terminal-free safe alternative is the installer (install.py / double-click), where the key never enters chat.' It also states the required precondition (i_understand_key_goes_to_chat=true). It doesn't explicitly say when NOT to use it beyond the alternative, but the guidance is clear enough for an agent to decide.

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

Deploy Server

Other Tools