Skip to main content
Glama
marek-knappe

TryBooking MCP Server

by marek-knappe

TryBooking MCP Server

An MCP (Model Context Protocol) server that wraps the TryBooking Reporting API, letting AI assistants like Claude query bookings, events, sales reports, attendance scans, and more.

Prerequisites

  • Node.js 18+

  • A TryBooking account with API access

  • API Key and Secret Key from TryBooking Portal (Integration Tools > API Management)

Related MCP server: Pulumi Events MCP

Installation

The easiest way to install — use the Claude Code plugin marketplace:

/plugin marketplace add marek-knappe/TryBookingMCP
/plugin install trybooking-mcp@trybooking-marketplace
/reload-plugins

Then configure your API credentials (see Setting Environment Variables below).

Manual Installation

git clone https://github.com/marek-knappe/TryBookingMCP.git
cd TryBookingMCP
npm install
npm run build

Configuration

The server requires three environment variables:

Variable

Required

Description

TRYBOOKING_API_KEY

Yes

Your TryBooking API key

TRYBOOKING_SECRET_KEY

Yes

Your TryBooking secret key

TRYBOOKING_REGION

Yes

Region code: au (Australia), nz (New Zealand), uk (United Kingdom), or us (United States)

Get your API credentials from the TryBooking Portal under Integration Tools > API Management.

Setting Environment Variables

Whether you installed via the plugin marketplace or manually, the MCP server needs your TryBooking credentials as environment variables.

Option 1: Claude Code settings file (Recommended)

Add the env vars to your Claude Code settings at ~/.claude/settings.json:

{
  "env": {
    "TRYBOOKING_API_KEY": "your-api-key",
    "TRYBOOKING_SECRET_KEY": "your-secret-key",
    "TRYBOOKING_REGION": "au"
  }
}

Option 2: Shell environment

Export them in your shell profile (~/.bashrc, ~/.zshrc, ~/.config/fish/config.fish, etc.):

export TRYBOOKING_API_KEY="your-api-key"
export TRYBOOKING_SECRET_KEY="your-secret-key"
export TRYBOOKING_REGION="au"

Then restart Claude Code for changes to take effect.

Option 3: Project-level settings

For project-specific configuration, add to .claude/settings.json in your project directory:

{
  "env": {
    "TRYBOOKING_API_KEY": "your-api-key",
    "TRYBOOKING_SECRET_KEY": "your-secret-key",
    "TRYBOOKING_REGION": "au"
  }
}

Note: Don't commit .claude/settings.json if it contains secrets — add it to .gitignore.

After configuring, run /reload-plugins in Claude Code to pick up the changes.

Claude Code (Manual Setup)

If you installed manually (not via the plugin marketplace), add to your Claude Code settings (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "trybooking": {
      "command": "node",
      "args": ["/absolute/path/to/TryBookingMCP/dist/index.js"],
      "env": {
        "TRYBOOKING_API_KEY": "your-api-key",
        "TRYBOOKING_SECRET_KEY": "your-secret-key",
        "TRYBOOKING_REGION": "au"
      }
    }
  }
}

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "trybooking": {
      "command": "node",
      "args": ["/absolute/path/to/TryBookingMCP/dist/index.js"],
      "env": {
        "TRYBOOKING_API_KEY": "your-api-key",
        "TRYBOOKING_SECRET_KEY": "your-secret-key",
        "TRYBOOKING_REGION": "au"
      }
    }
  }
}

Available Tools

Account

Tool

Description

get_account_transactions

Retrieve account transactions for a date range

Bookings

Tool

Description

get_booking

Fetch a specific booking by transaction ID

get_bookings_by_date

Get bookings within a date range

Events

Tool

Description

list_events

List all events for the account

get_event

Get details for a specific event

get_event_session

Get event session details by session ID

get_event_sections

List sections for an event

get_seat_status

Get seat availability for a session and section

Fundraising

Tool

Description

get_fundraising

Retrieve fundraising pages

Sales Reports

Tool

Description

get_ticket_sales

Ticket sales by period (day/week/month/year)

get_booking_sales

Booking sales report (max 180 days)

get_event_sales

