Yahad MCP
An official MCP server for Yahad, an Israeli service for creating digital group greeting cards. It allows AI assistants to list occasions, suggest prompts, create greeting boards, check status, calculate gift budgets, and determine holiday dates, enabling agents to facilitate group greetings via WhatsApp links.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.yahad.ai/mcpWhat you can do with it
- Create a digital group greeting card for a specific occasion
- Calculate individual gift contributions for a group gift
- Find upcoming Jewish holiday dates and greeting customs
- Suggest text prompts for greeting card messages
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- Darim.Api 1.0.0.0
- MCP protocol
- 2025-06-18
- Tools
- 6 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {},
"logging": {},
"resources": {}
}Tools
6 advertised
list_occasions — List occasions
Lists the occasions this group-card service supports, with the value to pass to create_board.
{
"type": "object",
"properties": {}
}{
"title": "List occasions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}suggest_prompts — Suggest questions for participants
Suggests ready questions the organiser can show participants, for an occasion. Optional recipientName fills the name in.
{
"type": "object",
"required": [
"occasion"
],
"properties": {
"occasion": {
"type": "string",
"description": "Occasion value from list_occasions, or a word like 'retirement'."
},
"recipientName": {
"type": [
"string",
"null"
],
"default": null,
"description": "Recipient's first name, to fill into the questions."
}
}
}{
"title": "Suggest questions for participants",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}occasion_date — When is a holiday
Next date and the one after for a professional day (Russian service) or a Jewish holiday (Hebrew service), computed from the calendar rule, never stale. For fasts and memorial days the answer says greetings are not customary.
{
"type": "object",
"required": [
"occasion"
],
"properties": {
"occasion": {
"type": "string",
"description": "Holiday id like 'avtomobilista' or 'yom-kippur', or its name."
}
}
}{
"title": "When is a holiday",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}board_status — Check collection progress
Shows how collection is going for a card: how many have signed, when collection closes and when it opens. Takes the participants' invite link.
{
"type": "object",
"required": [
"invite"
],
"properties": {
"invite": {
"type": "string",
"description": "The invite link (https://.../m/...) or its token."
}
}
}{
"title": "Check collection progress",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}create_board — Create a group card
Creates a group greeting card that several people sign before it opens on a set date, and returns the link to send to participants. Requires the organiser's email: the full management links are sent there, and a one-time 'take control' link is returned. Ask the person for anything missing; never invent an email. For Дарим (darim.ai) names are Russian; for Yahad (yahad.ai) Hebrew.
{
"type": "object",
"required": [
"recipientName",
"occasion",
"revealDate",
"organizerEmail"
],
"properties": {
"occasion": {
"type": "string",
"description": "Occasion value from list_occasions, or a word like 'retirement'."
},
"timezone": {
"type": [
"string",
"null"
],
"default": null,
"description": "IANA timezone, e.g. Europe/Moscow. Default: the service's own."
},
"revealDate": {
"type": "string",
"description": "Date the card opens, YYYY-MM-DD, in the future."
},
"revealTime": {
"type": [
"string",
"null"
],
"default": null,
"description": "Time the card opens, HH:MM, 24-hour. Default 18:00."
},
"recipientName": {
"type": "string",
"description": "Who the card is for, as participants will see it."
},
"organizerEmail": {
"type": "string",
"description": "Organiser's email. Required; ask the person, never guess."
},
"promptQuestion": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional question shown to participants; see suggest_prompts."
},
"recipientGender": {
"type": [
"string",
"null"
],
"default": null,
"description": "Optional: 'female' or 'male', used for Hebrew grammar."
}
}
}{
"title": "Create a group card",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}gift_budget — Split a group gift
How much each person gives toward a group gift: divide the cost by those who will actually pay, round down; the organiser adds the rest. Or, from a per-person amount, the total budget. Pass exactly one of giftCost or perPerson. Amounts are in the service's currency.
{
"type": "object",
"properties": {
"payers": {
"type": "integer",
"default": 0,
"description": "How many people will actually pay, 2 to 500."
},
"giftCost": {
"type": [
"number",
"null"
],
"default": null,
"description": "Total gift cost, in the service's currency."
},
"perPerson": {
"type": [
"number",
"null"
],
"default": null,
"description": "Amount each person gives."
}
}
}{
"title": "Split a group gift",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
2 advertised
card-status
Collection progress
ui://card/status.htmlcard-created
Card created
ui://card/created.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 808 ms
- 95th percentile latency
- 808 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 808 ms · metadata changed · 6 tool(s), 2 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http yahad-mcp https://api.yahad.ai/mcpCodex
codex mcp add yahad-mcp --url https://api.yahad.ai/mcpCursor
{
"mcpServers": {
"yahad-mcp": {
"url": "https://api.yahad.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"yahad-mcp": {
"type": "streamableHttp",
"url": "https://api.yahad.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"yahad-mcp": {
"type": "http",
"url": "https://api.yahad.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http yahad-mcp https://api.yahad.ai/mcpClaude Desktop
{
"mcpServers": {
"yahad-mcp": {
"url": "https://api.yahad.ai/mcp"
}
}
}Windsurf
{
"mcpServers": {
"yahad-mcp": {
"serverUrl": "https://api.yahad.ai/mcp"
}
}
}Let your agent find its tools
Find servers like Yahad MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Yahad MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.