Sendly
Server Details
Send email, manage contacts, campaigns and workflows, and diagnose deliverability in Sendly.
- Status
- Healthy
- Uptime
- 37.9% over 48 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: search_tools discovers available Sendly tools, while execute_typescript runs code that orchestrates them. An agent cannot easily confuse discovery with execution.
Both names use consistent snake_case and follow a verb_noun pattern: execute_typescript and search_tools. The convention is predictable and readable.
Two tools is minimal, but this server is a meta-orchestration layer where discovery plus execution may be sufficient. Still, 1-2 tools feels thin by the rubric, so it is borderline rather than clearly well-scoped.
For a sandbox-based orchestration server, search_tools and execute_typescript cover discovery and invocation. A direct call_tool convenience is missing, but agents can work around it by writing TypeScript.
Available Tools
2 toolsexecute_typescriptADestructiveInspect
Run a short TypeScript program that orchestrates Sendly MCP 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| logs | No | |
| error | No | |
| result | No | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, so safety profile is covered. The description adds that execution happens in an 'isolated sandbox' and constrains the program to 'short', plus points to server instructions for the contract—useful context beyond annotations, though it doesn't detail what gets destroyed or execution limits.
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 sentences, front-loaded with the action, and no redundant text. The second sentence is a pointer to server instructions, which is brief but does not add much beyond direction.
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 complex, destructive, open-world code-execution tool, the description is minimal: it gives sandbox isolation and a discovery hint but omits execution limits, failure behavior, and the contract details, deferring to server instructions. With an output schema present and annotations covering safety, this is adequate but incomplete.
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 'code' parameter is fully documented in the schema (program body, external_* functions, must return result). The description adds no parameter syntax or format details 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run'), resource ('TypeScript program'), and scope ('orchestrates Sendly MCP tools in an isolated sandbox'). It also names the sibling search_tools as the discovery mechanism, distinguishing this tool from simple tool search.
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?
Implies usage by saying tools are 'found via search_tools' and the program orchestrates them, but does not state explicit when-to-use vs when-not or name alternatives. No prerequisites or conditions are given; it defers to server instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_toolsARead-onlyIdempotentInspect
Find the Sendly MCP tools this connection can reach, returned as TypeScript declarations to call 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 this connection can reach. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| declarations | Yes |
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 real context beyond them: results are connection-scoped and delivered as TypeScript declarations. It stops short of describing result shape or limits, but the added context is substantive.
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 with zero filler; the purpose and return format are front-loaded before the pointer to external docs.
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?
An output schema exists, so return values need not be explained, and the description covers purpose, scope and format adequately for a one-parameter discovery tool. The reliance on 'server instructions' for the full contract is a minor external dependency, but nothing essential to invoking the tool is missing.
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?
Only one parameter and schema description coverage is 100%, so the schema fully documents the case-insensitive substring match and the omit-to-return-all behavior. The description adds nothing about the query parameter, which is acceptable at this coverage level.
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) plus a precisely scoped resource (the Sendly MCP tools this connection can reach) and even the return format (TypeScript declarations). It clearly separates itself from the sibling execute_typescript by framing itself as the discovery step whose output feeds that tool.
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?
Usage is only implied: the mention of 'returned as TypeScript declarations to call from execute_typescript' hints at the discover-then-execute workflow, but there is no explicit when-to-use, when-not-to-use, or alternative. The deferral to 'server instructions' leaves the agent to infer the contract.
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://docs.sendly.now/guides/mcp
- Trust center
- https://sendly.now/trust
- Restrictions
- Requires a Sendly account. Sign in with OAuth when your client asks.
Related MCP Connectors
Send transactional email, run campaigns, manage contacts and automations, audit deliverability.
- EnvlopedOAuthcom.envloped
Send transactional email, verify domains, build contact segments, and draft marketing campaigns.
- AhaSendOAuthcom.ahasend
Send email, check deliverability, set up domains, and run templates, contacts and campaigns.
Send, track, and manage transactional and bulk email delivery
Related MCP Servers
- AlicenseBqualityDmaintenanceManages SendGrid email workflows including design library, transactional templates, marketing contacts and lists, single sends, and direct email sends via the SendGrid v3 API.80194 npmMIT
- AlicenseBqualityFmaintenanceProvides an interface to manage email marketing, contact lists, dynamic templates, and email analytics via SendGrid's API.21194 npm32ISC
- AlicenseAqualityAmaintenanceEnables AI agents to send transactional email, authenticate sending domains, track delivery, and diagnose deliverability issues programmatically.1320 npmMIT
- FlicenseBqualityNot gradedmaintenanceEnables sending emails and managing webhooks through the SendLayer API. Supports plain text and HTML emails with attachments, CC/BCC recipients, and webhook event management for email delivery tracking.5-
Glama MCP Gateway
Add one secure layer between your agents and this server.