Event sales report (max 180 days)

get_fundraising_sales

Fundraising sales report

Attendance Scans

Tool

Description

get_scan_attendance

Scan attendance for a session (one scan per ticket)

get_scan_all

All scan events for a session

Example Usage

Once configured, you can ask Claude things like:

  • "List all my TryBooking events"

  • "Show me bookings from 2025-01-01 to 2025-01-31"

  • "Get ticket sales for last month grouped by week"

  • "What's the seat availability for session X, section Y?"

  • "Show my account transactions for this quarter"

API Reference

This server wraps the TryBooking Reporting API. All endpoints use HTTP Basic Authentication and return JSON responses. The server uses API v1 for most endpoints and v2 for scan endpoints (which use string-based rule IDs).

License

MIT

Available Tools

15 tools
get_account_transactionsA

Retrieve account transactions for a date range

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It only states a read operation ('Retrieve') without addressing idempotency, auth requirements, or rate limits. The date range constraint is noted but adds minimal behavioral context beyond the schema.

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?

A single, clear sentence with no wasted words. Front-loaded with the key purpose and scope.

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 simple 2-parameter retrieval tool with no output schema, the description covers the essential purpose and scope. However, it omits details like pagination, transaction types, or result format, leaving some gaps in completeness.

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%, and the description merely echoes the date-range concept already present in the schema (startDate/endDate with pattern and description). No additional parameter semantics are provided.

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 the action ('Retrieve') and the resource ('account transactions') with the scope ('for a date range'). It distinguishes from sibling tools like get_booking or get_event by specifying 'account transactions', which is a distinct resource.

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

Usage Guidelines3/5

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

The description implies use for date-range queries but does not provide when-to-use versus alternatives. Siblings like get_ticket_sales or get_booking_sales may handle transaction-like data, but no exclusions or context are given.

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

get_bookingB

Fetch a specific booking by transaction ID

ParametersJSON Schema
NameRequiredDescriptionDefault
transactionIdYesThe booking transaction ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It implies read-only but does not explicitly state safety, auth requirements, or any behavioral traits beyond a simple fetch.

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?

Extremely concise at 5 words, with no wasted information. Every word is necessary.

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?

Given the simplicity of the tool (single parameter, no output schema, no nested objects), the description is minimally adequate. However, it does not explain return values or expected behavior, which could be helpful.

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% for the single parameter. The tool description adds no new meaning beyond what the schema already provides.

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 tool fetches a specific booking by transaction ID. It is specific and distinguishes from siblings like get_bookings_by_date and get_booking_sales, but does not explicitly differentiate.

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 on when to use this tool versus alternatives. The description only states what it does without context for selection.

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

get_booking_salesA

Get booking sales report (max 180 days range)

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)

TDQS

A4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It only states it's a report, implying read-only, but does not explicitly confirm safety, side effects, or response format. A clear read-only assertion is missing.

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?

A single, concise sentence that front-loads the purpose and constraint. No unnecessary words, making it efficient for an agent to parse.

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

Completeness4/5

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

The tool is simple with two date parameters and no nested objects or output schema. The description addresses the key constraint, but could mention the return type or aggregation level for full completeness.

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

Parameters4/5

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

The input schema covers both parameters with format descriptions. The description adds a critical constraint (max 180 days range) that is not in the schema, enhancing parameter semantics.

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 the tool retrieves a booking sales report, specifying a maximum date range of 180 days. This differentiates it from sibling tools like get_ticket_sales or get_event_sales by targeting booking-specific sales data.

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

Usage Guidelines4/5

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

The description provides a clear constraint (max 180 days range) that guides when to use this tool. However, it does not explicitly tell when to avoid it or suggest alternatives, though the sibling list implies context.

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

get_bookings_by_dateC

Get bookings within a date range

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Get bookings' without disclosing whether it is read-only, if there are any side effects, or any rate limits. The behavioral transparency is minimal.

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

Conciseness3/5

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

The description is one sentence of five words, which is very concise. However, it could be slightly more informative without being verbose. It is not overly long, but also not ideally 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 simple schema and no output schema or annotations, the description lacks sufficient detail. It does not mention return format, pagination, or behavior for invalid dates, leaving the agent with incomplete context.

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?

