Skip to main content
Glama
code-rabi

Mews MCP

by code-rabi

exportReservations

Export reservation data from Mews hospitality platform in CSV, JSON, or Excel format for specified date ranges and filters.

Instructions

Exports reservations in the specified format and period

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
StartUtcYesStart date for export (ISO 8601)
EndUtcYesEnd date for export (ISO 8601)
FormatYesExport format (CSV, JSON, etc.)
ReservationIdsNoSpecific reservation IDs to export
StatesNoFilter by reservation states
TimeZoneNoTime zone for date formatting

Implementation Reference

  • The main handler function for the exportReservations tool. It processes input arguments and makes an HTTP request to the Mews API endpoint '/api/connector/v1/exports/reservations' to export reservations.
    async execute(config: MewsAuthConfig, args: unknown): Promise<ToolResult> {
      const inputArgs = args as Record<string, unknown>;
      const requestData = {
        ...inputArgs
      };
    
      const result = await mewsRequest(config, '/api/connector/v1/exports/reservations', requestData);
      return {
        content: [{
          type: 'text',
          text: JSON.stringify(result, null, 2)
        }]
      };
    }
  • Input schema defining the parameters for the exportReservations tool, including required StartUtc, EndUtc, Format, and optional filters.
    inputSchema: {
      type: 'object',
      properties: {
        StartUtc: {
          type: 'string',
          description: 'Start date for export (ISO 8601)'
        },
        EndUtc: {
          type: 'string',
          description: 'End date for export (ISO 8601)'
        },
        Format: {
          type: 'string',
          description: 'Export format (CSV, JSON, etc.)',
          enum: ['Csv', 'Json', 'Excel']
        },
        ReservationIds: {
          type: 'array',
          items: { type: 'string' },
          description: 'Specific reservation IDs to export',
          maxItems: 1000
        },
        States: {
          type: 'array',
          items: { type: 'string' },
          description: 'Filter by reservation states'
        },
        TimeZone: {
          type: 'string',
          description: 'Time zone for date formatting'
        }
      },
      required: ['StartUtc', 'EndUtc', 'Format'],
      additionalProperties: false
    },
  • Registration of the exportReservationsTool in the central allTools array exported from src/tools/index.ts.
    exportReservationsTool,
  • Import statement bringing the exportReservationsTool into the index for registration.
    import { exportReservationsTool } from './exports/exportReservations.js';
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the export action but doesn't mention whether this is a read-only operation, if it requires specific permissions, potential rate limits, or what the output entails (e.g., file generation, data format). This is a significant gap for a tool with mutation implications.

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 without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, making it appropriately concise and well-structured.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like safety, permissions, or output details, which are crucial for an export tool. The high schema coverage helps with parameters, but overall context is insufficient for confident tool invocation.

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%, so the input schema fully documents all six parameters. The description adds minimal value by mentioning 'format and period', which aligns with the 'Format', 'StartUtc', and 'EndUtc' parameters but doesn't provide additional context beyond what's in the schema. This meets the baseline for high schema coverage.

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 action ('Exports') and resource ('reservations'), specifying the format and period parameters. It distinguishes from sibling tools like 'getAllReservations' by emphasizing export functionality rather than retrieval, though it doesn't explicitly contrast with 'exportAccountingItems'.

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?

No guidance is provided on when to use this tool versus alternatives like 'getAllReservations' or 'exportAccountingItems'. The description mentions format and period but doesn't specify use cases, prerequisites, or exclusions, leaving the agent to infer usage from context.

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/code-rabi/mews-mcp'

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