Skip to main content
Glama
richtargetman

M.Video MCP

M.Video MCP

Local MCP server for the M.Video / Eldorado OmniNet seller API.

Больше автоматизаций для селлеров найдешь в моем Telegram-канале: https://t.me/+yNLLxBt6vZ05MDUy

Quick start

This is not a normal desktop app. It is a connector that lets your AI agent work with the M.Video / Eldorado seller API: warehouses, product mappings, prices, stocks, FBS orders, labels, and shipments.

What you need before installation:

  • An M.Video / Eldorado seller API key.

  • An AI agent or MCP client that supports local MCP servers.

  • Node.js LTS installed on the computer where the agent runs.

The easiest way: open your AI agent and send it this message:

Install this M.Video MCP for me: https://github.com/richtargetman/mvideo-mcp

Use Node.js, run npm install and npm run build, then connect dist/server.js as a local MCP server named "mvideo".
Ask me for my MVIDEO_API_KEY only when you are ready to put it into the local MCP environment.
Do not write the real API key into README, Git, screenshots, chat logs, or any public file.
After installation, run mvideo_health and tell me whether the connector is ready.

If you install it yourself, run:

git clone https://github.com/richtargetman/mvideo-mcp.git
cd mvideo-mcp
npm install
npm run build

Then add the MCP client config from the section below and restart your agent.

How to check that everything works:

  1. Ask the agent: Check that M.Video MCP is connected.

  2. The agent should call mvideo_health.

  3. If apiKeyPresent is true, the connector sees your API key.

  4. Ask the agent: Show my M.Video warehouses.

  5. If warehouses are returned, the connector is ready for real work.

Related MCP server: mcp-ozon-seller

Auth

The server reads the seller API key from MVIDEO_API_KEY and sends it as the api-key HTTP header. Do not store the real key in this repository.

Optional env:

  • MVIDEO_API_BASE, default https://omni-net.sellers.mvideo.ru

  • MVIDEO_DEFAULT_LOCATION_ID, default location for stock tools

Tools

  • mvideo_health - sanitized local configuration; does not call M.Video and never returns the API key.

  • mvideo_merchant_location_list - list seller warehouses.

  • mvideo_product_mapping_list - read offer_id to product_id mappings.

  • mvideo_price_info - read prices by product_id and/or offer_id.

  • mvideo_price_update - update RUB prices. Supports dry_run.

  • mvideo_stock_info - read stock by product_id, offer_id, and/or location_id.

  • mvideo_stock_update - update stock counts. Supports dry_run.

  • mvideo_order_fbs_list - read FBS orders.

  • mvideo_order_fbs_status_list - read FBS order status updates.

  • mvideo_order_fbs_labels_get - get FBS order labels.

  • mvideo_order_fbs_exemplar_set - set required FBS exemplar/marking data. Defaults to dry-run.

  • mvideo_shipment_create - create an FBS shipment. Defaults to dry-run.

Write tools require an explicit confirmation string for live execution:

  • mvideo_price_update: confirm="APPLY_MVIDEO_PRICE_UPDATE"

  • mvideo_stock_update: confirm="APPLY_MVIDEO_STOCK_UPDATE"

  • mvideo_order_fbs_exemplar_set: confirm="APPLY_MVIDEO_FBS_EXEMPLAR_SET"

  • mvideo_shipment_create: confirm="APPLY_MVIDEO_SHIPMENT_CREATE"

Use dry_run=true first and only then repeat with dry_run=false and the matching confirm.

How to ask your agent

After the MCP server is connected, you do not need to remember tool names. Write to your agent like you would write to an employee: what to check, what to prepare, and what to change.

Safe read-only examples:

  • Check if the M.Video connector works.

  • Show my M.Video warehouses.

  • Find product IDs in M.Video for these seller article numbers: SC_BLACK, SC_BLUE.

  • Show current prices for these products.

  • Show current stock balances for these products.

  • Show new FBS orders from M.Video.

  • Get labels for these FBS orders.

Examples that change data:

  • Prepare a stock update, but do not send it yet: set SC_BLACK to 12 and SC_BLUE to 7.

  • Prepare a price update, but do not send it yet: set SC_BLACK to 499 RUB.

  • Create a shipment for these FBS orders, but first show me the dry-run.

