naftiko: 1.0.0-alpha2 info: label: Open Trivia DB API description: Free JSON API providing trivia questions across multiple categories, difficulties, and types. No API key is required. Supports session tokens to avoid duplicate questions across requests, multiple response encodings, and rate limiting of one request per IP every 5 seconds. tags: - Open - Trivia - Db - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: open-trivia-db baseUri: https://opentdb.com description: Open Trivia DB API HTTP API. resources: - name: api-php path: /api.php operations: - name: getquestions method: GET description: Retrieve trivia questions inputParameters: - name: amount in: query type: integer required: true description: Number of questions to return (1-50). - name: category in: query type: integer description: Category ID to filter by. Omit for any category. - name: difficulty in: query type: string description: Question difficulty. - name: type in: query type: string description: Question type. - name: encode in: query type: string description: Response encoding format. - name: token in: query type: string description: Session token to avoid duplicate questions. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-category-php path: /api_category.php operations: - name: getcategories method: GET description: List trivia categories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-count-php path: /api_count.php operations: - name: getcategorycount method: GET description: Question count for category inputParameters: - name: category in: query type: integer required: true description: Category ID. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-count-global-php path: /api_count_global.php operations: - name: getglobalcount method: GET description: Global question counts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-token-php path: /api_token.php operations: - name: managetoken method: GET description: Manage session tokens inputParameters: - name: command in: query type: string required: true description: Token operation. - name: token in: query type: string description: Existing token (required when command is reset). outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: open-trivia-db-rest description: REST adapter for Open Trivia DB API. resources: - path: /api.php name: getquestions operations: - method: GET name: getquestions description: Retrieve trivia questions call: open-trivia-db.getquestions outputParameters: - type: object mapping: $. - path: /api_category.php name: getcategories operations: - method: GET name: getcategories description: List trivia categories call: open-trivia-db.getcategories outputParameters: - type: object mapping: $. - path: /api_count.php name: getcategorycount operations: - method: GET name: getcategorycount description: Question count for category call: open-trivia-db.getcategorycount outputParameters: - type: object mapping: $. - path: /api_count_global.php name: getglobalcount operations: - method: GET name: getglobalcount description: Global question counts call: open-trivia-db.getglobalcount outputParameters: - type: object mapping: $. - path: /api_token.php name: managetoken operations: - method: GET name: managetoken description: Manage session tokens call: open-trivia-db.managetoken outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: open-trivia-db-mcp transport: http description: MCP adapter for Open Trivia DB API for AI agent use. tools: - name: getquestions description: Retrieve trivia questions hints: readOnly: true destructive: false idempotent: true call: open-trivia-db.getquestions with: amount: tools.amount category: tools.category difficulty: tools.difficulty type: tools.type encode: tools.encode token: tools.token inputParameters: - name: amount type: integer description: Number of questions to return (1-50). required: true - name: category type: integer description: Category ID to filter by. Omit for any category. - name: difficulty type: string description: Question difficulty. - name: type type: string description: Question type. - name: encode type: string description: Response encoding format. - name: token type: string description: Session token to avoid duplicate questions. outputParameters: - type: object mapping: $. - name: getcategories description: List trivia categories hints: readOnly: true destructive: false idempotent: true call: open-trivia-db.getcategories outputParameters: - type: object mapping: $. - name: getcategorycount description: Question count for category hints: readOnly: true destructive: false idempotent: true call: open-trivia-db.getcategorycount with: category: tools.category inputParameters: - name: category type: integer description: Category ID. required: true outputParameters: - type: object mapping: $. - name: getglobalcount description: Global question counts hints: readOnly: true destructive: false idempotent: true call: open-trivia-db.getglobalcount outputParameters: - type: object mapping: $. - name: managetoken description: Manage session tokens hints: readOnly: true destructive: false idempotent: true call: open-trivia-db.managetoken with: command: tools.command token: tools.token inputParameters: - name: command type: string description: Token operation. required: true - name: token type: string description: Existing token (required when command is reset). outputParameters: - type: object mapping: $.