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
| 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)