TrekkSoft MCP by usefulapi

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
94%
Naming quality
78%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'trekksoft_list_activity_availabilities' name length outside 3-30 rangein trekksoft_list_activity_availabilities

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,360Tokens (tool definitions)
~2.1 KBTypical response size
Moderate attention impact (1.84% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "trekksoft": {
      "url": "https://trekksoft.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://trekksoft.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢trekksoft_list_activities(id, merchant, category, title_like, is_active, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only these activity ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "merchant": {
      "description": "Only activities of these merchant codes.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category": {
      "description": "Category filter.",
      "type": "string"
    },
    "title_like": {
      "description": "Part of the activity title.",
      "type": "string"
    },
    "is_active": {
      "description": "Only active (true) or inactive (false) activities.",
      "type": "boolean"
    },
    "only_bookable": {
      "description": "Only bookable activities.",
      "type": "boolean"
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    },
    "limit": {
      "description": "Results per page (default 30, maximum 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_get_activity(activity_id, language)

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

Input Schema

{
  "type": "object",
  "properties": {
    "activity_id": {
      "type": "string",
      "description": "The activity id (from trekksoft_list_activities)."
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    }
  },
  "required": [
    "activity_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_bookings(merchant, user, q, booking_date, activity_date, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "merchant": {
      "description": "Only bookings sold by these merchant codes.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "user": {
      "description": "Only bookings of these user emails.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "q": {
      "description": "Free text: booking id, guest name or email, activity name, booking number.",
      "type": "string"
    },
    "booking_date": {
      "description": "Booking date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "activity_date": {
      "description": "Activity start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "changed_after": {
      "description": "ISO 8601 time: only bookings changed after it.",
      "type": "string"
    },
    "booked_after": {
      "description": "ISO 8601 time: only bookings made after it.",
      "type": "string"
    },
    "cancelled_after": {
      "description": "ISO 8601 time: only bookings cancelled after it.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page (default 30, maximum 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_get_booking(booking_id)

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

Input Schema

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string",
      "description": "The booking id (from trekksoft_list_bookings)."
    }
  },
  "required": [
    "booking_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_guests(id, availability_item_id, booking_id, phone, name, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only these guest ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "availability_item_id": {
      "description": "Only guests of these departures (availability item ids).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "booking_id": {
      "description": "Only guests of this booking.",
      "type": "string"
    },
    "phone": {
      "description": "Guest phone number.",
      "type": "string"
    },
    "name": {
      "description": "Guest name.",
      "type": "string"
    },
    "cancellation_date": {
      "description": "Cancellation date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "cancelled_after": {
      "description": "ISO 8601 time: only guests cancelled after it.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page (default 30, maximum 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_get_guest(guest_id)

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

Input Schema

{
  "type": "object",
  "properties": {
    "guest_id": {
      "type": "string",
      "description": "The guest id (from trekksoft_list_guests)."
    }
  },
  "required": [
    "guest_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_availabilities(activity_id, title_like, merchant, type, seats, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "activity_id": {
      "description": "Only these activity ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "title_like": {
      "description": "Part of the activity title.",
      "type": "string"
    },
    "merchant": {
      "description": "Merchant code.",
      "type": "string"
    },
    "type": {
      "description": "Availability types.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "trip",
          "day_trip",
          "rental",
          "voucher"
        ]
      }
    },
    "seats": {
      "description": "Minimum free seats.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "starts_from": {
      "description": "First start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "starts_to": {
      "description": "Last start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "departure_time": {
      "description": "Departure time hh:mm:ss.",
      "type": "string"
    },
    "only_not_booked": {
      "description": "Only departures without bookings.",
      "type": "boolean"
    },
    "only_booked": {
      "description": "Only departures with bookings.",
      "type": "boolean"
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    },
    "limit": {
      "description": "Results per page (default 30, maximum 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_activity_availabilities(activity_id, type, seats, starts_from, starts_to, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "activity_id": {
      "type": "string",
      "description": "The activity id."
    },
    "type": {
      "description": "Availability types.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "trip",
          "day_trip",
          "rental",
          "voucher"
        ]
      }
    },
    "seats": {
      "description": "Minimum free seats.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "starts_from": {
      "description": "First start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "starts_to": {
      "description": "Last start date yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "departure_time": {
      "description": "Departure time hh:mm:ss.",
      "type": "string"
    },
    "only_not_booked": {
      "description": "Only departures without bookings.",
      "type": "boolean"
    },
    "only_booked": {
      "description": "Only departures with bookings.",
      "type": "boolean"
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    },
    "limit": {
      "description": "Results per page (default 30, maximum 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of results to skip (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "activity_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_merchants(id, slug, language)

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

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only these merchant ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "slug": {
      "description": "Merchant code.",
      "type": "string"
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trekksoft_list_shop_items(id, merchant_id, category_id, active, language)

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

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Only these item ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "merchant_id": {
      "description": "Only items of these merchant ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "category_id": {
      "description": "Only items of these category ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "active": {
      "description": "Only active (true) or inactive (false) items.",
      "type": "boolean"
    },
    "language": {
      "description": "Language code such as en, de, fr (default en).",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools