Skip to main content
Glama

Search media outlets

search_outlets
Read-onlyIdempotent

Searches buyable media placements by budget, authority, geography, topic and link policy. Returns offers with a fixed USD price, turnaround, link disclosure and a stable id that quote_placements accepts. max_price filters the catalogue to a budget.

Input Schema

NameRequiredDescriptionDefault
qNoPublication name to match, e.g. "Forbes".
cityNoCity, e.g. "Miami". Also matches the outlet name, since most listings carry no city field.
sortNo
limitNoResults per page, max 100. Default 20.
stateNoState or region inside the country, e.g. "California" or the US postal code "CA".
topicNoTopic or genre, e.g. "fintech", "crypto", "health".
min_daNoMinimum Domain Authority.
min_drNoMinimum Domain Rating (Ahrefs).
offsetNoPage offset.
regionNoNorth America, Europe, Middle East, Latin America, Asia Pacific, Africa, Oceania or Global.
countryNoCountry name or ISO code, e.g. "US".
indexedNoOnly outlets whose placements are confirmed indexed by Google.
dofollowNoOnly outlets giving dofollow links.
languageNoBCP-47 language code, e.g. "en".
max_priceNoMaximum USD price per placement. Use the buyer budget.
min_priceNoMinimum USD price per placement.
max_turnaround_daysNoOnly outlets whose stated turnaround fits within this many days. A window stated in weeks counts 7 days a week (1-2 weeks = 14), so send 7 for "this week" and 14 for "within 2 weeks".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / max_turnaround_days / description
      Previous value: -"Only outlets whose stated turnaround is at most this many business days, e.g. 7 for \"this week\"."New value: +"Only outlets whose stated turnaround fits within this many days. A window stated in weeks counts 7 days a week (1-2 weeks = 14), so send 7 for \"this week\" and 14 for \"within 2 weeks\"."
  2. Changed2 schema fields changed
    • changedInput schema / properties / city / description
      Previous value: -"City, e.g. \"Miami\"."New value: +"City, e.g. \"Miami\". Also matches the outlet name, since most listings carry no city field."
    • changedInput schema / properties / state / description
      Previous value: -"State or region inside the country, e.g. \"California\"."New value: +"State or region inside the country, e.g. \"California\" or the US postal code \"CA\"."
  3. Changed4 schema fields changed
    • addedInput schema / properties / city
      Added value: +{
      +  "description": "City, e.g. \"Miami\".",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_turnaround_days
      Added value: +{
      +  "description": "Only outlets whose stated turnaround is at most this many business days, e.g. 7 for \"this week\".",
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_dr
      Added value: +{
      +  "description": "Minimum Domain Rating (Ahrefs).",
      +  "type": "integer"
      +}
    • addedInput schema / properties / state
      Added value: +{
      +  "description": "State or region inside the country, e.g. \"California\".",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioural context beyond that: offers carry a fixed USD price, a turnaround, link disclosure, and a stable id that quote_placements accepts — which tells the agent the handles are reusable across calls.

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?

Three tight sentences, front-loaded with purpose and filters, then return shape, then the budget filter hint. No filler and nothing buried at the end that should be first.

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?

With 17 params and no output schema, the description does the important work of sketching what a result contains (price, turnaround, link disclosure, stable id) and connects it to quote_placements. It stops short of noting pagination/limit behaviour or result ordering, which matters for a large catalogue, but overall it is sufficient to call correctly.

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 94%, so parameters are already thoroughly documented, including the non-obvious max_turnaround_days week conversion. The description only reinforces max_price as the budget filter, which the schema already states ('Use the buyer budget'), adding nothing beyond the baseline.

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 (Searches) and a well-scoped resource (buyable media placements) with the filterable dimensions spelled out. It also distinguishes itself from get_outlet (single lookup) implicitly by emphasising catalogue search, and names the downstream consumer quote_placements.

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 this is the discovery step before quote_placements, which is useful workflow context. But it never says when NOT to use it (e.g. when the buyer already has an outlet id and should use get_outlet instead), and no explicit alternatives or prerequisites are given.

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.