naftiko: 1.0.0-alpha2 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-06' capability: consumes: - type: http namespace: techrepublic-wp baseUri: https://www.techrepublic.com/wp-json/wp/v2 description: TechRepublic WordPress REST API v2 - content access endpoints. resources: - name: posts path: /posts description: TechRepublic articles and news posts. operations: - name: list-posts method: GET description: Retrieve a collection of published posts. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return (max 100). - name: search in: query type: string required: false description: Limit results to those matching a string. - name: after in: query type: string required: false description: Limit to posts published after a given ISO 8601 date. - name: before in: query type: string required: false description: Limit to posts published before a given ISO 8601 date. - name: categories in: query type: array required: false description: Limit to posts in specified category IDs. - name: tags in: query type: array required: false description: Limit to posts with specified tag IDs. - name: orderby in: query type: string required: false description: Sort collection by attribute. - name: order in: query type: string required: false description: Order sort ascending or descending. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-post method: GET description: Retrieve a specific post by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the post. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: categories path: /categories description: TechRepublic content categories and topic areas. operations: - name: list-categories method: GET description: Retrieve a collection of categories. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return. - name: search in: query type: string required: false description: Limit results to those matching a string. - name: hide_empty in: query type: boolean required: false description: Whether to hide terms not assigned to any posts. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-category method: GET description: Retrieve a specific category by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the category. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tags path: /tags description: TechRepublic content tags. operations: - name: list-tags method: GET description: Retrieve a collection of tags. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return. - name: search in: query type: string required: false description: Limit results to those matching a string. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-tag method: GET description: Retrieve a specific tag by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the tag. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: authors path: /users description: TechRepublic authors and contributors. operations: - name: list-authors method: GET description: Retrieve a collection of authors. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return. - name: search in: query type: string required: false description: Limit results to those matching a string. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-author method: GET description: Retrieve a specific author by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the author. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: media path: /media description: TechRepublic media attachments and images. operations: - name: list-media method: GET description: Retrieve a collection of media items. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return. - name: search in: query type: string required: false description: Limit results to those matching a string. - name: media_type in: query type: string required: false description: Limit to attachments of a particular media type. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-media method: GET description: Retrieve a specific media item by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the media item. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: pages path: /pages description: TechRepublic static pages. operations: - name: list-pages method: GET description: Retrieve a collection of pages. inputParameters: - name: page in: query type: integer required: false description: Current page of the collection. - name: per_page in: query type: integer required: false description: Maximum number of items to return. - name: search in: query type: string required: false description: Limit results to those matching a string. outputRawFormat: json outputParameters: - name: result type: array value: $. - name: get-page method: GET description: Retrieve a specific page by ID. inputParameters: - name: id in: path type: integer required: true description: Unique identifier for the page. outputRawFormat: json outputParameters: - name: result type: object value: $. 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: $.