For any price, stock, exemplar, or shipment change, the agent must first show a dry-run plan. If the plan is correct, tell the agent to apply it. The connector will refuse dangerous write actions unless the agent sends the matching confirm string.

Simple rule: checking data is safe; changing prices, stocks, marking data, or shipments must always go through dry-run first.

Agent reference

This section is for AI agents and technical users.

After the MCP server is connected, the agent should inspect available mvideo_* tools, run read-only checks first, and use live write tools only after showing a dry-run plan.

Example user requests:

  • Check that the M.Video MCP is connected and show the active base URL and default warehouse.

  • Show my active M.Video warehouses.

  • Find M.Video product mappings for offer IDs SC_BLACK and SC_BLUE.

  • Show current M.Video prices for offer IDs SC_BLACK and SC_BLUE.

  • Show stock balances for these offer IDs on warehouse 10008903.

  • Prepare a dry-run stock update: set SC_BLACK to 12 and SC_BLUE to 7 on warehouse 10008903.

  • Apply the stock update from the approved dry-run.

  • Prepare a dry-run price update: set SC_BLACK to 499 RUB and old price to 699 RUB.

  • Apply the approved price update.

  • Show new FBS orders and their statuses.

  • Create a shipment for these FBS orders using this idempotency key: <unique-key>. First show dry-run.

Agent usage rules:

  • For diagnostics, call mvideo_health.

  • For warehouses, call mvideo_merchant_location_list.

  • For offer_id to product_id conversion, call mvideo_product_mapping_list.

  • For balances, call mvideo_stock_info.

  • For prices, call mvideo_price_info.

  • For FBS orders, statuses, labels, exemplar data, and shipments, use the matching mvideo_order_fbs_* or mvideo_shipment_create tools.

  • Prices in mvideo_price_info and mvideo_price_update are in kopecks, so 499 RUB must be sent as 49900.

  • Stock updates use MVIDEO_DEFAULT_LOCATION_ID when location_id is omitted.

  • Any live write must be preceded by dry-run output and then repeated with dry_run=false plus the required confirm value.

Run

npm install
npm run build
$env:MVIDEO_API_KEY = "<set locally>"
npm start

MCP client config example

Use your own absolute dist/server.js path after npm run build:

{
  "mcpServers": {
    "mvideo": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "<absolute-path-to>\\mvideo-mcp\\dist\\server.js"
      ],
      "env": {
        "MVIDEO_API_KEY": "<set locally>",
        "MVIDEO_API_BASE": "https://omni-net.sellers.mvideo.ru",
        "MVIDEO_DEFAULT_LOCATION_ID": "10008903"
      }
    }
  }
}

Keep API keys in your local MCP client environment or shell only. Do not commit .env files or credentials.

OpenAPI source: https://omni-net.sellers.mvideo.ru/api-docs.

Available Tools

12 tools
mvideo_healthM.Video MCP healthA

Return sanitized MCP/API configuration. Does not call M.Video and never returns the API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description fully carries the transparency burden. It discloses two key behavior traits: it does not call M.Video (read-only/safe) and never returns the API key (privacy). This is valuable beyond the schema, though it doesn't specify the exact return format or error behavior.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core purpose and followed by key safety distinctions. Every word earns its place; no redundancy or irrelevant detail. Excellent conciseness.

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 simple health tool with no parameters and no output schema, the description covers the essential purpose and safety guarantees. It could slightly elaborate on the intended use (e.g., 'use to verify connectivity' ) but remains sufficient for an agent to select and invoke it correctly.

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

Parameters4/5

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

The tool has zero parameters, and the schema is empty, so parameter documentation is not needed. The description adds context about the output (sanitized configuration) and safety constraints, providing value beyond the schema. A baseline of 4 is appropriate for zero-parameter tools.

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 clearly states the specific action ('Return') and resource ('sanitized MCP/API configuration'), and explicitly distinguishes itself from the operational sibling tools by noting it does not call M.Video. This makes it unambiguous as a health/config check rather than a data operation.

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

Usage Guidelines3/5

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

It implies usage for checking configuration/health and highlights safety (no external call, no API key), but does not explicitly state when to prefer this over alternatives or provide exclusions. Since all siblings are operational tools, context implies this is the health-check tool, but explicit guidance is absent.

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

