Skip to main content
Glama

Server Details

Find, personalize, share, and mail animated greeting cards with original music.

Ownership verified
Status
Healthy
Uptime
99.0% over 23 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
mudberry/modcard-mcp-setup
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation4/5

The search→select→act pipeline is well-signposted: find_cards returns ids, choose_card makes a personal copy, and other tools explicitly say they take the card_id it returned. The closest pair is choose_card vs create_share (both act on a chosen card) and choose_card vs order_card (both surface pricing), but the descriptions draw the physical-print / free-eCard / mail distinctions clearly enough.

Naming Consistency5/5

Every tool follows the same snake_case verb_noun pattern (find_cards, choose_card, create_share, order_card, get_order_status, list_my_orders, update_card_details). The shared 'card'/'order' nouns make the groupings obvious at a glance.

Tool Count5/5

Seven tools is a tight, well-scoped set that maps exactly onto the product flow: discover, personalize, edit, share, print/order, and check status. No tool looks redundant or vestigial.

Completeness4/5

Core lifecycle is covered—search, create a copy, edit, publish, order, and status/history lookup. Minor gaps: there is no tool to delete/cancel a chosen card or an order, no way to revoke a shared eCard, and no direct get_card (retrieval relies on list_my_orders).

Available Tools

7 tools
choose_cardChoose cardA
Idempotent
Inspect

Makes the user's own copy of a find_cards card for one recipient: prints the names and starts a song that sings their name where possible. Returns its card_id, a private preview link, colors and print prices.

NameRequiredDescriptionDefault
card_idYesA card from find_cards, or the user's own card.
dry_runNoValidate and preview only; nothing is written.
music_genreNoOnly if the user wants the song in one genre.
sender_nameNoDefaults to the account's first name.
wait_secondsNoWait up to this long for the song (personalization.status); a repeat call with the same card and names only checks it.
recipient_nameYesFirst name of the person the card is for.
occasion_numberNoAge or years, for a birthday or anniversary.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=false), so the bar is lower, and the description still adds real context: it copies a source card, prints the recipient's name, and starts a song 'where possible' (implying the song may not always be produced). It does not mention auth requirements or that generation is asynchronous, but the return contents and the copy semantics are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences, front-loaded with the core action and followed by the return payload; no filler. Slightly crowded, but every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the return values (card_id, private preview link, colors, print prices), and the schema covers the async wait/poll semantics. The main remaining gap is that it never explains how this fits relative to order_card or create_share in the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the enum and the wait_seconds repeat-call behavior documented in the schema itself, so the baseline is 3. The description only indirectly touches parameters (the song/name printing hints at music_genre and recipient_name) without adding syntax or constraint detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Makes the user's own copy of a find_cards card for one recipient') and names the sibling that supplies the source card, so an agent can separate it from find_cards and from the ordering tools without opening a schema. It also summarizes the resulting artifact (printed names, a song, preview link, prices).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of 'a find_cards card' implies the pick-then-choose flow, but there is no explicit when-to-use versus the downstream siblings order_card or create_share, and no statement of prerequisites. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_shareShare eCardA
Idempotent
Inspect

Publishes a card chosen with choose_card as a free eCard: returns its link and ready-to-send messages for the user to send. Shared cards can't be edited.

NameRequiredDescriptionDefault
card_idYes
dry_runNo
confirm_repeatNoOnly after the user OKs a flagged repeat.
recipient_nameNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (write, idempotent, non-destructive, open-world), and the description adds value beyond them: it discloses the return payload (link + ready-to-send messages, important since there is no output schema) and the immutability consequence 'Shared cards can't be edited'. It does not explain what dry_run toggles or the repeat-flag/confirmation flow implied by confirm_repeat.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero padding, with the action and its prerequisite front-loaded before the immutability caveat. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating, open-world, non-idempotent-adjacent tool with no output schema, the description adequately covers what comes back and what cannot be changed afterward. It leaves gaps on the dry_run mode and the repeat-detection confirmation path that confirm_repeat's own hint gestures at, which an agent would need before calling safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25% (just confirm_repeat), so the description must compensate. It partially does by establishing card_id's provenance via choose_card and clarifying the share is free, but dry_run and recipient_name receive no explanation in either place, and dry_run is behavior-changing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('Publishes a card ... as a free eCard') and explicitly ties the input to the sibling tool choose_card, so an agent can separate it from order_card or find_cards without opening a schema. It also states the concrete deliverable: the share link plus ready-to-send messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear precondition ('a card chosen with choose_card'), which is genuine routing guidance toward the sibling that must run first. It does not state when-not to use it or how it relates to the other write sibling order_card, so it stops short of full alternative coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_cardsSearch cardsA
Read-only
Inspect

