Skip to main content
Glama

savvycal

Server Details

Read and create SavvyCal scheduling links and booked events.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource and action: events vs links are clearly separated, and read/list/get/cancel/duplicate/toggle variants have no overlapping purpose. The slot lookup is the only nuanced case, but its name and description make it unambiguous.

Naming Consistency5/5

All tools follow a consistent savvycal_ prefix with snake_case verb_noun naming. Minor extra noun in savvycal_get_link_slots is still predictable and readable.

Tool Count5/5

Eight tools is well-scoped for the scheduling-link and event subset of the SavvyCal API. Each tool earns its place without excessive granularity or missing obvious grouping.

Completeness3/5

Read coverage for links and events is solid, plus cancellation, duplication, toggling, and slot lookup. However, core lifecycle operations like create_link and update_link are absent, and there is no event reschedule/update, leaving notable gaps for full link management.

Available Tools

8 tools
savvycal_cancel_eventCancel eventA
Destructive
Inspect

Cancel a booked event/meeting. This notifies attendees and frees the slot. SavvyCal REST: DELETE /events/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe event id to cancel.
reasonNoOptional cancellation reason (→ request body { reason }).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description adds genuine behavioral context beyond that — it discloses the side effects that attendees are notified and the slot is freed, and maps the call to DELETE /events/{id}. It stops short of stating irreversibility or auth/permission requirements.

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?

Three short sentences, front-loaded with the action and immediately followed by consequences and the underlying REST call. No wasted language, though the REST endpoint line is marginally redundant.

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 two-parameter mutation tool with no output schema and destructiveHint already covering the safety profile, the description supplies the key missing piece — the external side effect on attendees. It is nearly complete; only reversibility and permission requirements are unaddressed.

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 both parameters (id and reason) are already documented in the schema. The description adds nothing parameter-level except echoing {id} via the REST path, which matches the baseline 3 when the schema does the heavy lifting.

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 ('Cancel a booked event/meeting'), which cleanly separates it from the read/list siblings (get_event, list_events) and the link-management siblings. It does not explicitly name a sibling it is contrasted with, but the action is unambiguous.

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 implied by the action itself (cancel an event you no longer want), but there is no explicit when-to-use/when-not-to-use guidance or reference to an alternative sibling. Adequate minimum-viable guidance with a clear gap.

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

savvycal_get_eventGet eventB
Read-only
Inspect

Get a single booked event/meeting by id. SavvyCal REST: GET /events/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe event id.

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 safe-read profile is covered structurally. The description adds the REST route (GET /events/{id}) but says nothing about error behavior (e.g. missing/invalid id) or what the returned event contains, and no output schema exists to fill that gap.

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, front-loaded sentences with the operation stated first. The REST endpoint mapping is secondary detail that some agents will find useful, though it is not strictly 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?

For a one-parameter read tool with safety annotations, the definition is minimally sufficient. It is incomplete on what the returned event looks like and on failure modes, which matters since there is 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?

There is a single required parameter with 100% schema description coverage, so the schema carries the semantics. The description's 'by id' adds no format, validation, or lookup detail beyond what the schema already 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?

The description states a specific verb and resource ('Get a single booked event/meeting by id'), which is unambiguous about the operation and its scope. It implicitly distinguishes itself from the list sibling via 'single ... by id', though it does not name an alternative 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: an agent can infer you call this when you have an id and need one event rather than a listing. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g. savvycal_list_events) to select between.

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

savvycal_list_eventsList eventsB
Read-only
Inspect

List booked events/meetings (paginated). SavvyCal REST: GET /events.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax records to return (pagination limit).

TDQS

B3.2/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 that results are paginated and identifies the backing REST endpoint, which is useful context, but says nothing about result volume, default ordering, or what the pagination token/link looks like.

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 with the core purpose front-loaded and no filler. The REST endpoint mapping is arguably redundant for an agent but is compact enough not to harm readability.

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 read-only list tool with one optional parameter, the definition is adequate. With no output schema, however, the description does not indicate what an event record contains or whether pagination metadata is returned, leaving a modest 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 single 'limit' parameter is fully documented in the schema itself. The description's '(paginated)' note corroborates the limit's purpose but adds no syntax, defaults, or range detail beyond the schema, making the baseline 3 correct.

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 booked events/meetings') and maps it to the underlying REST call, which is unambiguous. It does not explicitly contrast with sibling list/get tools like savvycal_get_event or savvycal_list_links, so it stops short of full sibling differentiation.

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?

There is no when-to-use guidance, no mention of alternatives such as savvycal_get_event for a single event, and no stated prerequisites or filtering conditions. The agent must infer that this is the broad enumeration tool.

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. 8 tool updates
    • First observedsavvycal_cancel_event
    • First observedsavvycal_duplicate_link
    • First observedsavvycal_get_event
    • First observedsavvycal_get_link
    • First observedsavvycal_get_link_slots
    • First observedsavvycal_list_events
    • First observedsavvycal_list_links
    • First observedsavvycal_toggle_link

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.