Skip to main content
Glama
Payware MCP Server

Payware MCP Server

Official
by payware

payware_products_create_placement

Creates a product placement with carriers like QR, NFC, or link, returning a placementId that attributes payments to that medium.

Instructions

[Merchant] Create a placement for a product; a product has no limit on its placements. The response carries its placementId, which goes on the medium wherever the product ID would: a QR code (its payware link, or payware:{placementId}), an NFC tag, a BLE beacon, a link, a barcode or an SMS. A bank resolving it pays for the product, and the payment is attributed to the placement. For a SOUNDBITE carrier, add airing rules so taps during the airing are attributed.

Endpoint: POST /products/{productId}/placements (PRM plan)

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": {
      "productId": "<productId>",
      "name": "<name>",
      "medium": "<medium>",
      "carriers": "<carriers>"
    },
    "name": "payware_products_create_placement"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesPlacement name, up to 100 characters, e.g. "Sofia metro posters, October"
activeNoWhether it is in use. Governs airing and soundbite attribution; a printed code keeps resolving until the placement is deleted
mediumYesWhat the placement is
channelNoDescriptive, e.g. the TV channel or the website, up to 100 characters
regionsNoISO 3166-1 alpha-2 codes of the countries it airs in, matched against the paying bank's country. Empty means anywhere
activeToNoEnd of its active window, ISO-8601 with an offset. Empty means the product's
carriersYesThe methods that carry the placement ID to a payer. SOUNDBITE airs the product's audio and needs airing rules
locationNoDescriptive, e.g. the venue or the address, up to 255 characters
productIdYesThe product's ID: pr + 8 letters or digits, e.g. pr7e4rCToG
activeFromNoStart of its active window, ISO-8601 with an offset. Empty means the product's
campaignIdNoThe campaign it belongs to, if any (cp + 8 characters)
useSandboxNoUse the sandbox (the default) rather than production
externalRefNoAn agency's own code, up to 100 characters

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description earns credit for adding non-obvious behavior: the response carries a placementId that is placed on the medium, either as a payware link or as payware:{placementId}, and a bank resolving it pays for the product with payment attributed to that placement. It also flags the PRM plan endpoint and the SOUNDBITE/airing dependency. Auth, rate limits, and error behavior remain undisclosed.

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 the verb, resource, and returned identifier, then progressively less critical detail, ending with the endpoint line. The chain of sentences is dense but each contributes (medium list, attribution model, SOUNDBITE caveat); slight compression would improve it.

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

Completeness5/5

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

For a 13-parameter creation tool with no output schema, the description explains what is returned (placementId), how that value is consumed downstream, and the attribution consequence — exactly the context an agent needs before calling. Parameter-level detail is fully delegated to a 100%-covered schema, so nothing material is missing.

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 the schema already explains name, medium, channel, regions, active/activeFrom/activeTo, carriers, location, campaignId, useSandbox, and externalRef. The description adds only one semantic point beyond that — SOUNDBITE carriers require airing rules for attribution — plus the downstream meaning of the returned placementId. Baseline 3 is appropriate.

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 ("Create a placement for a product") and then defines what a placement is: a medium carrying the product ID (QR, NFC, BLE, link, barcode, SMS), with no cap on placements per product. An agent can distinguish this from create_product, update_placement, and list_placements without reading 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 Guidelines3/5

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

Usage is implied rather than stated: create a placement when you need a distinct attributable carrier medium, and add airing rules when a SOUNDBITE carrier is used. There is no explicit when-not guidance and no sibling tool is named (e.g. update_placement for changes, list_placements for inspection), so the agent must infer routing.

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