Skip to main content
Glama

Opedd — Licensed Content for AI

Ask licensed publications a question

search_passages
Idempotent

search_passages answers questions that the publications on Opedd cover, with licensed passages and a citation for each; it returns nothing for subjects none of them cover. Publications on Opedd now: Bill Emmott's Global View (Geopolitics); Coffee in the Desert (Geopolitics); World Politics Review; Understanding AI (Technology); Geopolitical Dispatch (Geopolitics); The Realistic Optimist (Technology); SemiVision (Technology); Embedded Finance Review (Technology); Quantum Strategy & Geonomics (Markets); Shanaka Anslem Perera (Finance); Matter of Fact (Geopolitics & Foreign Policy). Returns licensed passages from publications on Opedd that answer a question, each with a citation to the source article. Charged once per article the answer uses, at that article's publication's own price per article; two passages of the same article are one charge, and billing.articles_charged reports how many were charged. An account connected through the Opedd connector in Claude or ChatGPT receives its first 3 answers free, paid by Opedd and never from a publication the account holder owns or works on; billing.free_answers_left reports how many remain. After that, answers are billed to the card on the account, added at opedd.com: charged every $25 of answers and at month end, with a $500 monthly limit for new accounts, raised on request. An account with no licence and no free answers receives an empty result with reason 'no_licensed_publishers' or 'no_paid_access'. Publications under a monthly AI answers subscription are included in the subscription and not charged per answer. Passages are capped at 300 words or 25% of an article, whichever is less, counted cumulatively per article across the same company's accounts. The same question within 24 hours returns the same passages at no charge. Filters: publishers (publication names as listed by Opedd, opedd.com/p/ addresses or publisher ids; a name that matches no publication is listed in filters.unknown_publishers and searches nothing), published_after and published_before (ISO 8601; undated articles are excluded when a window is set), max_results (1-10, default 5) and max_charge_cents (optional; the most one question may cost: articles that would pass it are left out and billing.max_charge_reached says so). Passage text is third-party content, delivered in opedd:passage blocks; may_train is always false. Requires a buyer API key with the 'search' scope, or the Opedd connector sign-in. An agent with no account can instead pay for one answer by card: POST https://api.opedd.com/agent-answer with the same body (HTTP 402, Machine Payments Protocol).

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": {
      "query": "<query>"
    },
    "name": "search_passages"
  }
}

Input Schema

