Skip to main content
Glama

strapi_list_events

Retrieve and filter events from Strapi CMS with pagination options, status filtering, and sorting capabilities for event management.

Instructions

List all events with filtering and pagination

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
pageSizeNoResults per page
statusNoFilter by statusall
event_typeNoFilter by event type
upcomingNoShow only upcoming events
sortNoSort field and directionstart_date:asc

Implementation Reference

  • The handler function that executes the tool logic by fetching events from Strapi CMS using axios GET request with pagination parameters.
    async listEvents (headers, args = {}) {
      const { page = 1, pageSize = 25 } = args
    
      const response = await axios.get(
        `${this.strapiUrl}/content-manager/collection-types/api::event.event`,
        {
          headers,
          params: {
            page,
            pageSize
          }
        }
      )
    
      return {
        content: [{
          type: 'text',
          text: JSON.stringify(response.data, null, 2)
        }]
      }
    }
  • Input schema defining parameters for pagination, status filtering, event type, upcoming filter, and sorting.
    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' },
        event_type: { type: 'string', enum: ['webinar', 'workshop', 'meetup', 'conference'], description: 'Filter by event type' },
        upcoming: { type: 'boolean', description: 'Show only upcoming events', default: false },
        sort: { type: 'string', description: 'Sort field and direction', default: 'start_date:asc' }
      }
    }
  • index.js:296-310 (registration)
    Registration of the strapi_list_events tool in the ListTools response, including name, description, and input schema.
    {
      name: 'strapi_list_events',
      description: 'List all events 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' },
          event_type: { type: 'string', enum: ['webinar', 'workshop', 'meetup', 'conference'], description: 'Filter by event type' },
          upcoming: { type: 'boolean', description: 'Show only upcoming events', default: false },
          sort: { type: 'string', description: 'Sort field and direction', default: 'start_date:asc' }
        }
      }
    },
  • index.js:409-410 (registration)
    Dispatch/registration in the CallToolRequestSchema switch statement that routes to the listEvents handler.
    case 'strapi_list_events':
      return await this.listEvents(headers, request.params.arguments)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions filtering and pagination but doesn't describe the return format (e.g., array of events with fields), error conditions, authentication requirements, rate limits, or whether it's a read-only operation (implied but not stated).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. Every word earns its place with no redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with rich schema coverage (100%) but no annotations and no output schema, the description is minimally adequate. It covers the basic purpose but lacks behavioral context and output information that would be helpful for an AI agent. The schema handles parameters well, but the description doesn't compensate for missing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing full documentation for all 6 parameters. The description adds minimal value beyond the schema by mentioning filtering and pagination generally, but doesn't explain parameter interactions or provide additional semantic context. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('events'), and specifies filtering and pagination capabilities. It distinguishes from sibling tools like 'strapi_get_event' (singular retrieval) but doesn't explicitly differentiate from other list tools like 'strapi_list_blog_posts' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use 'strapi_list_events' versus 'strapi_get_event' (singular retrieval) or other list tools, nor does it provide context about prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AINative-Studio/ainative-strapi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server