Searches ModCard's greeting cards by occasion, recipient, name, age, interests or city. Returns up to 12 cards, each with its id (choose_card's card_id), title and picture; with nothing to search on, the questions that make a card personal.

NameRequiredDescriptionDefault
toneNo
queryNo
locationNoThe recipient's city or region, e.g. Chicago or Portland, OR. Favors cards made for that place.
occasionNoe.g. birthday, anniversary, thank_you, get_well, loss_grief, wedding, christmas; unknown values return the nearest valid ones
art_styleNoOptional. Without it results mix styles.
interestsNohobbies, pets, teams, foods
recipientNoe.g. mom, wife, bestie, coworker
recipient_ageNo
recipient_nameNo

Output Schema

NameRequiredDescription
cardsYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, openWorldHint false, destructiveHint false), so the description's job is to add outcome detail — and it does: a hard cap of 12 results, the exact fields returned, and the fallback to clarifying questions when no criteria are supplied. No pagination or ranking behavior is disclosed, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core action and searchable facets, then the return shape and the no-query fallback. Every clause carries information an agent needs; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't detail return values, yet it summarizes them usefully and adds the 12-result cap and empty-query behavior. For a 9-optional-param search tool this is nearly complete; only the tone/art_style facets are left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 56%, and the description only re-lists facet names (occasion, recipient, name, age, interests, city) without adding semantics beyond what the schema already says — e.g. the 'unknown values return the nearest valid ones' behavior lives in the schema, not here. Two enum params (tone, art_style) go unmentioned, so the description doesn't fully compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Searches ModCard's greeting cards') and enumerates the searchable facets, then names what comes back (up to 12 cards with id/title/picture). The parenthetical tying the returned id to choose_card's card_id distinguishes it from the sibling that consumes its output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly covers the zero-parameter mode ('with nothing to search on, the questions that make a card personal'), which is a real usage branch an agent must know about. It stops short of naming when to prefer this over siblings like list_my_orders or order_card, so no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_statusOrder statusA
Read-only
Inspect

Whether an order started with order_card is paid, and once paid, its printing, mailing and tracking.

NameRequiredDescriptionDefault
order_idNoAn order id from list_my_orders.
session_idNoFrom order_card.
wait_secondsNoWait up to this long for an unpaid checkout to be paid.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safe read profile (readOnlyHint=true, openWorldHint=false, destructiveHint=false), so the description only needs to add context. It does add meaningful context by describing the state machine it reports (unpaid → paid → printing → mailing → tracking), which tells the agent what a result can contain; it does not mention polling or rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no filler. It is reasonably front-loaded but the convoluted 'Whether an order ... and once paid, its ...' construction costs it clarity against a cleaner 'Check whether ...' phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of conveying return content, and it does so by naming the stages reported (payment, printing, mailing, tracking). What an agent receives is therefore broadly understandable, though the exact shape of tracking data and error cases are left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter is documented in the schema, so the baseline is 3. The description only gestures at session_id indirectly through 'started with order_card' and adds no new meaning for order_id or wait_seconds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description makes clear this is a read of an order's lifecycle state (paid → printing → mailing → tracking), and it explicitly ties the order to the order_card sibling, so an agent can distinguish it from order_card (create) and list_my_orders (enumerate). The phrasing is grammatically awkward and omits an explicit verb like 'check', but the resource and what is returned are unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: you call this to see whether an order placed via order_card has been paid and how far fulfillment has progressed. There is no explicit when-to-use, no guidance on choosing between session_id and order_id, and no mention of how this relates to list_my_orders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_my_ordersMy ordersC
Read-only
Inspect

The user's past orders and cards in progress, the people they've sent cards to, and ordering details (saved return address, saved card, agent payment settings).