The input schema has 100% coverage with clear descriptions for both parameters. The description adds no extra meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 ('Get bookings') and the scope ('within a date range'). It distinguishes from sibling tools like 'get_booking' which retrieves a single booking, and 'get_booking_sales' which focuses on sales data.

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 on when to use this tool versus alternatives. There is no mention of how it differs from 'list_events' or 'get_booking', nor any context about prerequisites or limitations.

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

get_eventC

Get details for a specific event

ParametersJSON Schema
NameRequiredDescriptionDefault
eventIdYesThe event ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It does not mention any prerequisites, permissions, or side effects, which is insufficient for a retrieval tool.

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, front-loaded sentence that efficiently communicates the core purpose without any unnecessary words.

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 no output schema and no annotations, the description lacks information about return values or any operational context, which is insufficient for an effective 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?

The single parameter eventId is defined in the schema with description 'The event ID', and schema coverage is 100%. The description adds no extra meaning, so baseline score of 3 is appropriate.

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 indicates the tool retrieves details for one specific event, distinguishing it from list_events which retrieves multiple events. However, it does not specify what 'details' includes, leaving some ambiguity.

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 siblings like get_event_session, get_event_sections, etc. The agent has no context for selection.

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

get_event_salesA

Get event sales report (max 180 days range)

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided; description only mentions a date range limit. It does not disclose whether the tool is read-only, auth requirements, or what data the report includes. Insufficient behavioral disclosure.

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?

Single sentence, no redundancy, front-loaded with key information. Efficient and to the point.

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?

Minimal description for a tool with 2 parameters and no output schema. Lacks details on return format or behavior, but the constraint is useful.

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

Parameters4/5

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

Schema covers both parameters with descriptions (100% coverage). The description adds value by specifying the 'max 180 days range' constraint, which is not in the schema.

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 the verb 'Get', the resource 'event sales report', and the constraint 'max 180 days range'. It distinguishes from sibling tools like get_ticket_sales and get_booking_sales.

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 on when to use this tool vs alternatives (e.g., get_ticket_sales, get_booking_sales). The description is purely declarative, lacking context for choice.

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

get_event_sectionsB

List sections for an event

ParametersJSON Schema
NameRequiredDescriptionDefault
eventIdYesThe event ID

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description fails to disclose behavioral traits like read-only nature, authentication needs, or output format. Minimal disclosure beyond the operation.

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 very short (one sentence) and front-loaded with the key action, but for a simple tool this level of conciseness is acceptable.

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?

Given the simple schema and single parameter, the description is minimally adequate but lacks completeness for usage context, e.g., what sections represent or typical use cases.

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% for eventId with a clear description, so baseline is 3. The description adds no additional meaning beyond the schema.

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 'List sections for an event' uses a specific verb and resource, clearly distinguishing it from sibling tools like 'get_event_session' or 'get_event'.

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 on when to use this tool compared to alternatives such as 'get_event', 'get_event_session', or other list tools. Lacks context for selection.

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

get_event_sessionB

Get event session details by session ID

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'Get' (implying read-only) but does not disclose return format, pagination, authentication needs, rate limits, or any side effects. This is insufficient for an agent to understand behavioral traits.

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 sentence, to the point, with no unnecessary words. It is well front-loaded and efficient.

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?

Given no output schema, the description does not explain what 'details' are returned. For a simple retrieval by ID, it is minimally acceptable but leaves ambiguity. With siblings, it could be more complete by clarifying the scope of 'event session' vs 'event'.

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% with a clear description for sessionId. The description adds no additional meaning beyond what is in the input schema. With high coverage, baseline 3 is appropriate; no extra value provided.

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 the verb 'Get', the resource 'event session details', and the method 'by session ID'. It distinguishes from siblings like get_event (event-level details) and get_event_sections (section-level details), making the tool's purpose specific and unambiguous.

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 (e.g., get_event_sections or list_events). It does not mention prerequisites, context, or exclusions. The usage is only implied by the resource name.

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

get_fundraisingC

