Skip to main content
Glama
UtahREIA

addevent-mcp-server

by UtahREIA

Search AddEvent Events

addevent_search_events
Read-onlyIdempotent

Find previously created events using filters like date range, calendar, and free-text search. Results include pagination and sorting options.

Instructions

Searches events you've previously created. Does NOT create or modify events.

Args:

  • calendar_ids, event_ids (string[], optional): Narrow to specific calendars or events.

  • datetime_min, datetime_max (string, optional): Filter by date range. datetime_min matches events ending on/after that time; datetime_max matches events starting on/before it.

  • search (string, optional): Free-text match against title, internal_name, description, and location.

  • custom_data_key / custom_data_value (string, optional): Filter by a custom_data key-value pair. Both must be provided together.

  • page (number, default 1), page_size (number, 1-20, default 10): Pagination.

  • sort_by ('created' | 'title' | 'calendar_id' | 'datetime_start'), sort_order ('asc' | 'desc'): Sorting.

Returns: { "events": [ ...event objects... ], "count": number, // events in this response "page": number, "page_size": number } An empty "events" array means no matches, not an error.

Examples:

  • "What events do we have next month?" -> datetime_min/datetime_max set to that month's range.

  • "Find the Main Monthly event" -> search: "Main Monthly".

  • Don't use when: you already have the event_id (use addevent_get_event, it's cheaper).

Error Handling:

  • Returns "Error: Invalid request..." if a filter combination is invalid (e.g. custom_data_key without custom_data_value).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number of results, starting at 1.
searchNoFree-text search across title, internal_name, description, and location. Case-insensitive.
sort_byNoField to sort by. Defaults to 'created', or 'datetime_start' if datetime_min/datetime_max is set.
event_idsNoLimit results to these specific event IDs.
page_sizeNoNumber of results per page, between 1 and 20.
sort_orderNoSort direction, 'asc' or 'desc'. Requires sort_by.
calendar_idsNoLimit results to these calendar IDs.
datetime_maxNoOnly events starting on/before this datetime (naive comparison, timezone not considered). Same formats as datetime_start.
datetime_minNoOnly events ending on/after this datetime (naive comparison, timezone not considered). Same formats as datetime_start.
custom_data_keyNoFilter by a custom_data key. Must be paired with custom_data_value.
custom_data_valueNoFilter by a custom_data value. Must be paired with custom_data_key.
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with 'Does NOT create or modify events' and adds valuable runtime behavior: return shape, empty array meaning, error handling for invalid filter combinations, and pagination semantics. This goes well beyond the annotations.

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

Conciseness4/5

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

The description is well-structured into Args, Returns, Examples, and Error Handling sections. It is longer than necessary given the schema coverage, but every section earns its place for providing a comprehensive overview, especially without an output schema. It is not overly verbose and remains easy to scan.

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

Completeness5/5

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

For a tool with 11 optional parameters and no output schema, the description covers the full picture: parameter semantics (via schema and description), return format, example use cases, error behavior, and when to use an alternative. It even clarifies that an empty events array is not an error, which is important for callers.

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 coverage is 100%, so baseline is 3. The description mostly restates schema descriptions (e.g., datetime_min matches events ending on/after, custom_data_key/value must be paired, page_size range). It adds minor examples but no substantial new parameter semantics beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states 'Searches events you've previously created. Does NOT create or modify events.' This specifies the action (search), the resource (previously created events), and explicitly distinguishes it from mutation tools like create/update/delete. It also contrasts with addevent_get_event by noting the alternative is cheaper when an event_id is already known.

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

Usage Guidelines5/5

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

Provides explicit usage guidance with concrete examples: 'What events do we have next month?' maps to setting datetime_min/max, and 'Find the Main Monthly event' maps to search. It also gives a direct exclusion: 'Don't use when: you already have the event_id (use addevent_get_event, it's cheaper).' This clearly tells when to use this tool versus alternatives.

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/UtahREIA/addevent-mcp-server'

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