Skip to main content
Glama

Opedd — Licensed Content for AI

Export a licence order's articles

stream_feed_ndjson
Read-onlyIdempotent

Bulk-export the articles in a licence order you hold. Returns up to 1000 articles per call (collected from line-delimited JSON wire format). Same content contract as list_feed: full text for AI training orders only; every other order exports metadata (content_body null); get_content returns article text. Each exported article is recorded for analytics; a bulk export is not billed per article. since (ISO 8601) returns a delta feed; cursor pages beyond 1000. Backend supports 5000 articles per call; the MCP cap is 1000 for transport reasonability. For bulk-ingest pipelines, the Python SDK (pip install opedd) reads the same feed without the MCP cap. Credentials as list_feed: OPEDD_ACCESS_KEY (ent_*) OR your buyer API key + order_id.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "stream_feed_ndjson"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax articles per response (default: 200, max: 1000)
sinceNoISO 8601 timestamp — return only articles with published_at > since
cursorNoOpaque cursor from the prior result's meta.next_cursor
order_idNoThe licence order to export (UUID). Used with a buyer API key; ignored with an ent_* key.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / order_id
      Added value: +{
      +  "description": "The licence order to export (UUID). Used with a buyer API key; ignored with an ent_* key.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / cursor / description
      Previous value: -"Opaque cursor from prior response's _meta.next_cursor"New value: +"Opaque cursor from the prior result's meta.next_cursor"
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations by disclosing the 1000-per-call MCP cap versus the 5000 backend cap, that exports are recorded for analytics but not billed per article, and that content_body is null except for AI-training orders. Credential requirements (ent_* key or buyer key + order_id) are also stated.

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-loads purpose and keeps each sentence load-bearing (caps, billing, contract, paging, SDK). The parenthetical on the wire format is slightly incidental, and the credential sentence is dense, but overall it is efficient for the amount of useful information conveyed.

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, the description supplies the return-content contract (full text vs metadata-only), the paging and delta mechanisms, and credential prerequisites. Nothing an agent needs to call 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 coverage is already 100%, so the baseline is 3; the description adds meaning beyond it by framing `since` as a delta feed and `cursor` as the mechanism for paging past the 1000 cap, which clarifies how the two interact. It does not add anything for `limit` or `order_id` beyond what the schema says.

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 ('Bulk-export the articles in a licence order you hold') with scope qualifiers, and positions itself against siblings list_feed and get_content explicitly. An agent can distinguish this from list_feed without opening either schema.

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?

Gives concrete usage context: `since` for delta feeds, `cursor` for paging past 1000, and the Python SDK for bulk pipelines exceeding the MCP cap. It references list_feed for the content contract but never states plainly when to choose this bulk export over list_feed, leaving that comparison to inference.

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.