BridgeDays

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
87%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,195Tokens (definiciones de herramientas)
~7.6 KBTamaño de respuesta típico
Impacto significativo en la atención (3.28% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

https://bridgedays.eu/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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?".

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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#"
}

Esquema de salida

{
  "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.

Esquema de entrada

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

Esquema de salida

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas