Skip to main content
Glama

Opedd — Licensed Content for AI

stream_feed_ndjson

Bulk-export a buyer's licensed catalog via GET /enterprise-license?format=ndjson (Phase 11 M3). 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) — use get_content for article text. Each article emits one usage_records row (analytics-only sentinel 'bulk-export::' — not metered-billable per the revenue-model bifurcation invariant). Use since (ISO 8601) for delta-feed. Use cursor to paginate beyond 1000. Backend supports 5000 articles per call; the MCP cap is 1000 for transport reasonability. Real bulk-ingest pipelines should use the Python SDK (pip install opedd) directly — not via MCP. Requires OPEDD_ACCESS_KEY (ent_*).

Input Schema

TableJSON 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

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses the 1000-article cap, the line-delimited JSON wire format, the metadata-only behavior for non-AI-training orders, the analytics-only usage_records sentinel, the backend's 5000-article capability, and the access key requirement. This goes well beyond what the schema alone could convey.

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 description is dense but mostly purposeful, front-loading the endpoint and core behavior before parameter guidance and SDK alternatives. Minor noise like 'Phase 11 M3' and the jargon-heavy 'revenue-model bifurcation invariant' slightly reduce conciseness, but nearly every sentence contributes operational value.

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 with no annotations and no output schema, this description is remarkably complete: it covers the endpoint, response format, content contract, billing implications, pagination, delta behavior, authentication, and when to prefer the SDK. An agent has enough context to select and invoke the tool correctly without needing additional external information.

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 adds meaningful context beyond the schema by explaining `since` as the delta-feed mechanism, `cursor` as the pagination mechanism beyond 1000, and the MCP cap of 1000 versus the backend's 5000. This enriches the parameter semantics rather than merely repeating schema text.

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?

The description opens with a specific verb and resource: 'Bulk-export a buyer's licensed catalog via GET /enterprise-license?format=ndjson'. It clearly distinguishes itself from siblings by naming list_feed as the same content contract and get_content for article text, so an agent can tell exactly what this tool does and how it differs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Usage guidance is explicit: use `since` for delta feeds, use `cursor` to paginate beyond 1000, and use get_content when article text is needed. It also explicitly warns that real bulk-ingest pipelines should use the Python SDK directly, not MCP, and states the access key requirement. This is strong when-to-use and when-not-to-use guidance.

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.