mvideo_merchant_location_listM.Video merchant location listC

List seller warehouses and their marketplace connections.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
statusNo
location_idNo

TDQS

C2.9/5.0
Behavior2/5

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 basic action. It does not mention pagination, filtering, default behavior, or what 'marketplace connections' entails. 'List' implies read-only, but no explicit safety or side-effect information is provided.

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

Conciseness5/5

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

The description is a single, tightly worded sentence with no redundant information. It is front-loaded with the key action and resource, making it easy to parse quickly.

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

Completeness2/5

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

Given the tool has four parameters, no output schema, and no annotations, the description is insufficient. It fails to explain the meaning of parameters, pagination behavior, or response details, leaving critical gaps for correct invocation.

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

Parameters1/5

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

The schema has four parameters (limit, cursor, status, location_id) with zero coverage in the schema descriptions, and the tool description does not reference any of them. The agent receives no help understanding what these parameters mean or how to use them.

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 uses a specific verb ('List') and identifies the resource ('seller warehouses' and 'marketplace connections'), clearly distinguishing it from sibling tools like mvideo_product_mapping_list. It directly explains what the tool does without ambiguity.

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 provides no guidance on when to use this tool versus alternatives. There is no mention of specific use cases, prerequisites, or exclusions, leaving the agent to infer usage solely from the tool name and sibling context.

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

mvideo_order_fbs_exemplar_setM.Video FBS exemplar setA

Set required FBS exemplar/marking data. Defaults to dry-run; live write requires confirm.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
requestYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It explicitly discloses a critical safety trait: "Defaults to dry-run; live write requires confirm." This is valuable for a mutation tool, though it does not cover permissions, reversibility, or response behavior.

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

Conciseness5/5

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

The description is two sentences: purpose first, then safety. No wasted words, front-loaded, and every clause earns its place.

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

Completeness2/5

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

Given the tool's complexity (nested request object, no output schema, no annotations), the description is too sparse. It omits what 'exemplar/marking data' includes, how to structure the `request`, and any expected response, leaving the agent without enough context to invoke the tool correctly.

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

Parameters2/5

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

The schema has 0% coverage and the description does not explain the main `request` object, which is complex and recursive. It only indirectly clarifies `dry_run` and `confirm` via the safety note, leaving the core parameter semantics undefined.

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 starts with a specific verb and resource: "Set required FBS exemplar/marking data." This clearly states what the tool does and differentiates it from sibling tools like order list/status/labels/shipment tools.

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

Usage Guidelines3/5

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

The intended use is implied: use when you need to set FBS exemplar/marking data. However, there is no explicit guidance on when to prefer this tool over alternatives or any exclusions, so it relies on the agent inferring usage from the purpose.

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

mvideo_order_fbs_labels_getM.Video FBS labels getA

Get FBS order labels. Pass the exact OmniNet request object from the order workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

TDQS

A3.9/5.0
Behavior2/5

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 mentions 'Get' and the parameter instruction, but does not disclose potential side effects, authentication requirements, rate limits, or return format, leaving significant 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.

Conciseness5/5

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

The description is exceptionally concise, consisting of two short sentences that immediately present the purpose and the critical usage instruction. No unnecessary words or redundant information.

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?

Given the tool's single complex parameter and lack of output schema, the description provides the essential instruction about the request object, but omits details on response format, error conditions, or any other contextual edge cases. The 'exact object' guidance partially offsets this, but completeness remains moderate.

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

Parameters4/5

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

The schema provides zero description for the 'request' parameter, but the description adds meaningful semantics by identifying it as an OmniNet request object and specifying it should be the exact object from the order workflow. This strongly compensates for the schema's lack of detail.

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 clearly states 'Get FBS order labels' with a specific verb and resource, distinguishing it from sibling tools like mvideo_order_fbs_list or mvideo_order_fbs_status_list. The purpose is immediately understandable and not a tautology.

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 provides a clear usage context by instructing to 'Pass the exact OmniNet request object from the order workflow,' which tells the agent how to use the tool correctly. It does not explicitly contrast with alternatives, but the prerequisite is well-defined.

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

mvideo_order_fbs_listM.Video FBS order listB

Read FBS orders. Pass OmniNet filter fields as a raw JSON object when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
filterNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. The verb 'read' implies a safe, non-mutating operation, and the filter instruction adds some behavioral context. However, it does not disclose pagination behavior, return format, or any error conditions. This is a minimal but acceptable baseline.

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

