Art and Song Ecards
Server Details
Create premium customisable greeting ecards.
- 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.
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.
Tool Definition Quality
Average 3.3/5 across 6 of 6 tools scored. Lowest: 2.7/5.
Each tool has a distinct role: browsing, getting cards, creating drafts, personalizing messages, selecting music, and generating previews. There is no functional overlap.
All tool names follow a consistent verb_noun pattern in snake_case, e.g., browse_cards, create_ecard_draft, generate_preview. Minor variation between 'ecard' and 'card' is negligible.
Six tools cover the essential workflow for an ecard service without redundancy or unnecessary complexity. The count is well-scoped for the domain.
The tool set provides a complete flow from browsing to final preview, intentionally excluding recipient/payment details as per design. No critical gaps are evident.
Available Tools
6 toolsbrowse_cardsBInspect
Browse published ecards by category, keyword, and tags. Multi-word keywords or tags are split into individual terms for tag matching, so search concepts like sympathy and loss separately instead of relying on exact phrase tags.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| cursor | No | ||
| keyword | No | ||
| categoryId | No | ||
| categoryName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only notes that multi-word keywords/tags are split for matching, but with no annotations, it fails to disclose pagination, return format, authentication, or other behavioral traits.
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 efficient sentences that state purpose and a key behavioral detail without unnecessary words.
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?
Given 6 parameters, no output schema, and no annotations, the description is insufficient—missing pagination details, parameter distinctions, and return value information.
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?
With 0% schema description coverage, the description adds meaning for category, keyword, and tags but omits limit and cursor, which are necessary for pagination understanding.
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?
The description clearly states the tool browses published ecards by category, keyword, and tags, which distinguishes it from sibling tools like create_ecard_draft or get_card.
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 usage for searching ecards but does not explicitly state when to use this tool versus alternatives or provide prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ecard_draftCInspect
Create a pending single-card ecard draft for personalization. Do not collect recipient or purchaser email in MCP.
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like auth requirements, idempotency, or side effects. It only states 'pending draft' and an email restriction, omitting details like whether the draft is saved, returned, or requires further steps.
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?
The description is extremely concise with two front-loaded sentences. It wastes no words and immediately conveys the core action and a key constraint.
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?
The tool creates a draft but the description does not mention return values (e.g., draft ID), prerequisites (e.g., cardId existence), or next steps. Given no output schema, this lack of completeness forces the agent to guess.
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?
The input schema has one required parameter (cardId) with zero description coverage. The tool description adds no explanation of what cardId represents (e.g., which card to draft). This is a critical gap.
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?
The description clearly states the tool creates a pending single-card ecard draft for personalization, which distinguishes it from sibling tools like browse_cards, get_card, or personalize_message. However, it could more explicitly contrast with sibling tools.
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 provides only a negative constraint ('Do not collect recipient or purchaser email') but does not specify when to use this tool over its siblings, such as in the ecard creation workflow vs. after personalization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_previewCInspect
Final MCP handoff step. Return preview data and a Personalise Your Ecard URL. Do not collect recipient email, discuss payment in MCP, or ask the user to type continue; show the previewUrl immediately so the user can review and complete the ecard on the website.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions returning preview data and URL, but does not describe side effects (e.g., whether calling it multiple times creates multiple previews), required permissions, or the nature of the preview (temporary or persistent).
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?
The description is brief (two sentences) and front-loaded with the purpose. However, it omits necessary parameter guidance, which reduces efficiency.
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?
Given the tool has only one parameter and no output schema, the description should fully cover parameter meaning and return value structure. It fails to explain itemId and does not describe the format of the preview data or URL.
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?
The input schema has one required parameter 'itemId' with no description in the schema (0% coverage). The tool description does not explain what itemId refers to, leaving the agent to guess its meaning.
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?
The description clearly states the tool returns preview data and a URL, and identifies itself as the 'Final MCP handoff step'. This distinguishes it from sibling tools like browse_cards or create_ecard_draft, though it could explicitly state how it differs.
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 provides negative guidance (what not to do: collect email, discuss payment, ask for 'continue'), but does not give positive guidelines on when to invoke this tool versus alternatives. The phrase 'Final MCP handoff step' implies it is the last tool, but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cardBInspect
Get one published ecard with pages, music options, fonts, and message placement.
| Name | Required | Description | Default |
|---|---|---|---|
| cardId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of disclosing behavior. 'Get' implies a read-only operation with no destructive side effects, but it does not mention authentication requirements, error handling, or what happens if the card ID is invalid or not found. Basic purpose is clear but could add safety details.
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?
Single sentence with 10 words, no unnecessary information. However, it could be slightly more informative without becoming verbose, such as adding that the card ID is required.
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 simple tool with one parameter and no output schema, the description covers the core purpose and returned components. It lacks details on error conditions or response format, but is adequate given low complexity.
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?
The only parameter, cardId, has no description in the schema (0% coverage). The description does not explain its format, requirement, or constraints beyond what the name implies. Adding parameter details (e.g., 'the unique identifier of the ecard') would improve usability.
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?
The description clearly states it retrieves one published ecard and lists included components (pages, music, fonts, message placement). However, it does not differentiate from sibling tool 'browse_cards', which likely lists multiple cards. A contrast would have earned a 5.
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?
No guidance on when to use this tool versus alternatives like browse_cards. Description implies single-card retrieval but lacks explicit context like 'use this to get details of a specific card by ID; use browse_cards to list all.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
personalize_messageAInspect
Set the salutation, message, footer/from line, and font for a pending ecard draft. Only set footer when the sender name is known from the prompt; if missing, ask for the From name before calling this tool. Recipient details are handled later on the website.
| Name | Required | Description | Default |
|---|---|---|---|
| footer | No | ||
| itemId | Yes | ||
| message | No | ||
| salutation | No | ||
| selectedFont | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes that the tool sets fields on a pending draft and includes a conditional rule for footer. However, it does not disclose side effects, idempotency, authorization needs, or whether the tool modifies state permanently. More behavioral context would be beneficial.
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?
The description is extremely concise, consisting of two sentences. The first sentence states the primary action and resources, and the second adds crucial conditional guidance. Every sentence is necessary and front-loaded.
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?
Given the tool has 5 parameters and no output schema, the description adequately covers the purpose and a key conditional (footer). However, it lacks details about what happens if the itemId does not exist, error cases, or the expected return value. It is minimally complete for a tool of this complexity.
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 coverage is 0%, but the description lists all parameters (salutation, message, footer, selectedFont, itemId) and explains the special condition for footer. It does not provide validation constraints (e.g., max length, allowed values) but gives enough context to understand their purpose. Baseline 3 is appropriate as it adds meaning beyond the schema.
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?
The description clearly states the verb 'Set' and the resource 'pending ecard draft'. It lists the specific fields (salutation, message, footer, font). This distinguishes it from sibling tools like create_ecard_draft (creation) and select_music (music selection).
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 provides explicit guidance: only set footer when sender name is known, and to ask for the From name if missing. It also clarifies that recipient details are handled later. However, it could more explicitly state when to use this tool vs alternatives like create_ecard_draft or generate_preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_musicAInspect
Select an audio track for a pending ecard draft. Call this before generate_preview whenever the chosen card has available music; choose the best matching track from the card's availableMusic list. Recipient details are handled later on the website.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| audioId | No | ||
| audioName | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It mentions 'pending ecard draft' and 'handled later on website' implying non-destructive intermediate step, but does not detail side effects, auth, or error handling. Adequate for simple selection but incomplete.
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 purpose, no unnecessary words. Highly efficient and scannable.
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?
Given 3 parameters, no annotations, and no output schema, the description explains the tool's role in a workflow but fails to document parameters or return values, leaving gaps for correct invocation.
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 0% and description provides no individual parameter meanings. Only indirectly implies audioId relates to track from availableMusic list. Required itemId and optional audioName remain unexplained.
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?
The description clearly states the verb 'select' and the resource 'audio track for a pending ecard draft'. It distinguishes from sibling tools by specifying it precedes generate_preview and ties to availableMusic list.
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?
Explicitly states when to call ('before generate_preview whenever the chosen card has available music') and provides sequencing context. Implicitly indicates when not to call (if no music) but lacks explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!