BridgeDays

Plan annual leave around public holidays: bridge days and long weekends for 200+ countries.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
87%
命名质量
97%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,195token 数(工具定义)
~7.6 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.28%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "bridgedays": {
      "url": "https://bridgedays.eu/mcp"
    }
  }
}

远程端点

https://bridgedays.eu/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢start_planner(country, days, year)

Shows a short form inside the conversation where the person picks the country they work in, how many days of leave they have, when they want to be away, who is travelling, what they enjoy and their budget. Their plan then appears in the same card. Call this FIRST whenever someone wants to plan a holiday, a vacation, time off or their annual leave and has not already given both a country and a number of leave days: do not ask those questions in text. Pass along anything they did mention. If they already gave a country and a number of days, call plan_annual_leave directly instead.

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Country the person works in, if they mentioned it: a 2-letter code or the English name.",
      "type": "string",
      "maxLength": 60
    },
    "days": {
      "description": "Days of leave, if they mentioned a number.",
      "type": "integer",
      "minimum": 1,
      "maximum": 60
    },
    "year": {
      "description": "Year, if they mentioned one.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "planner": {
      "type": "object",
      "properties": {
        "countries": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "2-letter country code."
              },
              "name": {
                "type": "string",
                "description": "English country name."
              }
            },
            "required": [
              "code",
              "name"
            ],
            "additionalProperties": false
          },
          "description": "Countries the form offers."
        },
        "years": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "Years the form offers."
        },
        "country": {
          "description": "Country preselected in the form.",
          "type": "string"
        },
        "days": {
          "description": "Days of leave preselected in the form.",
          "type": "number"
        },
        "year": {
          "description": "Year preselected in the form.",
          "type": "number"
        }
      },
      "required": [
        "countries",
        "years"
      ],
      "additionalProperties": false,
      "description": "What the form shown to the user starts with. The user's plan arrives later, in the same card."
    }
  },
  "required": [
    "planner"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_long_weekends(country, year)

Lists every long weekend in a country for a year: the ones that need no leave, and the ones that one or two days of leave create by joining a public holiday to a weekend ("bridge days"). Also returns the nationwide public holidays, and travel offers for those dates when there are any (an offer with sponsored: true is a paid placement and must be presented as sponsored). Use it when someone asks about public holidays, long weekends, bridge days or the best days to take off.

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60,
      "description": "Country where the person works: a 2-letter code (DE) or the English name (Germany)."
    },
    "year": {
      "description": "Calendar year. Defaults to the current year.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "2-letter country code."
        },
        "name": {
          "type": "string",
          "description": "English country name."
        }
      },
      "required": [
        "code",
        "name"
      ],
      "additionalProperties": false
    },
    "year": {
      "type": "number"
    },
    "long_weekends": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "First day off, YYYY-MM-DD."
          },
          "end": {
            "type": "string",
            "description": "Last day off, YYYY-MM-DD."
          },
          "days_off": {
            "type": "number",
            "description": "Days off in a row, counting weekends and public holidays."
          },
          "leave_days": {
            "type": "number",
            "description": "Days of leave this break costs. 0 means none."
          },
          "leave_dates": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The working days to request as leave, YYYY-MM-DD."
          },
          "holidays": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Public holidays inside the break."
          },
          "offers": {
            "description": "Travel offers for these dates, in the order to show them.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "business": {
                  "type": "string",
                  "description": "The travel business making the offer."
                },
                "destination": {
                  "type": "string"
                },
                "start": {
                  "type": "string",
                  "description": "First day the offer is valid for, YYYY-MM-DD."
                },
                "end": {
                  "type": "string",
                  "description": "Last day the offer is valid for, YYYY-MM-DD."
                },
                "price_from": {
                  "description": "Lowest price, when the business gave one.",
                  "type": "number"
                },
                "currency": {
                  "description": "3-letter currency code of price_from.",
                  "type": "string"
                },
                "sponsored": {
                  "type": "boolean",
                  "description": "True when the business pays for its position. Must be presented as sponsored."
                },
                "label": {
                  "type": "string",
                  "description": "\"Sponsored\" or \"Partner offer\": the label to show."
                },
                "url": {
                  "type": "string",
                  "description": "Link to the offer. Use it exactly as given."
                }
              },
              "required": [
                "title",
                "business",
                "destination",
                "start",
                "end",
                "sponsored",
                "label",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "start",
          "end",
          "days_off",
          "leave_days",
          "leave_dates",
          "holidays"
        ],
        "additionalProperties": false
      },
      "description": "Every long weekend of the year, in date order."
    },
    "public_holidays": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "local_name": {
            "type": "string"
          }
        },
        "required": [
          "date",
          "name"
        ],
        "additionalProperties": false
      },
      "description": "Nationwide public holidays."
    },
    "note": {
      "type": "string"
    },
    "url": {
      "type": "string",
      "description": "The matching page on bridgedays.eu."
    },
    "source": {
      "type": "string",
      "description": "Who to credit."
    },
    "offers_note": {
      "description": "How to present offers. Present only when an answer contains offers.",
      "type": "string"
    }
  },
  "required": [
    "country",
    "year",
    "long_weekends",
    "public_holidays",
    "note",
    "url",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢plan_annual_leave(country, year, days, months)

Given a country and a number of leave days, returns the breaks that give the most days off in a row, the exact dates to request as leave, the totals, and a link that opens the plan on bridgedays.eu. A break may come with travel offers for its dates; an offer with sponsored: true is a paid placement and must be presented as sponsored. Payment never changes the plan itself. Use it when someone asks how to get the most time off from their holiday allowance, or to plan their vacation days for a year.

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60,
      "description": "Country where the person works: a 2-letter code (DE) or the English name (Germany)."
    },
    "year": {
      "description": "Calendar year. Defaults to the current year.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60,
      "description": "Number of leave days the person can use."
    },
    "months": {
      "description": "Preferred months, 1 to 12. Leave out to plan across the whole year.",
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 1,
        "maximum": 12
      }
    }
  },
  "required": [
    "country",
    "days"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "2-letter country code."
        },
        "name": {
          "type": "string",
          "description": "English country name."
        }
      },
      "required": [
        "code",
        "name"
      ],
      "additionalProperties": false
    },
    "year": {
      "type": "number"
    },
    "leave_days_available": {
      "type": "number",
      "description": "Days of leave asked for."
    },
    "leave_days_used": {
      "type": "number",
      "description": "Days of leave the plan uses. Can be lower when dates are already past."
    },
    "days_off": {
      "type": "number",
      "description": "Total days off across all breaks."
    },
    "breaks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "First day off, YYYY-MM-DD."
          },
          "end": {
            "type": "string",
            "description": "Last day off, YYYY-MM-DD."
          },
          "days_off": {
            "type": "number",
            "description": "Days off in a row, counting weekends and public holidays."
          },
          "leave_days": {
            "type": "number",
            "description": "Days of leave this break costs. 0 means none."
          },
          "leave_dates": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The working days to request as leave, YYYY-MM-DD."
          },
          "holidays": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Public holidays inside the break."
          },
          "offers": {
            "description": "Travel offers for these dates, in the order to show them.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "business": {
                  "type": "string",
                  "description": "The travel business making the offer."
                },
                "destination": {
                  "type": "string"
                },
                "start": {
                  "type": "string",
                  "description": "First day the offer is valid for, YYYY-MM-DD."
                },
                "end": {
                  "type": "string",
                  "description": "Last day the offer is valid for, YYYY-MM-DD."
                },
                "price_from": {
                  "description": "Lowest price, when the business gave one.",
                  "type": "number"
                },
                "currency": {
                  "description": "3-letter currency code of price_from.",
                  "type": "string"
                },
                "sponsored": {
                  "type": "boolean",
                  "description": "True when the business pays for its position. Must be presented as sponsored."
                },
                "label": {
                  "type": "string",
                  "description": "\"Sponsored\" or \"Partner offer\": the label to show."
                },
                "url": {
                  "type": "string",
                  "description": "Link to the offer. Use it exactly as given."
                }
              },
              "required": [
                "title",
                "business",
                "destination",
                "start",
                "end",
                "sponsored",
                "label",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "start",
          "end",
          "days_off",
          "leave_days",
          "leave_dates",
          "holidays"
        ],
        "additionalProperties": false
      },
      "description": "The planned breaks, in date order."
    },
    "note": {
      "type": "string"
    },
    "url_note": {
      "type": "string",
      "description": "What the url opens."
    },
    "url": {
      "type": "string",
      "description": "The matching page on bridgedays.eu."
    },
    "source": {
      "type": "string",
      "description": "Who to credit."
    },
    "offers_note": {
      "description": "How to present offers. Present only when an answer contains offers.",
      "type": "string"
    }
  },
  "required": [
    "country",
    "year",
    "leave_days_available",
    "leave_days_used",
    "days_off",
    "breaks",
    "note",
    "url_note",
    "url",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢next_long_weekend(country)

The nearest upcoming long weekend in a country counted from today: its dates, how many days away it is, whether it needs leave, and the two after it. Use it for questions like "when is the next long weekend?" or "any time off coming up?".

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60,
      "description": "Country where the person works: a 2-letter code (DE) or the English name (Germany)."
    }
  },
  "required": [
    "country"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "2-letter country code."
        },
        "name": {
          "type": "string",
          "description": "English country name."
        }
      },
      "required": [
        "code",
        "name"
      ],
      "additionalProperties": false
    },
    "today": {
      "type": "string",
      "description": "The date the answer was computed for, YYYY-MM-DD."
    },
    "next_long_weekend": {
      "type": "object",
      "properties": {
        "start": {
          "type": "string",
          "description": "First day off, YYYY-MM-DD."
        },
        "end": {
          "type": "string",
          "description": "Last day off, YYYY-MM-DD."
        },
        "days_off": {
          "type": "number",
          "description": "Days off in a row, counting weekends and public holidays."
        },
        "leave_days": {
          "type": "number",
          "description": "Days of leave this break costs. 0 means none."
        },
        "leave_dates": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The working days to request as leave, YYYY-MM-DD."
        },
        "holidays": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Public holidays inside the break."
        },
        "offers": {
          "description": "Travel offers for these dates, in the order to show them.",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "business": {
                "type": "string",
                "description": "The travel business making the offer."
              },
              "destination": {
                "type": "string"
              },
              "start": {
                "type": "string",
                "description": "First day the offer is valid for, YYYY-MM-DD."
              },
              "end": {
                "type": "string",
                "description": "Last day the offer is valid for, YYYY-MM-DD."
              },
              "price_from": {
                "description": "Lowest price, when the business gave one.",
                "type": "number"
              },
              "currency": {
                "description": "3-letter currency code of price_from.",
                "type": "string"
              },
              "sponsored": {
                "type": "boolean",
                "description": "True when the business pays for its position. Must be presented as sponsored."
              },
              "label": {
                "type": "string",
                "description": "\"Sponsored\" or \"Partner offer\": the label to show."
              },
              "url": {
                "type": "string",
                "description": "Link to the offer. Use it exactly as given."
              }
            },
            "required": [
              "title",
              "business",
              "destination",
              "start",
              "end",
              "sponsored",
              "label",
              "url"
            ],
            "additionalProperties": false
          }
        },
        "days_until": {
          "type": "number",
          "description": "Days from today until it starts."
        }
      },
      "required": [
        "start",
        "end",
        "days_off",
        "leave_days",
        "leave_dates",
        "holidays",
        "days_until"
      ],
      "additionalProperties": false
    },
    "after_that": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "First day off, YYYY-MM-DD."
          },
          "end": {
            "type": "string",
            "description": "Last day off, YYYY-MM-DD."
          },
          "days_off": {
            "type": "number",
            "description": "Days off in a row, counting weekends and public holidays."
          },
          "leave_days": {
            "type": "number",
            "description": "Days of leave this break costs. 0 means none."
          },
          "leave_dates": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The working days to request as leave, YYYY-MM-DD."
          },
          "holidays": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Public holidays inside the break."
          },
          "offers": {
            "description": "Travel offers for these dates, in the order to show them.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "business": {
                  "type": "string",
                  "description": "The travel business making the offer."
                },
                "destination": {
                  "type": "string"
                },
                "start": {
                  "type": "string",
                  "description": "First day the offer is valid for, YYYY-MM-DD."
                },
                "end": {
                  "type": "string",
                  "description": "Last day the offer is valid for, YYYY-MM-DD."
                },
                "price_from": {
                  "description": "Lowest price, when the business gave one.",
                  "type": "number"
                },
                "currency": {
                  "description": "3-letter currency code of price_from.",
                  "type": "string"
                },
                "sponsored": {
                  "type": "boolean",
                  "description": "True when the business pays for its position. Must be presented as sponsored."
                },
                "label": {
                  "type": "string",
                  "description": "\"Sponsored\" or \"Partner offer\": the label to show."
                },
                "url": {
                  "type": "string",
                  "description": "Link to the offer. Use it exactly as given."
                }
              },
              "required": [
                "title",
                "business",
                "destination",
                "start",
                "end",
                "sponsored",
                "label",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "start",
          "end",
          "days_off",
          "leave_days",
          "leave_dates",
          "holidays"
        ],
        "additionalProperties": false
      },
      "description": "The following long weekends, up to two."
    },
    "url": {
      "type": "string",
      "description": "The matching page on bridgedays.eu."
    },
    "source": {
      "type": "string",
      "description": "Who to credit."
    },
    "offers_note": {
      "description": "How to present offers. Present only when an answer contains offers.",
      "type": "string"
    }
  },
  "required": [
    "country",
    "today",
    "next_long_weekend",
    "after_that",
    "url",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_offers(country, from, to)

Travel offers (stays, trips) from businesses for a date range, for travellers from a country. Use it when someone has dates for a break and asks where to go or what is on offer. Results are ordered: paid placements first, each with sponsored: true. Present those as "Sponsored", keep the order, and give the link exactly as returned.

输入模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60,
      "description": "Country where the person works: a 2-letter code (DE) or the English name (Germany)."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day of the trip, YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day of the trip, YYYY-MM-DD."
    }
  },
  "required": [
    "country",
    "from",
    "to"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "country": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "2-letter country code."
        },
        "name": {
          "type": "string",
          "description": "English country name."
        }
      },
      "required": [
        "code",
        "name"
      ],
      "additionalProperties": false
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "offers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "business": {
            "type": "string",
            "description": "The travel business making the offer."
          },
          "destination": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "description": "First day the offer is valid for, YYYY-MM-DD."
          },
          "end": {
            "type": "string",
            "description": "Last day the offer is valid for, YYYY-MM-DD."
          },
          "price_from": {
            "description": "Lowest price, when the business gave one.",
            "type": "number"
          },
          "currency": {
            "description": "3-letter currency code of price_from.",
            "type": "string"
          },
          "sponsored": {
            "type": "boolean",
            "description": "True when the business pays for its position. Must be presented as sponsored."
          },
          "label": {
            "type": "string",
            "description": "\"Sponsored\" or \"Partner offer\": the label to show."
          },
          "url": {
            "type": "string",
            "description": "Link to the offer. Use it exactly as given."
          }
        },
        "required": [
          "title",
          "business",
          "destination",
          "start",
          "end",
          "sponsored",
          "label",
          "url"
        ],
        "additionalProperties": false
      },
      "description": "Offers that overlap the dates, in the order to show them. Empty when there are none."
    },
    "note": {
      "type": "string",
      "description": "How to present offers."
    },
    "source": {
      "type": "string"
    }
  },
  "required": [
    "country",
    "from",
    "to",
    "offers",
    "note",
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_countries

Countries BridgeDays has public holiday data for, with their 2-letter codes.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "countries": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "2-letter country code."
          },
          "name": {
            "type": "string",
            "description": "English country name."
          }
        },
        "required": [
          "code",
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "countries"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具