Tangy Limes
Server Details
Funny singing video ecards from a photo: search cards, get prices, buy card packs, request cards.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool maps to a distinct action: search, detail, pricing, purchase, share-link, and custom request. The only mild overlap is buy_cards vs make_card_link, since both return links, but the descriptions clearly separate payment checkout from a viewing/preview link.
All names follow a verb_noun pattern (buy_cards, get_card, get_pricing, search_cards, request_card). The only minor deviation is make_card_link, which uses a compound noun object, but it remains readable and predictable.
Six tools is well-scoped for a storefront: browse, inspect, price-check, purchase, share, and request a custom card. Each tool earns its place with no filler.
The browse-to-purchase lifecycle is covered, including a custom-request escape hatch. Minor gaps exist around post-purchase verification (no order status or list-my-cards tool) and checking whether a custom request is ready.
Available Tools
6 toolsbuy_cardsBuy cards in bulkAInspect
Make a Stripe checkout link for packs of 3 cards ($4.99 a pack). The person pays on Stripe; the cards are then added to the account for the email given, and they make each card on tangylimes.com by signing in with that email. Nothing is charged until they pay. Always show the link to the person; never claim the purchase is done.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Optional discount code | |
| Yes | The email the cards go to (they sign in with it) | ||
| packs | Yes | Number of 3-card packs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and openWorldHint=true, and the description adds substantive behavior beyond them: nothing is charged until the person pays on Stripe, cards are provisioned to the given email only after payment, and redemption happens by signing in on tangylimes.com. It also pre-empts the most likely agent failure mode by forbidding claims that the purchase is complete — exactly the kind of non-obvious context annotations cannot convey.
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?
Three sentences, front-loaded with what is produced and its price, followed by the payment/provisioning flow and then the critical display instruction. No filler, and the most important constraint lands last for emphasis.
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?
There is no output schema, and the description fills that gap by stating that the return value is a checkout link for the agent to show the user. For a three-parameter, non-destructive external-call tool, nothing needed to invoke it correctly 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?
Schema coverage is 100%, so the baseline is 3; the description earns a notch above by defining what a 'pack' means (3 cards at $4.99) and by tying the email parameter to the sign-in identity used on tangylimes.com. The optional 'code' discount parameter is not mentioned, which is the only 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 opens with a specific verb and resource — 'Make a Stripe checkout link for packs of 3 cards' — plus the unit price, so the agent knows exactly what is produced. It does not, however, distinguish itself from the sibling 'make_card_link', which an agent could easily confuse with this 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 context is clear: this is the path when someone wants to purchase cards in bulk, and the description adds an explicit operating instruction ('Always show the link to the person; never claim the purchase is done'). It stops short of naming alternatives such as get_pricing or make_card_link or stating when not to use it, so routing still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cardGet one cardBRead-onlyInspect
Details for one card by id: title, occasion, headline, how many faces, formats, length, price and links.
| Name | Required | Description | Default |
|---|---|---|---|
| card_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful disclosure about the returned fields, but it does not describe behavior for missing or invalid card ids, authentication needs, or any other operational context beyond what the annotations provide.
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 a single efficient sentence that is front-loaded with the core action and then lists the returned fields. Every element earns its place, and there is no redundant or vague text.
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?
This is a simple read-only tool with one required parameter and no output schema. The description compensates for the missing output schema by listing the returned fields, and the annotations cover the safety profile. Minor gaps remain around invalid-id behavior and the exact id format, but the definition is largely complete for this tool's 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 description coverage is 0%, so the single card_id parameter is documented only by its name and the description's phrase 'by id'. The description does not specify the expected id format, where to obtain the id, or any constraints, so it only minimally compensates for the schema 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 states a specific verb and resource: it returns details for one card by id, and it enumerates the fields returned (title, occasion, formats, price, links). It clearly contrasts with a list/search operation by emphasizing a single card and an id lookup, though it does not explicitly name sibling tools such as search_cards.
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 'by id' implies the tool should be used when the caller already has a card identifier, which is useful context against search_cards. However, the description does not explicitly state when to use this tool versus search_cards or request_card, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingPricesARead-onlyInspect
Tangy Limes prices: one card, the 3-pack, the custom song, and the first-card email offer. No subscription.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful product scope by listing the priced variants and noting 'No subscription,' but it does not describe return format, currency, price freshness, or other behavioral 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?
The description is a single compact sentence with zero waste. The core product name and price categories are front-loaded, and 'No subscription' adds a relevant clarification without bloat.
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 zero-parameter, read-only pricing lookup with no output schema, the description gives enough context to understand what prices are being retrieved. It could be slightly more complete by mentioning currency or freshness, but nothing essential for invocation 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?
The tool has zero parameters, so the baseline score is 4. There are no parameter semantics for the description to clarify beyond what the empty schema already provides.
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 identifies the resource as Tangy Limes prices and enumerates the specific priced items: one card, the 3-pack, the custom song, and the first-card email offer. It does not explicitly name a verb or distinguish itself from siblings like buy_cards, but the pricing purpose is clear from the name and content.
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?
There is no explicit guidance on when to use this tool versus alternatives such as buy_cards or get_card. 'No subscription' is a product detail, not a usage condition, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_card_linkLink to a cardARead-onlyInspect
A link that opens a card on tangylimes.com, ready for the person to add their photo and watch the free preview. Add a discount code to apply it automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Optional discount or affiliate code | |
| card_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false. The description adds useful behavioral context beyond that: the link opens on tangylimes.com, is intended for a recipient to add their photo and see a free preview, and can automatically apply a discount code.
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 two short sentences with no wasted text. It front-loads the resulting link experience and then adds the relevant discount-code behavior.
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 read-only link-generation tool, the description covers the domain, recipient flow, and discount-code behavior. It still leaves the required card_id semantics and the exact return value somewhat implicit, which is a noticeable gap given there is no output schema.
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 50%: the optional code parameter is described in the schema and the description adds that it applies automatically. However, the required card_id parameter has no schema description and the description only indirectly implies it identifies the card being linked to.
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 indicates the tool produces a link that opens a specific card on tangylimes.com, so the resource and outcome are understandable. It does not explicitly name the action verb 'generate/create' or differentiate the tool from siblings like get_card, but the core purpose is still 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 when this tool is useful: when someone should receive a link to add their photo and watch the free preview, optionally with a discount code. It does not explicitly state when to use this instead of alternatives such as get_card or buy_cards, so guidance is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_cardRequest a new cardAInspect
Ask the studio to make a card that doesn't exist yet. Leave an email to hear when it's ready.
| Name | Required | Description | Default |
|---|---|---|---|
| idea | Yes | The card idea, e.g. "our dog's 10th birthday at a roller rink, two people" | |
| No | |||
| faces | No | ||
| occasion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the non-readOnly, open-world nature, and the description adds genuinely new context: fulfillment is handled by 'the studio' and completion is asynchronous, signalled by email. It doesn't state turnaround time or what happens if no email is left, but the core behavioral model is conveyed.
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 short sentences with no filler; the core action comes first and the email behavior second. Every phrase carries information.
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?
With no output schema, the description should say more about what a request returns (an ID? a queued status?) and whether the request costs anything, given siblings like buy_cards and get_pricing exist. It covers the asynchronous model but leaves the response side unexplained.
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 only 25% (idea documented, email/faces/occasion bare). The description explains the email parameter's purpose (notification of readiness) and implies 'idea' is the request content, but faces and occasion get no mention in either place, leaving half the parameters 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 gives a specific verb ('request'/'ask the studio to make') and resource ('a card that doesn't exist yet'), which clearly separates it from search_cards and get_card. 'Ask the studio' is slightly metaphorical but the intent is unambiguous.
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 'a card that doesn't exist yet' implies you should only use this when no existing card fits, but the description never says to search first or names an alternative path. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cardsSearch Tangy Limes cardsARead-onlyInspect
Find Tangy Limes video greeting cards. Each card is a short music video where real faces from a photo sing an original song. Filter by words (e.g. "dog birthday", "roast", "Paris anniversary"), occasion, and how many faces the card fits.
| Name | Required | Description | Default |
|---|---|---|---|
| faces | No | Number of faces the card must fit | |
| limit | No | ||
| query | No | Words describing the card, e.g. "80s birthday" or "anti valentine" | |
| occasion | No | Card group |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that filtering is by words, occasion, and face count, but says nothing about result ordering, the default/max result count, or what a result entry contains — meaningful gaps for a search tool with no output schema.
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?
Three tight sentences: purpose first, product explanation second, filtering capabilities third. Every sentence carries information and nothing is repeated from the schema.
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?
No output schema and no nesting, so the description carries most of the burden — it explains the resource and the filter dimensions well. It is only slightly short on result-count/pagination behavior and the ambiguous enum values, which are the main residual gaps.
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 75%, so the baseline is 3. The description echoes the query/occasion/faces semantics visible in the schema but adds no new meaning — notably it never explains the opaque enum values ("anti", "trash", "solo", "more") or the limit parameter at all.
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 and resource ("Find Tangy Limes video greeting cards") and even explains the product concept, so an agent knows it is a discovery/search tool. It doesn't explicitly contrast with siblings like get_card or buy_cards, but the search framing is distinct enough in practice.
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 gives keyword examples and names the three filtering dimensions, which implies when the tool is useful. However, it never says when to prefer it over get_card/buy_cards/request_card, and it omits that all filters are optional and can be combined freely.
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.
6 tool updates
- First observed
buy_cards - First observed
get_card - First observed
get_pricing - First observed
make_card_link - First observed
request_card - First observed
search_cards
Related MCP Connectors
Find, personalize, share, and mail animated greeting cards with original music.
Talking-avatar videos from a photo, short clips with sound, images and music.
Send personalized greetings to anyone. Enable Pirate Mode for swashbuckling salutations. Explore t…
Create cheerful, personalized greetings in seconds. Switch to playful pirate-speak for extra flair…
Related MCP Servers
- AlicenseAqualityCmaintenanceCreate and deliver personalized video gifts (photos + an original song) from any Model Context Protocol client.523 npmMIT

Token of Esteemofficial
AlicenseAqualityCmaintenanceWrite and mail personalized funny booklets via an AI agent. Allows agents to commission custom 16-page print gifts for users.121MIT- AlicenseAqualityDmaintenanceSend real physical postcards worldwide via AI agents. Supports single and bulk send (up to 500 recipients), balance checking, delivery tracking, and volume pricing from $0.72/card.53 npm5MIT
- AlicenseNot gradedqualityDmaintenanceTurn words, images, and audio into an animated video with MP4 export.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.