Skip to main content
Glama

Mencoro

Get Growwer offers for a tracked query's cited media

get_growwer_offers
Read-onlyIdempotent

Which of the media one tracked query's captures cite are sold on Growwer, a sponsored-content marketplace, and at what price. The media are the third-party sites its AI answers cite (AI engines) or its search results list (traditional search) within the window, never the brand's or a tracked competitor's; shopping queries have none. Each item gives the host, the Growwer domain matched exactly to it, whether it is sold, every product (post, link_addition) and link type (dofollow, nofollow, citation) price in minor units of currency excluding VAT, the cheapest as fromPrice, and whether its posts are labelled as advertising. status "unavailable" means Growwer could not be asked and only recently cached hosts are listed. Each item also lists the organization's own Growwer orders for that media (id, type, state code, price in minor units, delivery URL, publication and creation dates), read from the Growwer account an owner connected in Mencoro's settings and only from one Growwer project whose website is this project's: growwerProjects lists those projects (id, name, url), and growwerProjectId is the one the orders come from, the first unless the growwerProjectId argument names another of them (any other is refused as growwer_project_not_matched). Without an offer Growwer answered for (no item, or status "unavailable") the account is not read: growwerProjects is empty, growwerProjectId null and the argument unchecked. ordersStatus is "ok", "not_connected", "revoked" (an owner must connect again in the app) or "unavailable" (Growwer did not answer, or a connected account was not read), and orders are empty unless it is "ok". Read only: purchases happen on Growwer itself, and no tool buys or connects a Growwer account. Dates are YYYY-MM-DD and default to the whole retention window.

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": {
      "organizationId": "<organizationId>",
      "projectId": "<projectId>",
      "trackedQueryId": "<trackedQueryId>"
    },
    "name": "get_growwer_offers"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateToNo
dateFromNo
projectIdYes
organizationIdYes
trackedQueryIdYesa tracked query UUID from search_tracked_queries (items[].id)
growwerProjectIdNoone of growwerProjects[].id from an earlier call; omitted, the first

Output Schema

NameRequiredDescriptionDefault
offersYes
statusYes
ordersStatusYes
growwerProjectsYesThe connected account's Growwer projects whose website is this project's, as the history page's project picker lists them; empty when the account is not connected or could not be read, and when it was not read because no offer Growwer answered for is listed.
growwerProjectIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / growwerProjectId
      Added value: +{
      +  "default": null,
      +  "description": "one of growwerProjects[].id from an earlier call; omitted, the first",
      +  "format": "uuid",
      +  "type": [
      +    "null",
      +    "string"
      +  ]
      +}
    • addedOutput schema / properties / growwerProjectId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / growwerProjects
      Added value: +{
      +  "description": "The connected account's Growwer projects whose website is this project's, as the history page's project picker lists them; empty when the account is not connected or could not be read, and when it was not read because no offer Growwer answered for is listed.",
      +  "items": {
      +    "properties": {
      +      "id": {
      +        "type": "string"
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "name",
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / offers / items / properties / orders
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "createdAt": {
      +        "type": "string"
      +      },
      +      "deliveryUrl": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "mediaId": {
      +        "type": "string"
      +      },
      +      "price": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "amount": {
      +                "description": "Minor units of currency.",
      +                "type": "integer"
      +              },
      +              "currency": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "amount",
      +              "currency"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "projectId": {
      +        "description": "The Growwer project the order belongs to.",
      +        "type": "string"
      +      },
      +      "publishedAt": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "state": {
      +        "description": "Growwer's order state code.",
      +        "type": "string"
      +      },
      +      "type": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "type",
      +      "state",
      +      "price",
      +      "projectId",
      +      "mediaId",
      +      "deliveryUrl",
      +      "publishedAt",
      +      "createdAt"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / offers / items / required
      Previous value: -[
      -  "input",
      -  "growwerDomain",
      -  "mediaIds",
      -  "available",
      -  "prices",
      -  "advertisingLabellingPolicy",
      -  "fromPrice",
      -  "vatIncluded"
      -]New value: +[
      +  "input",
      +  "growwerDomain",
      +  "mediaIds",
      +  "available",
      +  "prices",
      +  "advertisingLabellingPolicy",
      +  "fromPrice",
      +  "vatIncluded",
      +  "orders"
      +]
    • addedOutput schema / properties / ordersStatus
      Added value: +{
      +  "enum": [
      +    "ok",
      +    "not_connected",
      +    "revoked",
      +    "unavailable"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "offers"
      -]New value: +[
      +  "status",
      +  "ordersStatus",
      +  "growwerProjectId",
      +  "growwerProjects",
      +  "offers"
      +]
  2. Added

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the readOnly/idempotent/destructive annotations, the description discloses the exact conditions under which the Growwer account is read, the meaning of every ordersStatus value (ok, not_connected, revoked, unavailable), why an account can be refused (growwer_project_not_matched), and that prices are minor units excluding VAT. The single gap is that the live external call implied by status 'unavailable' sits in some tension with openWorldHint=false, though this reads as a bounded connected-service call rather than an open-world contradiction.

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 core purpose is front-loaded in the first sentence, and the dense clause style (articles dropped) keeps it compact for the amount of behavior it covers. It is still one long block that mixes return-shape detail with error semantics, so an agent must read the whole thing to extract the routing and status rules; a break into short labeled statements would help.

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 tool that touches an external marketplace, an account connection state, and project matching, the description covers prerequisites, state codes, failure modes, date defaults, unit conventions, and the read-only boundary. An output schema exists, so the return-shape prose is redundant but not harmful, and nothing an agent needs to invoke it correctly is missing.

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?

Schema description coverage is only 33%, but the description compensates for the parameters that actually need interpretation: growwerProjectId defaults to the first listed project and any other value is refused with a named error code, and dateFrom/dateTo are YYYY-MM-DD and default to the whole retention window. organizationId and projectId remain undocumented in prose, which is the main shortfall.

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 opening sentence states precisely what the tool returns: which media cited by one tracked query's captures are sold on Growwer and at what price, plus the organization's own orders for that media. That is a specific resource with a clear scope (third-party cited sites only, not the brand or competitors, none for shopping queries). It does not name the closest sibling (get_cited_sources) as the alternative, so differentiation is implicit rather than stated.

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?

Usage context is well established: it applies to media cited by one tracked query inside a date window, requires an owner-connected Growwer account, and explicitly rules out any purchasing or account-connecting behavior. It does not give an explicit 'use X instead when...' routing statement relative to siblings such as get_cited_sources or get_tracked_query_matches, which keeps it 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.