TechRepublic · Capability

TechRepublic Content Discovery

Content discovery capability for TechRepublic's technology news and analysis. Enables searching, browsing, and retrieving enterprise IT articles, category taxonomies, author profiles, and media assets via the WordPress REST API. Used by content aggregators, research tools, AI assistants, and enterprise news monitoring applications.

Run with Naftiko TechRepublicContent DiscoveryTechnology NewsEnterprise ITWordPressMedia

What You Can Do

GET
List articles — List and search TechRepublic technology articles.
/v1/articles
GET
Get article — Get a specific TechRepublic article by ID.
/v1/articles/{id}
GET
List topics — List TechRepublic topic categories.
/v1/topics
GET
Get topic — Get a specific TechRepublic topic category by ID.
/v1/topics/{id}
GET
List tags — List TechRepublic content tags.
/v1/tags
GET
List authors — List TechRepublic authors.
/v1/authors
GET
Get author — Get a specific TechRepublic author by ID.
/v1/authors/{id}
GET
List media — List TechRepublic media assets.
/v1/media

MCP Tools

search-articles

Search TechRepublic articles by keyword, topic, date range, or author.

read-only
get-article

Retrieve the full content of a specific TechRepublic article by ID.

read-only
list-topics

List all TechRepublic topic categories for content navigation.

read-only
get-topic

Get details about a specific TechRepublic topic category.

read-only
search-tags

Search TechRepublic content tags for topic discovery.

read-only
list-authors

List TechRepublic authors and contributors.

read-only
get-author

Get profile information for a specific TechRepublic author.

read-only
list-media

List TechRepublic media assets including images and attachments.

read-only

APIs Used

techrepublic-wp

Capability Spec

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

info:
  label: "TechRepublic Content Discovery"
  description: >-
    Content discovery capability for TechRepublic's technology news and analysis.
    Enables searching, browsing, and retrieving enterprise IT articles, category
    taxonomies, author profiles, and media assets via the WordPress REST API.
    Used by content aggregators, research tools, AI assistants, and enterprise
    news monitoring applications.
  tags:
    - TechRepublic
    - Content Discovery
    - Technology News
    - Enterprise IT
    - WordPress
    - Media
  created: "2026-05-03"
  modified: "2026-05-03"

capability:
  consumes:
    - import: techrepublic-wp
      location: ./shared/wordpress-rest-api.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: techrepublic-content-api
      description: "Unified REST API for discovering and retrieving TechRepublic content."
      resources:
        - path: /v1/articles
          name: articles
          description: "TechRepublic technology articles and news posts."
          operations:
            - method: GET
              name: list-articles
              description: "List and search TechRepublic technology articles."
              call: "techrepublic-wp.list-posts"
              with:
                page: "rest.page"
                per_page: "rest.per_page"
                search: "rest.search"
                categories: "rest.categories"
                tags: "rest.tags"
                after: "rest.after"
                before: "rest.before"
                orderby: "rest.orderby"
                order: "rest.order"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/articles/{id}
          name: article
          description: "A specific TechRepublic article."
          operations:
            - method: GET
              name: get-article
              description: "Get a specific TechRepublic article by ID."
              call: "techrepublic-wp.get-post"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/topics
          name: topics
          description: "TechRepublic topic categories."
          operations:
            - method: GET
              name: list-topics
              description: "List TechRepublic topic categories."
              call: "techrepublic-wp.list-categories"
              with:
                page: "rest.page"
                per_page: "rest.per_page"
                search: "rest.search"
                hide_empty: "rest.hide_empty"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/topics/{id}
          name: topic
          description: "A specific TechRepublic topic category."
          operations:
            - method: GET
              name: get-topic
              description: "Get a specific TechRepublic topic category by ID."
              call: "techrepublic-wp.get-category"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/tags
          name: tags
          description: "TechRepublic content tags."
          operations:
            - method: GET
              name: list-tags
              description: "List TechRepublic content tags."
              call: "techrepublic-wp.list-tags"
              with:
                page: "rest.page"
                per_page: "rest.per_page"
                search: "rest.search"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/authors
          name: authors
          description: "TechRepublic authors and contributors."
          operations:
            - method: GET
              name: list-authors
              description: "List TechRepublic authors."
              call: "techrepublic-wp.list-authors"
              with:
                page: "rest.page"
                per_page: "rest.per_page"
                search: "rest.search"
              outputParameters:
                - type: array
                  mapping: "$."

        - path: /v1/authors/{id}
          name: author
          description: "A specific TechRepublic author profile."
          operations:
            - method: GET
              name: get-author
              description: "Get a specific TechRepublic author by ID."
              call: "techrepublic-wp.get-author"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/media
          name: media
          description: "TechRepublic media assets and images."
          operations:
            - method: GET
              name: list-media
              description: "List TechRepublic media assets."
              call: "techrepublic-wp.list-media"
              with:
                page: "rest.page"
                per_page: "rest.per_page"
                search: "rest.search"
                media_type: "rest.media_type"
              outputParameters:
                - type: array
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: techrepublic-content-mcp
      transport: http
      description: "MCP server for AI-assisted TechRepublic content discovery and research."
      tools:
        - name: search-articles
          description: "Search TechRepublic articles by keyword, topic, date range, or author."
          hints:
            readOnly: true
            openWorld: true
          call: "techrepublic-wp.list-posts"
          with:
            search: "tools.search"
            categories: "tools.categories"
            tags: "tools.tags"
            after: "tools.after"
            before: "tools.before"
            per_page: "tools.per_page"
            orderby: "tools.orderby"
            order: "tools.order"
          outputParameters:
            - type: array
              mapping: "$."

        - name: get-article
          description: "Retrieve the full content of a specific TechRepublic article by ID."
          hints:
            readOnly: true
          call: "techrepublic-wp.get-post"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-topics
          description: "List all TechRepublic topic categories for content navigation."
          hints:
            readOnly: true
          call: "techrepublic-wp.list-categories"
          with:
            per_page: "tools.per_page"
            hide_empty: "tools.hide_empty"
          outputParameters:
            - type: array
              mapping: "$."

        - name: get-topic
          description: "Get details about a specific TechRepublic topic category."
          hints:
            readOnly: true
          call: "techrepublic-wp.get-category"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."

        - name: search-tags
          description: "Search TechRepublic content tags for topic discovery."
          hints:
            readOnly: true
          call: "techrepublic-wp.list-tags"
          with:
            search: "tools.search"
            per_page: "tools.per_page"
          outputParameters:
            - type: array
              mapping: "$."

        - name: list-authors
          description: "List TechRepublic authors and contributors."
          hints:
            readOnly: true
          call: "techrepublic-wp.list-authors"
          with:
            search: "tools.search"
          outputParameters:
            - type: array
              mapping: "$."

        - name: get-author
          description: "Get profile information for a specific TechRepublic author."
          hints:
            readOnly: true
          call: "techrepublic-wp.get-author"
          with:
            id: "tools.id"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-media
          description: "List TechRepublic media assets including images and attachments."
          hints:
            readOnly: true
          call: "techrepublic-wp.list-media"
          with:
            search: "tools.search"
            media_type: "tools.media_type"
          outputParameters:
            - type: array
              mapping: "$."