Retrieve fundraising pages

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are present, so the description should disclose behavioral traits. It does not mention pagination, rate limits, data freshness, or any side effects. The description is insufficient for safe invocation.

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

Conciseness3/5

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

The description is a single sentence, making it concise, but it lacks necessary detail. It is not overly verbose, but the brevity undermines completeness.

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 no output schema, no annotations, and the existence of related sibling tools, the description is incomplete. It fails to explain what fundraising pages contain or how the results can be used.

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

Parameters4/5

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

The input schema has zero parameters, so schema description coverage is effectively 100%. The description adds no parameter info but is not needed. Baseline 4 is appropriate.

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

Purpose3/5

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

The description specifies a verb ('Retrieve') and a resource ('fundraising pages'), but it is vague and does not differentiate from siblings like get_fundraising_sales. It is not a tautology but lacks specificity.

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 provided on when to use this tool versus alternatives (e.g., get_fundraising_sales). The description offers no context or exclusions.

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

get_fundraising_salesC

Get fundraising sales report

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Get', implying a read operation. However, no behavioral details are disclosed, such as whether the report is aggregated, if there are rate limits, or any other constraints. The tool carries the full burden of behavioral disclosure, which is unmet.

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

Conciseness2/5

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

The description is extremely concise (one sentence), but it sacrifices necessary information. It fails to explain what the report contains or how it differs from similar tools, making it under-specified rather than efficiently concise.

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 simplicity of the tool (2 parameters, no output schema) and the presence of multiple sibling tools with similar names, the description is incomplete. It does not address output format, scope, or use cases, leaving the agent with insufficient context to select or invoke the tool correctly.

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%, with clear descriptions for startDate and endDate including format. The description adds no additional meaning beyond what the schema provides, so the baseline of 3 is appropriate.

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

Purpose3/5

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

The description 'Get fundraising sales report' clearly indicates a verb and resource, but it does not distinguish itself from sibling tools like 'get_fundraising' or 'get_ticket_sales'. The term 'fundraising sales report' is ambiguous and lacks specificity about what data is included.

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 on when to use this tool versus alternatives such as 'get_fundraising' or other sales reports. The description does not mention context, prerequisites, or exclusion criteria.

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

get_scan_allC

Get all scan events for a session

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Get', implying a read operation, but provides no details on side effects, permissions, or limitations. Minimal transparency.

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 sentence with no unnecessary words. It is as concise as possible while conveying the core action.

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 presence of sibling tools like get_scan_attendance and no output schema, the description lacks completeness. It does not explain what scan events are, how they differ from similar tools, or what the return value contains.

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% with a single parameter sessionId described as 'The session ID'. The description does not add any extra meaning beyond what the schema already provides, resulting in baseline 3.

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 uses a clear verb 'Get' and resource 'scan events' with scope 'for a session', but does not differentiate from sibling tool 'get_scan_attendance' or explain what 'all scan events' entails.

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 on when to use this tool versus alternatives like get_scan_attendance or other session-related tools. The agent is left to infer usage without context.

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

get_scan_attendanceB

Get scan attendance for a session (one scan per ticket)

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesThe session ID

TDQS

B3.4/5.0
Behavior2/5

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

The description adds the detail 'one scan per ticket' but lacks disclosure about what is returned (only scanned tickets or all tickets), authorization needs, or data format. With no annotations, the burden is higher and unmet.

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 a single sentence with no wasted words, but could be slightly expanded without losing conciseness.

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 simple 1-param tool with no output schema, the description covers purpose and a key behavioral detail, but missing return type or scope (e.g., all tickets vs. scanned only).

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% and the description adds no extra meaning beyond the schema's own description of sessionId. Baseline 3 applies.

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 explicitly states the verb 'Get', the resource 'scan attendance', and constrains to a session with the detail 'one scan per ticket', clearly distinguishing from siblings like get_scan_all.

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

Usage Guidelines3/5

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

The description implies usage for session-level attendance but provides no explicit when-to-use or when-not-to-use guidance, nor references alternatives among siblings.

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

get_seat_statusC

Get seat status for a session and section

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionIdYesThe section ID
sessionIdYesThe session ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so the description must carry the behavioral disclosure burden. It only states the action and parameters, but does not mention read-only nature, response format, side effects, or any constraints (e.g., rate limits). This is insufficient for an agent to understand behavioral traits.

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 a single, well-structured sentence that is front-loaded with the core action. It is appropriately sized for the low complexity of this tool, with no unnecessary words.

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 no output schema and no annotations, the description should provide more context about what 'seat status' entails (e.g., whether it returns availability counts or individual seat details). The current description is too sparse for an agent to fully determine the tool's scope and output.

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%—both parameters have simple descriptions ('The section ID', 'The session ID'). The tool description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

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 it retrieves seat status for a given session and section, which distinguishes it from sibling tools like 'get_event_sections' or 'get_booking'. The verb 'get' and resource 'seat status' are specific, though the exact meaning of 'seat status' (e.g., availability, counts) is not elaborated.

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 on when to use this tool versus other similar tools like 'get_event_sessions' or 'get_event_sections'. The description lacks context about prerequisites or typical scenarios, leaving the agent to infer usage.

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

get_ticket_salesC

Get ticket sales report by period. datePeriod: 1=Day, 2=Week, 3=Month, 4=Year

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesEnd date (yyyy-MM-dd)
startDateYesStart date (yyyy-MM-dd)
datePeriodYesPeriod grouping: 1=Day, 2=Week, 3=Month, 4=Year

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only implies read-only and aggregation but does not explain response format, safety, or requirements. Minimal transparency.

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?

Single sentence with a clear subject and immediate enum summary. No wasted words; front-loaded with the main action.

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?

Missing information about return format, date range usage, and differentiation from many sibling tools. Incomplete for a report tool with no output schema.

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?

The schema covers 100% of parameters with descriptions. The description adds the enum mapping for datePeriod, which is already in the schema, so it provides little additional meaning beyond the schema. Baseline 3 is appropriate.

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 'Get' and resource 'ticket sales report', and specifies grouping by period. However, it does not distinguish from similar sibling tools like get_booking_sales or get_event_sales, which could cause confusion.

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 on when to use this tool versus alternatives. With many similar sibling tools, the description should explicitly state use cases or exclusions.

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

list_eventsA

List all events for the account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only states 'list all events', which is a read operation but lacks details on auth requirements, rate limits, or pagination behavior.

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 sentence with no wasted words, front-loading the action and resource effectively.

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 simple parameterless list tool, the description is minimally adequate but does not explain return format, ordering, or how it differs from sibling tools like get_event_sales.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description adds no additional parameter meaning, but baseline for 0 parameters is 4.

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 the verb 'list' and resource 'events for the account', with no ambiguity. It distinguishes from siblings like 'get_event' which retrieves a single event.

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

Usage Guidelines3/5

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

The description implies usage when needing all events, but provides no explicit when-not or alternatives despite numerous sibling tools like get_event or get_booking.

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

TDQS

B3.1/5.0
Disambiguation5/5

All tools have distinct purposes, covering different resources like transactions, bookings, events, sessions, sales, and scanning. Even though many start with 'get', their targets are clearly differentiated by resource type and context.

Naming Consistency4/5

14 out of 15 tools follow the 'get_{resource}' pattern. The only exception is 'list_events', which uses 'list' instead of 'get'. This minor inconsistency reduces the score.

Tool Count4/5

15 tools is reasonable for a read-only ticketing API. It covers many query aspects without being overwhelming or too sparse, though a few more could be added for completeness.

Completeness2/5

The tool set is entirely read-only, lacking any write operations such as creating, updating, or deleting bookings, events, or tickets. This is a significant gap for a ticketing system where transaction processing is expected.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that exposes the Tickiti helpdesk API to AI assistants, enabling ticket management and helpdesk operations via natural language.
    11
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for interacting with the ThreatLocker Portal API, enabling querying of computers, applications, policies, audit logs, and more through AI assistants.
    18
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that exposes aggregated Shotgun event sales, net revenue, ticket quotas, and audience stats to AI assistants via natural language queries.
    MIT

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/marek-knappe/TryBookingMCP'

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