Skip to main content
Glama

Server Details

Live KARVE Pilates class schedule and availability in Jeddah, with booking links. Read-only.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.7/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool has a clear role: class_detail for specific class info, next_available for soonest openings, search_classes for full schedule, and studio_info for general facts. Slight overlap between next_available and search_classes is mitigated by distinct purposes: one finds the soonest open class, the other lists the schedule.

Naming Consistency3/5

All names use snake_case and are readable, but the pattern is mixed: class_detail and studio_info are noun-based, next_available is adjective-based, and search_classes is verb-based. There is no consistent verb_noun pattern across the set.

Tool Count4/5

Four tools is well-scoped for a read-only booking information server, covering schedule, availability, class details, and studio info without redundancy. It is within the typical 3-15 range and each tool earns its place.

Completeness4/5

The set covers core browsing needs: schedule lookup, finding available classes, getting full class details, and studio policies. It lacks actual booking or cancellation actions, but the descriptions indicate it is designed to provide information and booking links rather than handle transactions, so this is an acceptable scope.

Available Tools

4 tools
class_detailKARVE class detailA
Read-onlyIdempotent
Inspect

Full detail for one KARVE class by its idSchedule (from search_classes' JSON): description, trainer, studio, live availability, and a booking link.

ParametersJSON Schema
NameRequiredDescriptionDefault
idScheduleYes
withinDaysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
headerYes
classesYes
Behavior4/5

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

Annotations declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds value by specifying the returned fields (description, trainer, studio, live availability, booking link), which is useful context about the tool's behavior. No contradictions or additional caveats are needed.

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 immediately states the tool's purpose and then lists the return content. No wasted words; every clause contributes meaning.

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?

The description gives the core purpose, input source, and return fields, which is adequate for a read-only detail tool with an output schema. However, the undefined withinDays parameter and lack of explicit guidance about when to use this vs siblings leave some gaps in context.

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

Parameters2/5

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

The schema has zero descriptions for parameters, so the description must compensate. It explains idSchedule (from search_classes' JSON) but does not explain withinDays, leaving an optional parameter with unclear semantics. This is a significant gap for a two-parameter tool.

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 returns full detail for a single KARVE class, identifying the key input (idSchedule) and listing the content (description, trainer, studio, live availability, booking link). It distinguishes from siblings by indicating it operates on one class and references search_classes for the id. However, it lacks an explicit verb like 'retrieve' or 'get', so it is not a perfect 5.

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 implies the use case: after search_classes returns a list, use this tool with an idSchedule to get full details. This gives clear context for when to use it, but it doesn't explicitly mention when not to use it or name alternatives like next_available or studio_info. That aligns with 'clear context, no exclusions'.

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

next_availableNext available KARVE classA
Read-onlyIdempotent
Inspect

Soonest upcoming KARVE classes that still have an open spot, optionally matching an English query (e.g. 'transformer', 'Sarah', 'beginners'). Returns booking links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
withinDaysNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
headerYes
classesYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds valuable behavioral context: results are limited to classes with open spots, results are restricted to upcoming soonest, and the output includes booking links. This goes beyond annotations without contradicting them.

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 conveys the core purpose, query flexibility, and output behavior without redundancy. There is no wasted content.

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?

The annotations and output schema cover safety and return shape, and the description covers core purpose and query semantics. However, the lack of explanation for 'limit' and 'withinDays', plus no explicit differentiation from siblings like search_classes, leaves moderate gaps for an otherwise simple tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only explains the 'query' parameter with examples ('transformer', 'Sarah', 'beginners'), while 'limit' and 'withinDays' are completely unexplained. This is insufficient for a three-parameter tool.

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 what the tool does: find soonest upcoming KARVE classes with open spots, optionally matching a query, and returns booking links. This distinguishes it from siblings like class_detail or search_classes by emphasizing availability and time urgency, though it doesn't name them directly.

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 a user wants the soonest available classes that still have openings, and provides query examples. However, it does not explicitly state when to use this versus search_classes or class_detail, nor does it describe exclusions, so guidance remains implied rather than explicit.

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

search_classesSearch KARVE classesA
Read-onlyIdempotent
Inspect

Live KARVE (Jeddah) class schedule with real-time availability. Answers what's on, spots left, trainer, and returns a per-class booking link. Read-only. Dates DD/MM/YYYY (KSA). Search in English.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
queryNo
endDateNo
trainerNo
categoryNo
startDateNo
includePastNo
onlyAvailableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
headerYes
classesYes
Behavior4/5

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

Beyond the annotations (read-only, open-world, idempotent), the description adds context: 'Live' and 'real-time availability' indicate dynamic data, the date format DD/MM/YYYY (KSA) and 'Search in English' specify input constraints, and the booking link return is an extra behavioral detail. It does not contradict annotations.

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 sentences that efficiently convey purpose, output, and key constraints (real-time, read-only, date format, language). Every phrase contributes value with no redundancy or filler.

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 8 optional parameters, an output schema, and multiple sibling tools, the description is incomplete. It lacks any parameter guidance, usage examples, or differentiation from class_detail/next_available/studio_info, leaving significant gaps for an agent to correctly invoke the tool.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions none of the 8 parameters (days, query, startDate, endDate, trainer, category, includePast, onlyAvailable). The only reference to 'trainer' is as a returned field, not a filter, so the description provides no guidance on how to construct search parameters.

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's function: searching KARVE (Jeddah) class schedules with real-time availability, spots left, trainer, and per-class booking links. This distinguishes it from siblings like class_detail and next_available by emphasizing broad search and booking link output.

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 browsing live class schedules and availability but does not explicitly mention when to use it over alternatives like class_detail or next_available. There are no exclusions or alternative tools named, leaving usage context only implicit.

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

studio_infoKARVE studio infoA
Read-onlyIdempotent
Inspect

Authoritative KARVE facts — pricing & passes, first-timer info, policies (women-only, grip socks, cancellation, age), hours, location and contact. Use instead of guessing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds the 'authoritative' framing and a content list but does not disclose additional behavioral traits such as response format, data freshness, or the possibility of updates. No contradiction with annotations.

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 covers purpose and content. It is concise and every word contributes to the meaning.

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 no-parameter, no-output-schema tool, the description adequately lists the main content areas. It could be more explicit about the response format or data currency, but the core coverage is sufficient for an agent.

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?

With zero parameters in the schema, the baseline is 4. The description appropriately says nothing about parameters since none exist.

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 provides authoritative KARVE studio facts, enumerating specific categories (pricing, policies, hours, location, etc.). It distinguishes from siblings by focusing on studio-level information rather than class-specific details like class_detail or next_available.

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 'Use instead of guessing' implies a usage context but does not explicitly mention when to use this tool versus sibling alternatives. It lacks exclusions or references to class-focused tools, so the guidance is only implied.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    MCP server for Hevy that fetches live workout data and computes analytics like e1RM, PRs, volume, and consistency, while enabling writes for routines, folders, and body measurements without modifying workout history.
    127
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server for Mindbody, enabling AI agents to fetch client info, query class schedules, book classes/appointments (env-gated), and process checkout (payment-gated).
    5
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Read-only MCP server for the PlayMetrics youth-sports club management platform, enabling AI agents to query clubs, teams, players, schedules, registrations, and payments.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only access to Fitbit health data (sleep, steps, heart rate, HRV) via local sync with Google Health API. Enables querying daily health summaries and trends through MCP tools without uploading data to cloud.
    6
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources