Caly
Server Details
Scheduling: event types, open slots, and booking, rescheduling or cancelling meetings in Caly.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
search_tools discovers available Caly tools, while execute_typescript runs TypeScript code that calls those tools. Their purposes are clearly distinct and non-overlapping, so an agent can easily choose the right one.
Both names follow a consistent snake_case verb_noun pattern: search_tools and execute_typescript. There is no mixing of conventions or vague verbs.
The server exposes only two meta-tools, which is thin for a standalone MCP server even if the pattern is intentionally minimal. A search-and-execute gateway can justify few tools, but 2 sits at the borderline of feeling under-scoped.
The pair covers discovery and execution of Caly tools, which is the core lifecycle for this meta-server. A direct way to list or introspect all available tools without a search query is a minor gap, but agents can still work around it.
Available Tools
2 toolsexecute_typescriptExecute TypeScriptBDestructiveInspect
Run a short TypeScript program that calls Caly tools (found via search_tools) in an isolated sandbox. See the server instructions for the full contract.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | A TypeScript program body run in an isolated sandbox. Call the external_* functions search_tools declared; the program must `return` its result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true, readOnlyHint=false, openWorldHint=true, and idempotentHint=false, so the agent knows this is an unsafe, side-effecting, open-world execution. The description adds the isolated-sandbox context and the requirement that the program `return` its result, but it doesn't explain what 'short' means, concurrency limits, or what gets destroyed. It adds some value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action and then pointing to server instructions. It's efficient, though the pointer to server instructions is a bit of a punt rather than self-contained guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with full schema coverage and no output schema, the description covers the essentials: what it does and that the program must return its result. However, it defers the 'full contract' to server instructions and never mentions key behavioral facts (what tools are exposed as functions, whether external_* is always the prefix, error semantics), leaving meaningful gaps for an agent invoking it blind.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single `code` parameter is fully documented in the schema (including the `return` requirement and external_* function contract). The description adds no parameter-level detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: runs TypeScript code in an isolated sandbox that calls Caly tools found via search_tools. This distinguishes it from the sibling search_tools, which only finds tools. It doesn't fully explain the program model (e.g., what 'short' means or what functions are exposed), but the core purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies you call it after finding tools with search_tools and that it's for short programs, but there's no explicit when-to-use vs. alternatives, no limits, and no exclusions. The deferral to 'server instructions for the full contract' leaves the agent without local guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsSearch toolsARead-onlyIdempotentInspect
Find the Caly tools this connection can call, returned as TypeScript declarations to use from execute_typescript. See the server instructions for the full contract.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Case-insensitive substring matched against each tool's name, title and description. Omit to return every tool. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds genuinely useful context beyond them: the result is code-shaped (TypeScript declarations) and scoped to 'this connection,' which tells the agent the search is permission-bounded. It loses a point for deferring the actual contract to unstated 'server instructions.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, with the core purpose front-loaded and the sibling relationship in the first sentence. The trailing pointer to server instructions is functional but slightly hand-wavy rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single optional-parameter, read-only discovery tool this is nearly sufficient: it conveys scope and output shape, and no output schema is needed. The remaining gap is that result size/limits and the referenced 'full contract' are left external, which could matter if the agent never sees server instructions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'query' parameter is fully documented in the schema (case-insensitive substring over name/title/description, omit to return all). The description adds no parameter meaning on top of that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Find') and resource ('the Caly tools this connection can call'), and specifies the return format (TypeScript declarations). It also names the sibling tool execute_typescript as the consumer of the results, so an agent can distinguish discovery from execution without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'returned as TypeScript declarations to use from execute_typescript' implies the workflow (discover here, run there) but never states when to call this versus execute_typescript directly, nor any prerequisite. Usage is inferable rather than explicit, and there are no exclusions.
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.
2 tool updates
- First observed
execute_typescript - First observed
search_tools
Publisher details
- Operator
- Devino Solutions
- Operator website
- https://devino.ca
- Vendor relationship
- First-party
- Documentation
- https://trycaly.com/docs/
- Trust center
- Not available
- Restrictions
- Not available
Related MCP Connectors
- AstrocalOAuthdev.astrocal
AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP
I do everything related to calendar scheduling
AI-native scheduling and booking: check availability, book meetings, share links.
Scheduling for AI assistants: bookings, availability, meeting polls and routing forms.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables interaction with Calendly to manage event types, scheduled events, and invitees. It provides tools for checking user availability and canceling appointments directly through the Calendly API.7MIT
- AlicenseNot gradedqualityDmaintenanceExposes Cal.com scheduling tools to AI agents via MCP, enabling listing event types, checking availability, and managing bookings (create, cancel, reschedule).570 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to schedule meetings via Astrocal's scheduling API, including checking availability, booking, canceling, rescheduling, and managing waitlists through natural conversation.58 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to discover bookable time slots, book and cancel meetings, list events, and enable or disable scheduling links. Also supports managing webhooks and exposes write/destructive operations with MCP annotations so clients can confirm before acting.333 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.