Skip to main content
Glama

TrekkSoft MCP by usefulapi

Server Details

Read activities, bookings, guests and open departures in TrekkSoft.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.6/5.0

Scored across 10 tools

Disambiguation4/5

Each tool targets a distinct resource and action, and the get_* vs list_* split is clear. The only mild overlap is trekksoft_list_availabilities versus trekksoft_list_activity_availabilities, which the descriptions distinguish by scope (cross-activity date range vs single activity).

Naming Consistency5/5

All ten tools follow a strict trekksoft_verb_noun snake_case pattern using only get and list. The server prefix is applied uniformly, making the set fully predictable.

Tool Count5/5

Ten tools is a well-scoped surface for a read-oriented booking API. Each tool maps to a distinct TrekkSoft endpoint with no filler entries.

Completeness3/5

Coverage of list/get for activities, bookings, guests, merchants, availabilities and shop items is solid, but the surface is entirely read-only — no create/update/cancel operations for bookings or guests, and no single-item get for shop items or merchants. Agents that need to modify a booking would hit a dead end.

Available Tools

10 tools
trekksoft_get_activityGet an activityA
Read-only
Inspect

Get one activity by id: description, schedule, price categories and settings. TrekkSoft API: GET /activities/{activityId}.

NameRequiredDescriptionDefault
languageNoLanguage code such as en, de, fr (default en).
activity_idYesThe activity id (from trekksoft_list_activities).

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this as a safe read, so the description only needs to add context. It contributes the endpoint mapping (GET /activities/{activityId}) and the shape of the payload, but says nothing about error behavior for a missing id, auth requirements, or whether nested sub-resources are expanded.

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?

Two compact sentences, zero filler, with the core verb-and-resource statement front-loaded before the return contents and endpoint reference.

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?

There is no output schema, so naming the returned fields serves as the return-value sketch, and the endpoint reference anchors it in the API. Only edge-case behavior (missing activity, permissions) is absent, which is minor for a simple read.

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 both activity_id and the language default documented in the schema itself. The description adds only 'by id' and repeats nothing about the language parameter, so baseline 3 applies.

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?

States a specific verb and resource ('Get one activity by id') and enumerates what is returned (description, schedule, price categories, settings). This distinguishes it from list-style siblings like trekksoft_list_activities, though the contrast is only implicit in the word 'one'.

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 'by id' phrasing implies this is the detail-fetch follow-up to a list call, and the schema notes the id comes from trekksoft_list_activities. However, the description itself gives no explicit when-to-use or when-not guidance versus the sibling list/get tools.

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

trekksoft_get_bookingGet a bookingA
Read-only
Inspect

Get one booking by id: activity, guests, prices, payments and status. TrekkSoft API: GET /bookings/{id}.

NameRequiredDescriptionDefault
booking_idYesThe booking id (from trekksoft_list_bookings).

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds the underlying HTTP endpoint and lists the data fields returned, which is useful, but it does not discuss error behavior, authentication, rate limits, or pagination.

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?

Two compact sentences with the core action and returned data front-loaded. Every phrase contributes useful information, and there is no redundant or vague filler.

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?

For a simple single-parameter read tool with no output schema, the description provides sufficient context by naming the resource, lookup key, and key returned fields. It could optionally mention not-found behavior, but no critical calling information is missing.

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 single booking_id parameter is already well documented in the schema. The description adds only 'by id' and does not expand on format or sourcing beyond what the schema field description already says.

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 names a specific verb and resource: 'Get one booking by id.' It also enumerates the main returned fields (activity, guests, prices, payments, status), making the tool's scope clear and distinguishing it from list-style siblings, though it does not explicitly name a sibling alternative.

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 phrase 'by id' implies the tool should be used when a booking id is already known, but the description offers no explicit when-to-use guidance or comparison with trekksoft_list_bookings. The useful note that the id comes from trekksoft_list_bookings appears only in the schema, not the description.

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

trekksoft_get_guestGet a guestB
Read-only
Inspect

Get one guest by id, including booking link and check-in state. TrekkSoft API: GET /guest/{id}.

NameRequiredDescriptionDefault
guest_idYesThe guest id (from trekksoft_list_guests).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real value by disclosing that the response includes the booking link and check-in state, but says nothing about error behavior (e.g., unknown id) or what happens for guests with no booking.

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?

Two short sentences, front-loaded with the action and resource, with the endpoint appended as a compact technical footnote. No filler or redundancy.

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?

With no output schema, the description carries some burden for return values and it names two useful fields, but a full guest object likely has more fields and possible 404 behavior that remain undisclosed. Adequate but not complete for a record-fetch tool.

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% and the single guest_id parameter is fully documented, including its provenance. The description restates only 'by id' and adds no format or derivation detail beyond the schema, so baseline 3 applies.

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?

