Yoya Booking

Book meetings on a host's real availability. No auth - mirrors their public Yoya page.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
81%
命名品質
94%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,873Token(工具定義)
~3.1 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.24%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "yoya-booking": {
      "url": "https://yoya.ai/api/mcp/book"
    }
  }
}

遠端端點

https://yoya.ai/api/mcp/bookstreamable-http

它能做什麼

工具清單

工具(7)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢get_booking_page(slug)

Read a public Yoya booking link or slug. Includes required guest fields and meeting options. No host account access.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢list_available_times(slug, timezone, timeOfDay, from, to, ...)

Find up to 10 times (max 50), labeled in the guest's IANA timezone. Filter by inclusive from/exclusive to datetimes and morning (06–12), afternoon (12–18) or evening (18–24) in the guest timezone. Pass nextCursor unchanged to continue with the same filters. Slots are suggestions; preview then book rechecks availability. Never invent slot IDs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "timeOfDay": {
      "type": "string",
      "enum": [
        "morning",
        "afternoon",
        "evening"
      ]
    },
    "from": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "to": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "cursor": {
      "type": "string",
      "pattern": "^s_\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}Z$"
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢preview_booking(meetingFormat, requestId, slug, name, email, ...)

Validate guest details and the selected time without booking or sending email. Show the returned summary to the guest and ask for explicit approval. Then call book_meeting with the returned normalized booking, requestId and confirmationToken.

輸入結構描述

{
  "type": "object",
  "properties": {
    "meetingFormat": {
      "description": "Copy the value from preview_booking unchanged.",
      "type": "string",
      "maxLength": 1000
    },
    "requestId": {
      "description": "Reuse the ID returned by preview_booking for retries.",
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "type": "string",
      "maxLength": 320
    },
    "slotId": {
      "type": "string",
      "pattern": "^s_\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}Z$"
    },
    "purpose": {
      "default": "",
      "type": "string",
      "maxLength": 2000
    },
    "meetingType": {
      "type": "string",
      "enum": [
        "google_meet",
        "zoom",
        "in_person"
      ]
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "fieldAnswers": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    }
  },
  "required": [
    "slug",
    "name",
    "email",
    "slotId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴book_meeting(meetingFormat, requestId, slug, name, email, ...)

Creates a free booking or returns PAYMENT_REQUIRED with a secure payment URL for paid meetings. Paid meetings are not booked until payment succeeds; show the link and never claim confirmation before that. Only call after the guest explicitly approves preview_booking. Copy the preview's booking fields and confirmationToken unchanged. Reuse requestId and token on network retries; never claim notifications are delivered until syncStatus is ready.

輸入結構描述

{
  "type": "object",
  "properties": {
    "meetingFormat": {
      "description": "Copy the value from preview_booking unchanged.",
      "type": "string",
      "maxLength": 1000
    },
    "requestId": {
      "description": "Reuse the ID returned by preview_booking for retries.",
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "type": "string",
      "maxLength": 320
    },
    "slotId": {
      "type": "string",
      "pattern": "^s_\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}Z$"
    },
    "purpose": {
      "default": "",
      "type": "string",
      "maxLength": 2000
    },
    "meetingType": {
      "type": "string",
      "enum": [
        "google_meet",
        "zoom",
        "in_person"
      ]
    },
    "timezone": {
      "type": "string",
      "maxLength": 100
    },
    "fieldAnswers": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2000
      }
    },
    "confirmationToken": {
      "type": "string",
      "maxLength": 1000
    },
    "confirmed": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "slug",
    "name",
    "email",
    "slotId",
    "confirmationToken",
    "confirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢get_booking(token)

Read a booking using its private manage-link token. Includes meeting-link synchronization status. Treat this token as a password; do not share it publicly.

輸入結構描述

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "token"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴cancel_booking(token, confirmed, reason)

Cancel using a private manage token. Ask the guest for explicit approval first; this sends cancellation notifications.

輸入結構描述

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "confirmed": {
      "type": "boolean",
      "const": true
    },
    "reason": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "token",
    "confirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴reschedule_booking(token, slotId, confirmed, reason)

Move a booking using its private manage token and a fresh slot ID from list_available_times. Ask for explicit approval first. The original booking stays intact if the new time cannot be reserved.

輸入結構描述

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "slotId": {
      "type": "string",
      "pattern": "^s_\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}Z$"
    },
    "confirmed": {
      "type": "boolean",
      "const": true
    },
    "reason": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "token",
    "slotId",
    "confirmed"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "syncStatus": {
      "type": "string",
      "enum": [
        "pending",
        "ready",
        "attention"
      ]
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "nextOffset": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

建議的提示詞

retrieve_data
Get details about [item] from Yoya Booking
預期的工具: get_booking_page
fetch_info
Fetch [information type] using Yoya Booking
預期的工具: get_booking_page
list_items
List all [items] available in Yoya Booking
預期的工具: list_available_times
browse_collection
Show me the [collection] from Yoya Booking
預期的工具: list_available_times
explore_workflow
List available [items], then get details for each one using Yoya Booking
預期的工具: list_available_timesget_booking_page

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本7 個工具
已驗證未記錄版本7 個工具