Skip to main content
Glama

modx_ms2_create_product_link

Links two products under a specified link type, creating a reverse link when the type's relation kind requires it. Use it to connect master and slave products in MODX miniShop2.

Instructions

Link two products under a link type. The link type's relation kind decides whether the reverse link is also created.

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": {
      "link": "<link>",
      "master": "<master>",
      "slave": "<slave>"
    },
    "name": "modx_ms2_create_product_link"
  }
}

Input Schema

NameRequiredDescriptionDefault
linkYesLink type id (msLink).
slaveYesSlave product id.
masterYesMaster product id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.4

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does usefully disclose that the link type's relation kind may cause a reverse link to be created—an important side effect. However, it doesn't state permissions required, duplicate-link handling, or whether the response returns an id, leaving meaningful behavioral gaps.

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?

Two efficient sentences, front-loaded with the core action and followed by the key behavioral nuance. No wasted wording; structure is clear and readable.

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?

For a 3-parameter creation tool with no annotations and no output schema, the description is adequate but thin. It covers the core action and the reverse-link nuance but omits return value, permissions, and error/duplicate conditions the agent may need.

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 coverage is 100%, so all three parameters (link, slave, master) are already documented in the schema. The description adds marginal context by tying 'link' to the link type's relation kind, but doesn't clarify master/slave direction beyond the schema fields.

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 states a specific verb and resource: 'Link two products under a link type.' This distinguishes it from siblings like modx_ms2_delete_product_link and modx_ms2_list_product_links. The second sentence clarifies the link type's role, though it doesn't fully resolve which parameter is which direction.

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?

There is no explicit when-to-use guidance, no mention of alternatives (e.g., delete vs list), and no stated prerequisites such as requiring an existing link type id. The absence of usage guidance leaves the agent to infer invocation context.

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