Sitecore Send
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Every tool has a clearly distinct purpose with no ambiguity. Tools like add_subscriber, get_subscribers, and unsubscribe_subscriber handle different subscriber operations, while send_smtp_email and send_transactional_email target different email sending methods. The descriptions clearly differentiate each tool's function.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern using snake_case throughout. Examples include add_subscriber, get_lists, send_smtp_email, and unsubscribe_subscriber. There are no deviations in naming conventions, making the set predictable and readable.
Tool Count5/5With 8 tools, the count is well-scoped for a Sitecore Send server focused on mailing list and email operations. Each tool earns its place by covering distinct aspects like subscriber management, list retrieval, and email sending, without being too sparse or overwhelming.
Completeness4/5The tool surface provides strong coverage for the mailing list and email domain, including CRUD-like operations for subscribers (add, get, unsubscribe) and lists (get), plus email sending. A minor gap is the lack of tools for updating subscriber details or managing list properties, but core workflows are well-covered.
Average 3.2/5 across 8 of 8 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true, indicating this is a read operation that may return null for non-existent subscribers. The description adds no behavioral context beyond the basic 'get' action - no information about error conditions, authentication requirements, rate limits, or what happens when a subscriber isn't found. With annotations covering the open-world aspect, this meets minimum expectations but adds little value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words. While this represents under-specification rather than ideal conciseness, from a pure structural perspective there's zero wasted language and it's front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two required parameters, no output schema, and only basic annotations, the description is inadequate. It doesn't explain what information is returned about the subscriber, how to interpret results, or provide any context about the subscriber data model. The description fails to compensate for the lack of output schema documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (listId and email) fully documented in the schema. The description adds no parameter information beyond what's already in the structured schema. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get subscriber by email' is essentially a tautology that restates the tool name without adding meaningful context. It specifies the verb 'get' and resource 'subscriber', but doesn't distinguish this from sibling tools like 'get_subscribers' or clarify what specific information is retrieved versus other subscriber-related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_subscribers' (likely listing multiple subscribers) and 'get_single_list', there's no indication of when this specific email-based lookup is appropriate versus broader queries or other subscriber operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include 'openWorldHint: true', indicating potential for dynamic behavior, but the description adds no behavioral context beyond the basic action. It doesn't disclose SMTP-specific traits like authentication needs, rate limits, error handling, or what 'openWorldHint' implies in practice, leaving significant gaps for a mutation tool with minimal annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and protocol, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool (sending email) with only 'openWorldHint' as annotation and no output schema, the description is inadequate. It lacks critical context like success/error responses, side effects (e.g., email delivery status), or how 'openWorldHint' affects usage, leaving the agent under-informed for reliable tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'to' as email address, 'body' as HTML). The description adds no additional semantic meaning beyond the schema, so it meets the baseline of 3 without compensating or detracting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Send an email using SMTP' clearly states the action (send) and resource (email), specifying the protocol (SMTP) which distinguishes it from other email-related tools like 'send_transactional_email'. However, it doesn't explicitly differentiate from all siblings beyond the protocol mention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'send_transactional_email' or other email-related siblings. There's no mention of use cases, prerequisites, or exclusions, leaving the agent without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond annotations. Annotations provide 'openWorldHint: true' indicating the tool can handle unknown inputs gracefully, but the description doesn't elaborate on what 'details' includes or how errors are handled. It mentions 'total count, status, etc' which gives some output expectation, but with no output schema, more detail would be helpful. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise - a single sentence that efficiently communicates the core purpose. It's front-loaded with the main action ('Get a single mailing list details') and includes examples of what details might be included. However, the 'etc' at the end is somewhat vague and could be more specific.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with good schema coverage and annotations, the description is minimally adequate. However, with no output schema, the description should provide more detail about what 'details' includes beyond 'total count, status'. The 'etc' is insufficient for an agent to understand the complete response structure. The description meets basic needs but leaves gaps in output understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema fully documents the single 'listId' parameter as a UUID. The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain format requirements, validation rules, or provide examples. The baseline score of 3 is appropriate since 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a single mailing list details' with specific resources (mailing list) and verb (get). It distinguishes from siblings like 'get_lists' (plural) by specifying 'single', but doesn't fully differentiate from 'get_subscriber_by_email' which also retrieves single items. The purpose is clear but sibling differentiation could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'get_single_list' over 'get_lists' for retrieving multiple lists, or when to use it in relation to subscriber-related tools. There's no context about prerequisites, error conditions, or typical workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true, indicating this tool may have side effects or external dependencies. The description adds minimal behavioral context beyond this—it doesn't mention rate limits, authentication needs, error handling, or what 'transactional' implies (e.g., automated vs. marketing emails). However, it doesn't contradict annotations, so it meets the lower bar with annotations present but adds limited value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place, and there's no redundancy or fluff, achieving optimal conciseness for this context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of sending emails (which involves external services, potential failures, and side effects), the description is incomplete. With no output schema and only basic annotations, it lacks details on return values, error conditions, or operational constraints. Sibling tools like 'send_smtp_email' suggest alternative methods, but the description doesn't help differentiate or provide context for when this tool is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for 'to', 'subject', and 'body' parameters. The description adds no additional parameter semantics beyond what the schema already provides—it doesn't explain format expectations, constraints, or examples. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('send') and resource ('email using transactional email service'), making the purpose immediately understandable. It distinguishes from sibling tools like 'send_smtp_email' by specifying 'transactional email service', though it doesn't explicitly contrast with that sibling. The description avoids tautology by adding meaningful context beyond just the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'send_smtp_email' or other email-related siblings. It doesn't mention prerequisites, constraints, or typical use cases for transactional emails versus other types. The agent must infer usage from the name alone, which is insufficient for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include 'openWorldHint: true', indicating the tool may handle unknown inputs gracefully, but the description doesn't add behavioral context beyond this. It doesn't disclose potential side effects (e.g., email notifications, duplicate handling), authentication needs, or rate limits, though it doesn't contradict annotations either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, 2 required) and lack of output schema, the description is minimally adequate. It covers the basic purpose but omits details about return values, error conditions, or integration with sibling tools, leaving gaps for the agent to navigate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, all parameters are documented in the schema (listId, email, name, tags). The description adds no additional meaning about parameter usage, constraints, or examples, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add subscriber') and target resource ('to a mailing list'), which is specific and unambiguous. However, it doesn't distinguish this tool from sibling tools like 'get_subscriber_by_email' or 'unsubscribe_subscriber' by explaining its unique role in the subscriber lifecycle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_subscribers' or 'unsubscribe_subscriber'. It lacks context about prerequisites (e.g., needing a valid listId), exclusions, or typical workflows, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true, indicating this tool may return partial data, but the description doesn't add behavioral context beyond this. It doesn't explain what 'subscribers' includes (e.g., email addresses, names, status) or mention pagination, rate limits, or error handling. With annotations covering some aspects, the description adds minimal value, scoring a baseline 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose without unnecessary elaboration, earning a top score for brevity and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema) and annotations providing openWorldHint, the description is minimally adequate. However, it lacks details on return format (e.g., list structure, fields) and doesn't compensate for the absence of an output schema, leaving gaps in completeness for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'listId' parameter fully documented as a UUID. The description doesn't add any parameter details beyond what the schema provides, such as example values or constraints, so it meets the baseline of 3 for high schema coverage without extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('subscribers of a mailing list'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_subscriber_by_email' or 'get_lists', which would require more specific differentiation to earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_subscriber_by_email' for individual lookups or 'get_lists' for listing mailing lists, leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true, but no safety hints. The description adds minimal behavioral context beyond the action name, implying a destructive operation but not specifying effects (e.g., permanent removal, opt-out status) or permissions required. It doesn't contradict annotations, but offers limited value beyond 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with zero wasted words, efficiently conveying the core action. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter mutation tool with no output schema and minimal annotations, the description is adequate but lacks depth. It covers the basic action but misses details like return values, error conditions, or integration with sibling tools, leaving gaps in contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema. The tool description adds no additional parameter semantics beyond what's already documented in the input schema, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Unsubscribe') and target ('subscriber from a mailing list'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'add_subscriber' or 'get_subscriber_by_email' beyond the obvious action difference, missing explicit sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., subscriber must exist), exclusions, or compare with related tools like 'add_subscriber', leaving usage context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true, indicating this is a read operation that returns all available data. The description adds minimal behavioral context beyond this - it specifies 'all available' which reinforces completeness, but doesn't address pagination, ordering, or response format. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does with zero wasted words. It's appropriately sized for a simple retrieval tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with no parameters and openWorldHint annotation, the description is minimally adequate. However, without an output schema, the description doesn't explain what 'mailing lists' data structure is returned, and it doesn't address how this tool differs from similar sibling tools in the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0 parameters and 100% schema description coverage, the baseline is 4. The description appropriately doesn't discuss parameters since none exist, and the schema fully documents the empty input structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('all available mailing lists'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_single_list' or 'get_subscribers' - it's a general list retrieval tool but the scope distinction isn't explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_single_list' (for specific lists) or 'get_subscribers' (for list members). There's no mention of prerequisites, limitations, or appropriate contexts for choosing this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/izharikov/send-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server