NameRequiredDescriptionDefault
limitNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one useful behavioral note: the payload includes sensitive account-adjacent settings (saved return address, saved card, agent payment settings), which hints at breadth and sensitivity. It says nothing about pagination, ordering, or result size, which matters for a list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with no filler, and the primary content (orders and cards in progress) is front-loaded before the secondary ordering details. It is efficient, though the parenthetical list of settings is slightly overloaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey what comes back, and it does list the major content groups adequately. However, the undocumented 'limit' parameter and the absence of any pagination or scope statement leave gaps for a listing tool that aggregates several entity types.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'limit' has 0% schema description coverage, and the description says nothing about it — no mention of maximum 50, default behavior, or whether limiting affects nested collections. With low coverage the description was expected to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase catalogs the resource contents (past orders, cards in progress, recipients, ordering details) so the agent knows roughly what data comes back, but it never states the action — no verb like 'list' or 'retrieve' — and is largely an expansion of the title 'My orders'. It also doesn't distinguish itself from siblings such as get_order_status or find_cards, which sit adjacent in the same ordering domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given and no alternatives are named. An agent cannot tell from the text whether this replaces get_order_status for a single order or find_cards for locating a card, so the routing decision is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

order_cardOrder printed cardA
Destructive
Inspect

Mails a printed copy of a card chosen with choose_card to the recipient, to the user, or to an address the recipient gives by email. Returns a secure checkout link for the user to pay; dry_run returns the price and terms first.

NameRequiredDescriptionDefault
card_idYes
dry_runNo
send_to_meNoMail it to the user instead.
product_skuNoPostcard (default) or folded greeting card; both print a QR code that opens the card and its song.
confirm_repeatNoOnly after the user OKs a flagged repeat.
sender_addressNoReturn address; same fields as destination_address.
recipient_emailNoAsk the recipient for their address by email.
recipient_labelNo
destination_addressNo
pay_with_saved_cardNoCharge the saved card instead of a checkout link; works only with agent payments on, a saved card and the order under the cap.
use_saved_return_addressNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare write, non-idempotent, destructive and open-world behavior, so the bar is lower, and the description adds real context: the tool returns a secure checkout link rather than charging directly, and dry_run previews price and terms. It does not explain what makes the operation destructive or how the flagged-repeat flow (confirm_repeat) works, so it is strong but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences that lead with the core action and end with the dry_run preview, with essentially no wasted words for an 11-parameter tool. The second sentence is dense enough that a turn or short set of bullets would aid scanning, keeping it just short of ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, nested-object tool with no output schema and multiple payment/routing branches, the description covers the main flow and return artifact but omits several behavioral branches (saved-card payment, repeat confirmation, return-address handling) that an agent needs to call it correctly. It is adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 55%, so the description needs to compensate, and it does explain dry_run and the recipient_email vs send_to_me routing paths. However it says nothing about pay_with_saved_card, confirm_repeat, sender_address, recipient_label or use_saved_return_address, and gives no format guidance for destination_address, leaving several parameters undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Mails a printed copy of a card') and ties it to the sibling choose_card as the source of the card, so an agent knows the ordering dependency. It also names the three destinations (recipient, user, email-provided address) and the return artifact (checkout link), which separates it from siblings like update_card_details, find_cards and get_order_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies when to use dry_run ('returns the price and terms first') and how the three routing modes differ, which is useful. But it names no exclusions and does not compare against alternatives like pay_with_saved_card (only documented in the schema) or get_order_status/list_my_orders, so the routing decision is left partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_card_detailsUpdate card detailsA
Idempotent
Inspect

Changes the inside message and/or the color of a card chosen with choose_card; takes the card_id it returned.