States a specific verb and resource ('Get one guest by id') plus the notable payload contents (booking link, check-in state) and the underlying endpoint. It implicitly distinguishes itself from trekksoft_list_guests by the singular/by-id scope, though it never names the sibling explicitly.

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?

Usage is only implied: 'by id' signals a single-record fetch after an id is known, and the schema (not the description) points to trekksoft_list_guests as the id source. No explicit when-to-use or when-to-prefer-a-list statement appears in the description.

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

trekksoft_list_activitiesList activitiesA
Read-only
Inspect

List the tours and activities of your TrekkSoft account, with filters for merchant, category, title, active and bookable state. TrekkSoft API: GET /activities.

NameRequiredDescriptionDefault
idNoOnly these activity ids.
limitNoResults per page (default 30, maximum 100).
offsetNoNumber of results to skip (default 0).
categoryNoCategory filter.
languageNoLanguage code such as en, de, fr (default en).
merchantNoOnly activities of these merchant codes.
is_activeNoOnly active (true) or inactive (false) activities.
title_likeNoPart of the activity title.
only_bookableNoOnly bookable activities.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's burden is lower. It usefully discloses the backing endpoint (GET /activities) and that filters are applied server-side, but says nothing about pagination behavior or volume limits, which matter for a 9-parameter list 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?

Two compact sentences: purpose and filters first, endpoint second. No filler and nothing buried.

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?

For a read-only, zero-required-parameter list tool with fully documented schema and readOnlyHint coverage, the description gives enough to call it correctly. The only real gap is the absence of any hint about paginated results or how it relates to trekksoft_get_activity / trekksoft_list_activity_availabilities.

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 every parameter is already documented in the schema. The description surfaces the filter semantics (merchant, category, title, active, bookable) but omits id, language, limit and offset, adding no meaning beyond the schema — baseline 3 applies.

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?

States a specific verb and resource (list tours/activities) plus the scope of filters and the underlying API call (GET /activities). The list-vs-get distinction from siblings like trekksoft_get_activity is inferable from the name and verb, but no sibling is named explicitly.

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 filter list implies usage (browse/filter activities by merchant, category, title, active/bookable state) but there is no explicit when-to-use guidance, no exclusion, and no pointer to trekksoft_get_activity for single-record retrieval. Usage must be inferred.

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

trekksoft_list_activity_availabilitiesList availabilities of one activityB
Read-only
Inspect

List departures with free seats for one activity. TrekkSoft API: GET /activities/{activityId}/availabilities.

NameRequiredDescriptionDefault
typeNoAvailability types.
limitNoResults per page (default 30, maximum 100).
seatsNoMinimum free seats.
offsetNoNumber of results to skip (default 0).
languageNoLanguage code such as en, de, fr (default en).
starts_toNoLast start date yyyy-mm-dd.
activity_idYesThe activity id.
only_bookedNoOnly departures with bookings.
starts_fromNoFirst start date yyyy-mm-dd.
departure_timeNoDeparture time hh:mm:ss.
only_not_bookedNoOnly departures without bookings.

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds scope ('free seats'), but that framing is somewhat at odds with the only_booked/only_not_booked filters, which suggest departures without free seats can also be returned. It says nothing about pagination behavior despite limit/offset existing.

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?

Two short sentences, front-loaded with the resource and scope; nothing is wasted. The API endpoint is marginally redundant for an agent but reinforces the underlying contract, so only a small deduction.

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 an 11-parameter read tool with no output schema, the description never indicates what an availability record contains (departure time, seats, booking state), which would help the agent interpret results. Annotations cover the safety profile and the schema covers inputs, so this is the main remaining gap but it is a real one.

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 all 11 parameters (date bounds, seats minimum, language, booking filters, paging) are already documented in the schema. The description adds no syntax, defaults, or interaction rules (e.g., that only_booked and only_not_booked are mutually exclusive), so the baseline 3 applies.

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?

States a specific verb and resource ('list departures ... for one activity') and grounds it in a concrete API endpoint, so the agent knows exactly what is being fetched. It does not name or differentiate itself from the sibling trekksoft_list_availabilities (the cross-activity variant), leaving that distinction to inference from 'one activity'.

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?

Usage is only implied: 'for one activity' suggests this is the single-activity counterpart to the broader list tool, and the required activity_id makes the prerequisite obvious. There is no explicit when-to-use / when-not guidance and no mention of trekksoft_list_availabilities as the alternative when no activity is chosen.

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

trekksoft_list_availabilitiesList availabilitiesB
Read-only
Inspect

List departures with free seats across activities, for a date range. TrekkSoft API: GET /availabilities.