Conciseness3/5

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

The description is concise (two sentences) and front-loaded, but the first sentence 'Read FBS orders' is essentially a tautology of the tool name and title. Only the second sentence adds unique value about filter usage. Thus, the text is efficient but has some redundancy.

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

Completeness2/5

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

Given that there is no output schema, no annotations, and a relatively complex filter parameter, the description is incomplete. It does not state what the tool returns, how pagination works, or any limitations (e.g., limit max). The description is too thin to be fully useful for an agent without additional inference.

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

Parameters2/5

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

The schema has 0% description coverage, so the description must compensate. It only explains the 'filter' parameter (pass as raw JSON object) but leaves 'limit' and 'cursor' unexplained. While 'limit' and 'cursor' are somewhat self-explanatory from their names, the description adds no syntax or default behavior information, failing to fully compensate for the schema gap.

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 clearly states the tool's purpose: 'Read FBS orders.' The verb 'read' is specific and the resource 'FBS orders' is unambiguous. This distinguishes it from sibling tools like status list, labels, and shipment create, which are clearly different operations.

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 provides no guidance on when to use this tool instead of siblings. It only hints at how to pass filters ('when needed'), but does not mention alternatives, prerequisites, or exclusions. There is no explicit context for tool selection.

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

mvideo_order_fbs_status_listM.Video FBS order status listC

Read FBS order status updates. Pass OmniNet filter fields as a raw JSON object when needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
filterNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It implies a safe read operation via 'Read', but does not disclose pagination behavior (limit/cursor), return format, or the meaning of an 'order status update'. The cryptic 'OmniNet filter fields' hints at filter flexibility but fails to explain the schema or any side effects, falling short of transparency.

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 description is two short, front-loaded sentences. The first sentence states the core purpose, the second provides a parameter hint. Every word earns its place, though the second sentence is slightly vague. It is concise and efficient, not verbose.

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

Completeness2/5

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

Given the tool's complexity (3 params, nested filter, no output schema) and the presence of several sibling order tools, the description is incomplete. It fails to explain pagination, response structure, or how 'status updates' differ from historical order data. This leaves significant gaps for an AI agent to invoke the tool correctly.

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

Parameters2/5

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 mentions the filter parameter as a raw JSON object with OmniNet fields, adding minimal meaning, but completely ignores limit and cursor. The nested filter structure is left undefined, making it difficult for the agent to construct valid calls.

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 uses a specific verb 'Read' and a clear resource 'FBS order status updates', which immediately distinguishes this from sibling tools like order_fbs_list (list of orders) and labels_get. The title reinforces the list nature. This is a clear, specific purpose.

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 only usage hint is 'Pass OmniNet filter fields as a raw JSON object when needed', which addresses the filter parameter but offers no guidance on when to use this tool versus sibling order tools. It does not mention alternatives or exclusions, leaving the agent without context for tool selection.

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

mvideo_price_infoM.Video price infoA

Read prices by product_id and/or offer_id. Monetary values are returned in kopecks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
offer_idNo
product_idNo

TDQS

A3.7/5.0
Behavior3/5

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 behavioral disclosure. It adds value by noting that monetary values are returned in kopecks and uses the verb 'Read' which implies a non-destructive operation. However, it omits details about pagination, authentication, rate limits, or potential error conditions.

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

Conciseness5/5

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

The description is a single, tightly written sentence that leads with the action verb and includes the most critical filtering detail. There is no redundant or irrelevant information, 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.

Completeness3/5

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

Given there is no output schema and no annotations, the description provides only the essentials: what it reads and the unit of monetary values. It does not clarify whether the response is a list or single item, how pagination works, or what fields are returned. This leaves notable gaps for an agent attempting to fully understand the tool's behavior.

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?

The input schema has zero description coverage (0%), so the description must compensate. It effectively clarifies that product_id and offer_id serve as filters, but it does not explain the limit and cursor parameters, which likely control pagination. This is a partial compensation for low schema coverage.

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 clearly states 'Read prices' with specific filter parameters (product_id and/or offer_id), which directly distinguishes it from the sibling mvideo_price_update tool. The verb is specific, the resource is unambiguous, and the scope is explicit.

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