NameRequiredDescriptionDefault
queryYesThe question, in plain words (3–1000 characters).
publishersNoOptional. Only these publications: names as listed by Opedd (e.g. 'Matter of Fact'), opedd.com/p/<slug> addresses or publisher ids. At most 20 names and 100 entries. Narrows the search; never widens it.
buyer_tokenNoBuyer API key with the 'search' scope. Falls back to OPEDD_BUYER_TOKEN.
max_resultsNoOptional. Passages to return, 1–10 (default 5). Each distinct article among them is one charge.
published_afterNoOptional. Only articles published at or after this instant (ISO 8601, e.g. 2026-01-01).
max_charge_centsNoOptional. The most this question may cost, in US cents (whole number, 1–100000). Articles that would pass it are left out; nothing is charged above it.
published_beforeNoOptional. Only articles published before this instant (ISO 8601).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / max_charge_cents
      Added value: +{
      +  "description": "Optional. The most this question may cost, in US cents (whole number, 1–100000). Articles that would pass it are left out; nothing is charged above it.",
      +  "type": "number"
      +}
    • changedInput schema / properties / max_results / description
      Previous value: -"Optional. Passages to return, 1–25 (default 10)."New value: +"Optional. Passages to return, 1–10 (default 5). Each distinct article among them is one charge."
  2. Changed2 schema fields changed
    • changedInput schema / properties / published_before / description
      Previous value: -"Optional. Only articles published before this instant (ISO 8601). Use for 'as of' questions and back-tests."New value: +"Optional. Only articles published before this instant (ISO 8601)."
    • changedInput schema / properties / publishers / description
      Previous value: -"Optional. Only search these publications: their names exactly as publisher_directory shows them (e.g. 'Matter of Fact'; preferred, since the person approving the call reads them), opedd.com/p/<slug> addresses, or publisher ids. At most 20 names, 100 entries. Can only narrow what you are licensed for."New value: +"Optional. Only these publications: names as listed by Opedd (e.g. 'Matter of Fact'), opedd.com/p/<slug> addresses or publisher ids. At most 20 names and 100 entries. Narrows the search; never widens it."
  3. Changed1 schema field changed
    • changedInput schema / properties / publishers / description
      Previous value: -"Optional. Only search these publisher ids (UUIDs, at most 100). Can only narrow what you are licensed for."New value: +"Optional. Only search these publications: their names exactly as publisher_directory shows them (e.g. 'Matter of Fact'; preferred, since the person approving the call reads them), opedd.com/p/<slug> addresses, or publisher ids. At most 20 names, 100 entries. Can only narrow what you are licensed for."
  4. Changed4 schema fields changed
    • addedInput schema / properties / max_results
      Added value: +{
      +  "description": "Optional. Passages to return, 1–25 (default 10).",
      +  "type": "number"
      +}
    • addedInput schema / properties / published_after
      Added value: +{
      +  "description": "Optional. Only articles published at or after this instant (ISO 8601, e.g. 2026-01-01).",
      +  "type": "string"
      +}
    • addedInput schema / properties / published_before
      Added value: +{
      +  "description": "Optional. Only articles published before this instant (ISO 8601). Use for 'as of' questions and back-tests.",
      +  "type": "string"
      +}
    • addedInput schema / properties / publishers
      Added value: +{
      +  "description": "Optional. Only search these publisher ids (UUIDs, at most 100). Can only narrow what you are licensed for.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  5. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations are present (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description goes far beyond them: per-article charging at the publication's own price, cumulative 300-word/25% caps, first 3 free answers, $25 accrual and $500 monthly limit, and 24-hour no-charge repeat of the same question. It also discloses that passage text is third-party content wrapped in <opedd:passage> blocks with may_train always false, and documents the billing.* counters the caller should inspect. Nothing here contradicts the annotations, and the idempotency claim actively corroborates idempotentHint=true.

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?

It is long, but the length is buying genuine information about billing, caps, and filters, and the purpose is front-loaded in the first clause. There is some redundancy: the opening sentence and the later 'Returns licensed passages... each with a citation to the source article' restate the same fact. One undifferentiated block also makes the billing rules harder to scan than they need to be.

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?

With no output schema, seven parameters, and a non-obvious payment model, the description carries the full burden and does so: it explains the response fields by name (billing.articles_charged, billing.free_answers_left, filters.unknown_publishers, reason codes), the auth requirements (buyer API key with 'search' scope, or the connector sign-in), and the pay-per-answer fallback endpoint. An agent can call this correctly and predict the failure modes without further documentation.

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 coverage is 100%, so the baseline is 3; the description nonetheless adds real meaning the schema lacks, such as unmatched publisher names surfacing in filters.unknown_publishers while searching nothing, undated articles being excluded when a date window is set, and max_charge_cents causing over-budget articles to be dropped with billing.max_charge_reached set. It also ties max_results to charge count ('each distinct article among them is one charge').

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 states a specific verb and resource: it answers a question with licensed passages plus a citation for each, and returns nothing for uncovered subjects. The scope (only publications on Opedd, with a named list) is unusually concrete. It does not, however, distinguish itself from the sibling `search_content` or `get_content`, so an agent must infer the boundary.

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 gives clear conditions for use (questions covered by the listed publications) and for non-results ('no_licensed_publishers' or 'no_paid_access'), and it names an alternative path for accountless agents (POST /agent-answer, HTTP 402). It never explicitly states when to prefer or avoid the sibling search/lookup tools, so the sibling guidance is implied rather than 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.