NameRequiredDescriptionDefault
typeNoAvailability types.
limitNoResults per page (default 30, maximum 100).
seatsNoMinimum free seats.
offsetNoNumber of results to skip (default 0).
languageNoLanguage code such as en, de, fr (default en).
merchantNoMerchant code.
starts_toNoLast start date yyyy-mm-dd.
title_likeNoPart of the activity title.
activity_idNoOnly these activity ids.
only_bookedNoOnly departures with bookings.
starts_fromNoFirst start date yyyy-mm-dd.
departure_timeNoDeparture time hh:mm:ss.
only_not_bookedNoOnly departures without bookings.

TDQS

B3.1/5.0
Behavior3/5

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

readOnlyHint=true already declares the safety profile, so the description only needs incremental context. It adds the date-range scoping and names the underlying endpoint, but says nothing about pagination behavior, defaults, or how the 'free seats' framing interacts with the only_booked/only_not_booked filters.

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?

Two short sentences, front-loaded with the core behavior. The API endpoint reference earns little for an agent but costs only a clause.

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?

With 13 optional parameters, no output schema, and no annotation beyond read-only, the description leaves return shape, pagination, and default filtering unexplained. The 'free seats' framing is also potentially misleading given only_booked and only_not_booked filters exist.

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 all 13 parameters are already documented in the schema. The description only echoes the date-range and seat concepts, adding no format, default, or interaction detail beyond the schema; baseline 3 applies.

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?

States a specific verb and resource: listing departures with free seats across activities within a date range. It is clear what the tool returns, though it does not differentiate itself from the sibling trekksoft_list_activity_availabilities.

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 versus trekksoft_list_activity_availabilities or the activity endpoints, and no stated prerequisites or exclusions. The agent must infer selection from the name alone.

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

trekksoft_list_bookingsList bookingsB
Read-only
Inspect

List recent bookings. Filter by merchant, user email, free text, booking date, activity date, or changes since a time. TrekkSoft API: GET /bookings.

NameRequiredDescriptionDefault
qNoFree text: booking id, guest name or email, activity name, booking number.
userNoOnly bookings of these user emails.
limitNoResults per page (default 30, maximum 100).
offsetNoNumber of results to skip (default 0).
merchantNoOnly bookings sold by these merchant codes.
booked_afterNoISO 8601 time: only bookings made after it.
booking_dateNoBooking date yyyy-mm-dd.
activity_dateNoActivity start date yyyy-mm-dd.
changed_afterNoISO 8601 time: only bookings changed after it.
cancelled_afterNoISO 8601 time: only bookings cancelled after it.

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already establishes the safety profile, so the description is not carrying that burden. It adds only the upstream endpoint reference (GET /bookings) and the vague 'recent' scoping hint; it says nothing about default ordering, whether cancelled bookings are included, or how many results a caller should expect before paging.

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?

Two sentences, front-loaded with the action and scope, followed by the filter surface. The trailing 'TrekkSoft API: GET /bookings' is marginal but cheap and aids API mapping; nothing else is wasted.

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?

All 10 parameters are self-documented and the read-only annotation covers safety, but with no output schema the description should say more about what a result row contains, pagination totals, and default sort/recency window. For a 10-param list endpoint that is a noticeable gap.

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 baseline is 3. The description's filter list maps almost one-to-one onto parameters already documented in the schema and adds no formats, defaults, or interaction rules (e.g. how q combines with user or merchant) beyond what the schema states.

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?

Specific verb+resource ('List recent bookings') with an enumerated set of supported filters, which clearly separates it from the singular trekksoft_get_booking sibling. The qualifier 'recent' is left undefined, so the retrieval scope is imprecise.

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 list of filter dimensions implies when the tool is appropriate (browsing/searching bookings), and the presence of q/user/merchant hints at broadening-narrowing usage. However, it never states when to prefer trekksoft_get_booking for a single record, nor any exclusion or prerequisite such as required merchant scoping.

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

trekksoft_list_guestsList guestsB
Read-only
Inspect

List guests (participants) with filters for booking, trip departure, phone, name and cancellation. TrekkSoft API: GET /guests.

NameRequiredDescriptionDefault
idNoOnly these guest ids.
nameNoGuest name.
limitNoResults per page (default 30, maximum 100).
phoneNoGuest phone number.
offsetNoNumber of results to skip (default 0).
booking_idNoOnly guests of this booking.
cancelled_afterNoISO 8601 time: only guests cancelled after it.
cancellation_dateNoCancellation date yyyy-mm-dd.
availability_item_idNoOnly guests of these departures (availability item ids).

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already declares the safety profile, so the description only needs to add context. It contributes the underlying API endpoint (GET /guests) and the filterable dimensions, but says nothing about default paging behavior, maximum page size, or what a result row contains — details the annotations don't cover.

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?