Usage Guidelines3/5

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

The description implies usage when price data is needed, but does not explicitly mention when to prefer this tool over alternatives or when not to use it. No exclusions or sibling tool references are provided, so the guidance is implicit rather than explicit.

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

mvideo_price_updateM.Video price updateA

Update RUB prices. Pass price/old_price/min_price in kopecks. Use dry_run=true to inspect the request before sending.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
confirmNo
dry_runNo

TDQS

A3.8/5.0
Behavior3/5

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 does mention the dry_run option to preview the request and specifies the unit 'kopecks', which adds useful context. However, it omits the 'confirm' parameter, potential validation, or any side effects beyond 'update', leaving gaps 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.

Conciseness5/5

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

The description is only two sentences, front-loaded with the core purpose, and every clause provides value (action, units, safety tip). It is appropriately concise without unnecessary fluff.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is too brief. It does not mention the 'confirm' flag, the array nature of 'items', or any constraints (e.g., max 1000 items, required product_id/price). An agent would likely need additional info to invoke it correctly in production.

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 0%, so the description must compensate. It does clarify that price, old_price, and min_price are in kopecks and introduces dry_run's purpose. But it does not explain 'confirm' or the structure/requirements for 'items', leaving several parameters under-specified.

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 clearly states the action ('Update RUB prices') with a specific resource (M.Video prices) and distinct units (kopecks). This distinguishes it from siblings like mvideo_price_info (which likely reads prices) and mvideo_stock_update (which handles stock).

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 implies when to use this tool (for price updates) and includes a safety guideline: 'Use dry_run=true to inspect the request before sending.' However, it does not explicitly mention alternative tools or when NOT to use it, so it falls short of a 5.

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

mvideo_product_mapping_listM.Video product mappingsC

Read offer_id to product_id mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
offer_idNo
product_idNo
is_archivedNo

TDQS

C2.6/5.0
Behavior2/5

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

Since no annotations are provided, the description carries the full burden of behavioral disclosure. It only states 'Read', which implies no modifications, but it does not disclose pagination, filtering capabilities, response format, or any other behavioral traits visible in the schema (limit, cursor, offer_id, product_id, is_archived). This is minimal transparency.

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 description is a single, concise sentence with no unnecessary words. It is well-structured and front-loaded, although the extreme brevity might under-specify, the sentence itself earns its place and has no fluff.

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

Completeness2/5

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

The description is extremely thin for a tool with 5 optional parameters and no annotations or output schema. It covers only the core purpose and misses pagination, filters, and intended use cases, making it incomplete for an agent to correctly invoke and interpret the tool.

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

Parameters1/5

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

The description does not mention any parameters, and schema coverage is 0%. While the schema properties are self-explanatory, the description adds no value beyond the raw schema, and with a 0% coverage the description fails to compensate for the lack of parameter context.

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?

The description clearly identifies the action 'Read' and the resource 'offer_id to product_id mappings', which is a specific and distinct purpose among the sibling tools that deal with stock, prices, orders, and shipments. It could be more explicit about the list/retrieval nature, but it is sufficiently clear to differentiate the tool.

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 provides no guidance on when to use this tool versus alternatives. It does not mention preferred contexts, scenarios, or exclusions, leaving the agent to infer usage from the sibling names alone.

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

mvideo_shipment_createM.Video shipment createA

Create a shipment for FBS orders. Defaults to dry-run; live write requires idempotency_key and confirm.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
requestYes

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses a key behavior (dry-run default) but introduces 'idempotency_key' which is not present in the input schema, causing ambiguity. It does not explain side effects or return values, so full burden falls on the description with no annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, no filler. Every clause adds value—purpose, mode, and prerequisite are all covered efficiently.

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

Completeness2/5

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

Despite the simplicity, the tool has a nested required 'request' object with 0% schema coverage. The description omits any details about the request structure, output, or error handling, making it inadequate for a create tool without annotations or output schema.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It clarifies dry_run and confirm but fails to describe the required 'request' object. It also mentions idempotency_key which is not a parameter, undermining reliability for parameter interpretation.

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 clearly states 'Create a shipment for FBS orders' with a specific verb and resource. This distinguishes it from sibling tools like mvideo_order_fbs_list or mvideo_stock_update, making its purpose unambiguous.

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?

