strapi_list_tutorials
Retrieve tutorials from Strapi CMS with filtering by status, difficulty, category, and pagination controls for organized content discovery.
Instructions
List all tutorials with filtering and pagination
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| pageSize | No | Results per page | |
| status | No | Filter by status | all |
| difficulty | No | Filter by difficulty | |
| category_id | No | Filter by category ID | |
| sort | No | Sort field and direction | createdAt:desc |
Implementation Reference
- index.js:611-631 (handler)The handler function that implements the core logic of 'strapi_list_tutorials' by querying the Strapi CMS API for tutorials with pagination support.async listTutorials (headers, args = {}) { const { page = 1, pageSize = 25 } = args const response = await axios.get( `${this.strapiUrl}/content-manager/collection-types/api::tutorial.tutorial`, { headers, params: { page, pageSize } } ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } }
- index.js:225-235 (schema)Input schema defining the parameters accepted by the 'strapi_list_tutorials' tool, including pagination, status, difficulty, category, and sorting options.inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number', default: 1 }, pageSize: { type: 'number', description: 'Results per page', default: 25 }, status: { type: 'string', enum: ['published', 'draft', 'all'], description: 'Filter by status', default: 'all' }, difficulty: { type: 'string', enum: ['beginner', 'intermediate', 'advanced'], description: 'Filter by difficulty' }, category_id: { type: 'number', description: 'Filter by category ID' }, sort: { type: 'string', description: 'Sort field and direction', default: 'createdAt:desc' } } }
- index.js:222-236 (registration)Tool registration in the ListToolsRequestSchema response, defining name, description, and input schema.{ name: 'strapi_list_tutorials', description: 'List all tutorials with filtering and pagination', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'Page number', default: 1 }, pageSize: { type: 'number', description: 'Results per page', default: 25 }, status: { type: 'string', enum: ['published', 'draft', 'all'], description: 'Filter by status', default: 'all' }, difficulty: { type: 'string', enum: ['beginner', 'intermediate', 'advanced'], description: 'Filter by difficulty' }, category_id: { type: 'number', description: 'Filter by category ID' }, sort: { type: 'string', description: 'Sort field and direction', default: 'createdAt:desc' } } } },
- index.js:393-394 (registration)Dispatch registration in the CallToolRequestSchema switch statement that routes execution to the listTutorials handler.case 'strapi_list_tutorials': return await this.listTutorials(headers, request.params.arguments)