Reuters · Capability

Reuters Content Delivery

Unified workflow capability for accessing and searching Reuters editorial content through the Reuters Connect API. Enables media publishers, news aggregators, and content platforms to discover channels, browse items, retrieve full content with renditions, and search across the Reuters corpus.

Run with Naftiko ReutersNewsContent DeliveryMediaSearch

What You Can Do

GET
List channels — List available Reuters content channels, optionally filtered by category.
/v1/channels
GET
List items — List the most recent items from a Reuters channel.
/v1/items
GET
Get item — Retrieve the full details and renditions of a content item.
/v1/items/{id}
GET
Search items — Search Reuters content by keyword, channel, and media type.
/v1/search

MCP Tools

list-channels

List available Reuters content channels. Filter by category: TXT (text), PIX (images), VID (video), GFX (graphics).

read-only
list-items

List the most recent editorial items from a Reuters content channel.

read-only
get-item

Retrieve the full content of a Reuters item including body, byline, subjects, and available media renditions.

read-only
search-items

Search Reuters editorial content by keyword. Supports field-specific queries like headline:election or body:markets.

read-only

APIs Used

reuters

Capability Spec

content-delivery.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Reuters Content Delivery"
  description: >-
    Unified workflow capability for accessing and searching Reuters editorial
    content through the Reuters Connect API. Enables media publishers, news
    aggregators, and content platforms to discover channels, browse items,
    retrieve full content with renditions, and search across the Reuters corpus.
  tags:
    - Reuters
    - News
    - Content Delivery
    - Media
    - Search
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      REUTERS_TOKEN: REUTERS_TOKEN

capability:
  consumes:
    - import: reuters
      location: ./shared/reuters-connect.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: reuters-content-api
      description: "Unified REST API for Reuters content discovery and delivery."
      resources:
        - path: /v1/channels
          name: channels
          description: "Discover and browse Reuters content channels."
          operations:
            - method: GET
              name: list-channels
              description: "List available Reuters content channels, optionally filtered by category."
              call: "reuters.list-channels"
              with:
                channelCategory: "rest.channelCategory"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/items
          name: items
          description: "Browse content items from Reuters channels."
          operations:
            - method: GET
              name: list-items
              description: "List the most recent items from a Reuters channel."
              call: "reuters.list-items"
              with:
                channel: "rest.channel"
                limit: "rest.limit"
                mediaType: "rest.mediaType"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/items/{id}
          name: item-by-id
          description: "Retrieve specific Reuters content items."
          operations:
            - method: GET
              name: get-item
              description: "Retrieve the full details and renditions of a content item."
              call: "reuters.get-item"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/search
          name: search
          description: "Search Reuters editorial content."
          operations:
            - method: GET
              name: search-items
              description: "Search Reuters content by keyword, channel, and media type."
              call: "reuters.search-items"
              with:
                q: "rest.q"
                channel: "rest.channel"
                limit: "rest.limit"
                sort: "rest.sort"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: reuters-content-mcp
      transport: http
      description: "MCP server for AI-assisted Reuters content discovery and retrieval."
      tools:
        - name: list-channels
          description: "List available Reuters content channels. Filter by category: TXT (text), PIX (images), VID (video), GFX (graphics)."
          hints:
            readOnly: true
            openWorld: true
          call: "reuters.list-channels"
          with:
            channelCategory: "tools.channelCategory"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-items
          description: "List the most recent editorial items from a Reuters content channel."
          hints:
            readOnly: true
            openWorld: true
          call: "reuters.list-items"
          with:
            channel: "tools.channel"
            limit: "tools.limit"
            mediaType: "tools.mediaType"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-item
          description: "Retrieve the full content of a Reuters item including body, byline, subjects, and available media renditions."
          hints:
            readOnly: true
            openWorld: true
          call: "reuters.get-item"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: search-items
          description: "Search Reuters editorial content by keyword. Supports field-specific queries like headline:election or body:markets."
          hints:
            readOnly: true
            openWorld: true
          call: "reuters.search-items"
          with:
            q: "tools.q"
            channel: "tools.channel"
            limit: "tools.limit"
            sort: "tools.sort"
          outputParameters:
            - type: object
              mapping: "$."