It provides clear context: default dry-run, live write requires confirm. This is practical guidance for safe usage, though it does not explicitly mention when not to use the tool or name alternatives.

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

mvideo_stock_infoM.Video stock infoB

Read stock counts by product_id, offer_id, and/or location_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
offer_idNo
product_idNo
is_archivedNo
location_idNo

TDQS

B3.3/5.0
Behavior2/5

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 does not mention pagination behavior (limit/cursor), what happens when no filters are supplied, or how is_archived affects results. The description only states the read operation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the core purpose without redundancy. It earns its place, though it is minimal.

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

Completeness2/5

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

With 6 parameters, no annotations, and no output schema, the description is incomplete. It fails to cover pagination, filter combination logic, archive handling, or return details, making it insufficient for effective use.

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

Parameters2/5

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

Schema property descriptions are entirely absent (0% coverage), so the description must compensate. It explains the three filter parameters (product_id, offer_id, location_id) with 'and/or', but ignores limit, cursor, and is_archived, leaving a significant semantic gap.

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 clearly states the tool reads stock counts with specific filter dimensions (product_id, offer_id, location_id). This distinguishes it from sibling tools like mvideo_stock_update (write) and mvideo_price_info (price).

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

Usage Guidelines3/5

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

The verb 'Read' implies a query tool, but no explicit guidance is provided on when to use this versus alternatives. No exclusions or prerequisites are mentioned, so usage context is only implied.

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

mvideo_stock_updateM.Video stock updateA

Update product stock counts. Use dry_run=true to inspect the request before sending.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
confirmNo
dry_runNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It implies mutation (updating stock counts) and adds the dry-run guardrail, which discloses a safety mechanism. However, it does not state the finality of the operation, required permissions, or what happens after a confirm—key gaps for a mutating tool.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and the second sentence adds a critical usage tip. No filler or redundant content.

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

Completeness2/5

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

With no annotations, no output schema, and 0% schema coverage, the description should compensate but only covers the dry-run feature. It lacks information about required 'confirm' behavior (e.g., is a string needed?), response format, and other operational side effects, leaving an agent under-equipped to invoke the tool reliably.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only mentions dry_run. It does not explain the meaning or usage of 'items' or 'confirm', leaving users without guidance on how to structure the update payload or confirm execution—beyond what the raw schema field names imply.

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 clearly states the action ('Update product stock counts') with a specific resource (product stock). This distinguishes it from sibling read tool mvideo_stock_info, which is for querying stock.

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 provides clear context that this tool updates stock and includes an actionable safety guideline: 'Use dry_run=true to inspect the request before sending.' It does not explicitly exclude cases or name alternative tools, but the dry-run instruction gives a strong usage hint for safe invocation.

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. Dates show when Glama detected each change.

  1. 12 tool updatesv0.2.0
    • First observedmvideo_health
    • First observedmvideo_merchant_location_list
    • First observedmvideo_order_fbs_exemplar_set
    • First observedmvideo_order_fbs_labels_get
    • First observedmvideo_order_fbs_list
    • First observedmvideo_order_fbs_status_list
    • First observedmvideo_price_info
    • First observedmvideo_price_update
    • First observedmvideo_product_mapping_list
    • First observedmvideo_shipment_create
    • First observedmvideo_stock_info
    • First observedmvideo_stock_update

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct resource-action pair (stock, price, orders, shipments, mappings). Even the two order-read tools are clearly separated by 'orders' vs 'status updates'. No ambiguity in purpose across the set.

Naming Consistency4/5

All tools use a consistent `mvideo_` prefix and snake_case. Most follow a resource_action pattern (e.g., stock_update, order_fbs_list), but `mvideo_health` breaks the pattern and action verbs vary between list/info/get/set. Still predictable overall.

Tool Count5/5

12 tools is well-scoped for a marketplace integration covering core areas: locations, product mappings, stock, prices, orders, and shipments. Each tool has a clear purpose and the count feels neither sparse nor bloated.

Completeness4/5

The surface covers read/write for stock and price, read for mappings and locations, and a full FBS order workflow (list, status, labels, exemplar, shipment). Minor gaps exist (e.g., no product mapping update or order cancellation), but core operations are present.

Maintenance

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/richtargetman/mvideo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server