Two short sentences, front-loaded with the action and resource, then the filter axes. The API endpoint citation is marginally useful but adds little for an agent that already has the tool name.

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 9-parameter read-only list tool with no output schema, the description should say something about what comes back (guest objects? pagination envelope?). It covers the input side adequately but leaves the return shape entirely unspecified, which is a real gap given the absence of an 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?

Schema description coverage is 100%, so every parameter is already documented in structured data. The description merely summarizes the same filter categories (booking, departure, phone, name, cancellation) and omits the id, limit and offset parameters entirely, adding no syntax or format detail beyond the schema.

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?

States a specific verb+resource ('List guests (participants)') plus the filter axes, which separates it from trekksoft_get_guest and the other list_* siblings. It stops short of explicitly naming 'get_guest' as the single-record alternative, so the differentiation is inferable rather than stated.

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 presence of filters implies when to reach for this tool (bulk/lookup with criteria vs. fetching one guest), but there is no explicit when-to-use/when-not statement and no mention of the trekksoft_get_guest alternative. Usage must be inferred from the parameter list.

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

trekksoft_list_merchantsList merchantsA
Read-only
Inspect

List the merchants your key pair can access. TrekkSoft API: GET /merchants.

NameRequiredDescriptionDefault
idNoOnly these merchant ids.
slugNoMerchant code.
languageNoLanguage code such as en, de, fr (default en).

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful context that results are credential-scoped, but says nothing about pagination, result ordering, or the shape of returned merchant objects, which a listing tool would normally disclose.

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?

Two short sentences with zero filler; the scope constraint is front-loaded and the endpoint reference is compact and useful for traceability.

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?

A zero-required-parameter read-only listing tool with fully documented params and annotation-covered safety does not need much more. The only residual gap is that no output schema exists and the description does not hint at what merchant fields come back.

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% — id, slug, and language are all documented in the schema. The description adds no meaning beyond the schema (e.g., whether id and slug combine as AND or OR filters), so the baseline of 3 applies.

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?

States a specific verb and resource ("List the merchants") plus the scope constraint ("your key pair can access"), and the underlying endpoint GET /merchants confirms it. The merchant resource is naturally distinct from the sibling tools (bookings, guests, activities, shop items), so no explicit sibling routing is needed.

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 phrase "your key pair can access" implies this is a discovery/listing call scoped to credentials, but the description never says when to call it versus filtering another listing or when-not to call it. Usage is inferable from the name and scope clause rather than stated.

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

trekksoft_list_shop_itemsList shop itemsA
Read-only
Inspect

List shop items (extras sold with activities), filterable by merchant, category and active state. TrekkSoft API: GET /shop/items.

NameRequiredDescriptionDefault
idNoOnly these item ids.
activeNoOnly active (true) or inactive (false) items.
languageNoLanguage code such as en, de, fr (default en).
category_idNoOnly items of these category ids.
merchant_idNoOnly items of these merchant ids.

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, and the description adds the backing endpoint (GET /shop/items), which is minor but real context. It says nothing about pagination, result caps, or whether inactive items are returned by default—behavioral facts an agent would want before calling.

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?

Two short sentences, front-loaded with the purpose and the clarifying gloss before the ancillary endpoint reference. Nothing is padded, though the trailing API endpoint line is of marginal value to an agent.

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?

For a zero-required-param, read-only list tool with full schema coverage and annotations covering the safety profile, the description is sufficient to select and call it. The only real gap is that no output schema exists and the description doesn't hint at the shape of the returned list.

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 schema already explains all five parameters including their array semantics. The description restates the merchant/category/active filters but adds no meaning beyond them and omits the id and language params entirely. Baseline 3 applies.

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?

States a specific verb and resource ('List shop items') and clarifies the domain term with a gloss ('extras sold with activities'), which an agent couldn't infer from the name. It also names the filter dimensions. It does not explicitly distinguish itself from the list_activities/list_merchants siblings, so it stops short of a 5.

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?

'Filterable by merchant, category and active state' implies the retrieval use case but never states when to reach for this tool versus a sibling list_* or a get_* lookup. There are no exclusions or prerequisites, leaving usage to inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • First observedtrekksoft_get_activity
    • First observedtrekksoft_get_booking
    • First observedtrekksoft_get_guest
    • First observedtrekksoft_list_activities
    • First observedtrekksoft_list_activity_availabilities
    • First observedtrekksoft_list_availabilities
    • First observedtrekksoft_list_bookings
    • First observedtrekksoft_list_guests
    • First observedtrekksoft_list_merchants
    • First observedtrekksoft_list_shop_items

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Lets Claude, ChatGPT and other MCP clients read a Bookwhen account's public booking data, including events (classes, courses, workshops), ticket types with availability and cost, locations, class passes, leaders and attachments. It is read-only, so it can never modify data or expose attendee or booking records.
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables read-only interaction with the FakturaXL API for querying invoices, clients, products, and stock levels with pagination, date chunking, and rate limiting.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.