NameRequiredDescriptionDefault
colorNoOne of the card's colors (from choose_card), or original.
card_idYes
dry_runNoValidate and preview only; nothing is written.
messageNoNote printed under the card's words (both sizes); replaces choose_card's sign-off. Omit to keep.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare idempotentHint=true, destructiveHint=false and readOnlyHint=false, so the safety profile is covered. The description adds the partial-update semantics ('and/or', omit to keep) and the workflow link to choose_card, but never mentions the dry_run preview path that the schema exposes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no filler, and the operation plus its required provenance (card_id from choose_card) is front-loaded. Nothing could be cut without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a small 4-param mutation with annotations covering reversibility and idempotency and no output schema, the description supplies the needed workflow context. Only the dry_run preview behavior is left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, and the one gap is the required card_id, which the description explicitly explains as coming from choose_card's return value. color and message are already covered by schema descriptions, so the description usefully compensates for the undocumented parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (changes) and the exact mutable fields (inside message and/or color) on a named resource (card). It also ties the tool to its sibling choose_card, so an agent can distinguish it from create_share/order_card without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear prerequisite chain: the card is chosen with choose_card, and this tool takes the card_id that choose_card returned. It does not state when-not to use it (e.g. 'use order_card to create a new card'), but the sequencing guidance is explicit.

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.

  1. 1 tool update
    • Changedfind_cards1 field changed
      • changedInput schema / properties / occasion / description
        Previous value: -"e.g. birthday, anniversary, thank_you, get_well, sympathy, wedding, christmas; unknown values return the nearest valid ones"New value: +"e.g. birthday, anniversary, thank_you, get_well, loss_grief, wedding, christmas; unknown values return the nearest valid ones"
  2. 6 tool updates
    • Changedchoose_card1 field changed
      • addedInput schema / properties / wait_seconds / description
        Added value: +"Wait up to this long for the song (personalization.status); a repeat call with the same card and names only checks it."
    • Changedcreate_share1 field changed
      • addedInput schema / properties / confirm_repeat / description
        Added value: +"Only after the user OKs a flagged repeat."
    • Changedfind_cards2 fields changed
      • changedInput schema / properties / occasion / description
        Previous value: -"e.g. birthday, anniversary, thank_you, get_well, sympathy, wedding, graduation, christmas (all values: resource modcard://filters)"New value: +"e.g. birthday, anniversary, thank_you, get_well, sympathy, wedding, christmas; unknown values return the nearest valid ones"
      • changedInput schema / properties / recipient / description
        Previous value: -"e.g. mom, dad, wife, bestie, coworker, grandmother, teacher"New value: +"e.g. mom, wife, bestie, coworker"
    • Changedget_order_status3 fields changed
      • addedInput schema / properties / order_id / description
        Added value: +"An order id from list_my_orders."
      • addedInput schema / properties / session_id / description
        Added value: +"From order_card."
      • addedInput schema / properties / wait_seconds / description
        Added value: +"Wait up to this long for an unpaid checkout to be paid."
    • Changedorder_card6 fields changed
      • addedInput schema / properties / confirm_repeat / description
        Added value: +"Only after the user OKs a flagged repeat."
      • addedInput schema / properties / destination_address / properties / country_code / description
        Added value: +"Defaults to US."
      • changedInput schema / properties / pay_with_saved_card / description
        Previous value: -"Charge the saved card now instead of a checkout link."New value: +"Charge the saved card instead of a checkout link; works only with agent payments on, a saved card and the order under the cap."
      • changedInput schema / properties / product_sku / description
        Previous value: -"Size: postcard (default) or folded greeting card."New value: +"Postcard (default) or folded greeting card; both print a QR code that opens the card and its song."
      • addedInput schema / properties / recipient_email / description
        Added value: +"Ask the recipient for their address by email."
      • addedInput schema / properties / send_to_me / description
        Added value: +"Mail it to the user instead."
    • Changedupdate_card_details2 fields changed
      • addedInput schema / properties / color / description
        Added value: +"One of the card's colors (from choose_card), or original."
      • addedInput schema / properties / message / description
        Added value: +"Note printed under the card's words (both sizes); replaces choose_card's sign-off. Omit to keep."
  3. 14 tool updates
    • Removedcheckout_card
    • Addedchoose_card
    • Removedcreate_draft
    • Changedfind_cards2 fields changed
      • changedInput schema / properties / occasion / description
        Previous value: -"e.g. birthday"New value: +"e.g. birthday, anniversary, thank_you, get_well, sympathy, wedding, graduation, christmas (all values: resource modcard://filters)"
      • changedInput schema / properties / recipient / description
        Previous value: -"e.g. mom, bestie"New value: +"e.g. mom, dad, wife, bestie, coworker, grandmother, teacher"
    • Removedget_add_credit_card_link
    • Removedget_card
    • Removedlist_card_filters
    • Removedmake_card
    • Addedorder_card
    • Removedpersonalize_card
    • Removedset_card_color
    • Removedset_card_message
    • Removedstart
    • Addedupdate_card_details
  4. 14 tool updates
    • First observedcheckout_card
    • First observedcreate_draft
    • First observedcreate_share
    • First observedfind_cards
    • First observedget_add_credit_card_link
    • First observedget_card
    • First observedget_order_status
    • First observedlist_card_filters
    • First observedlist_my_orders
    • First observedmake_card
    • First observedpersonalize_card
    • First observedset_card_color
    • First observedset_card_message
    • First observedstart

Publisher details

Operator
ModCard
Operator website
https://www.modcard.fun
Vendor relationship
Not available
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Send 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.
    5
    6 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Turn words, images, and audio into an animated video with MP4 export.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to search a catalog of 880+ artist-owned tracks by title, genre, mood, energy and musical key, audition previews, read live license prices, and build multi-track quotes that end in a pre-filled checkout page for social media, TV/streaming and film use. All tools are read-only with no API key, leaving payment and license request submission to the website.
    6
    33 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.