Ostrov retreat center
Public retreat information, calendars and preliminary accommodation quotes for Ostrov in Karelia.
Should I use this
Quality & Safety
Findings (2)
- LOWin get_catalog
- LOWin get_events
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"public-api": {
"url": "https://ostrov.center/api/public/v1/mcp"
}
}
}Remote endpoints
https://ostrov.center/api/public/v1/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢get_center
Public location and contact information.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_catalog
Current tariff version, resources and rules. Do not cache prices as permanent knowledge.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_objects
Current public resource descriptions and availability rules; no guarantee of open places.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_calendar(start, end)
Confirmed public activity; empty dates do not mean availability.
Input Schema
{
"type": "object",
"properties": {
"start": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
}🟢get_events
Public programs and labeled demo data; contact the organizer to ask about joining.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢calculate_quote(kind, plan, catalogVersion)
Calculate without saving or contacting anyone. Check complete, warnings and availabilityStatus.
Input Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"group",
"biggroup",
"resident"
]
},
"plan": {
"oneOf": [
{
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"departure": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"adults": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"youngChildrenAges": {
"type": "array",
"maxItems": 30,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"description": "Information only; does not change any guest count, accommodation, food or price."
},
"policyVersion": {
"type": "integer",
"const": 4
},
"teens": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Children eligible for the child discount (currently 6–12). Despite the field name, full-rate children (currently 13+) belong in adults. Check the live catalogue."
},
"team": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Adult organizers and team, separate from participants. Ordinary tariff charges the team fully; all-inclusive benefits are calculated by the server."
},
"youngChildren": {
"type": "integer",
"const": 0,
"description": "Legacy counter kept at zero; use youngChildrenAges for information."
},
"organizer": {
"type": "string",
"maxLength": 100,
"description": "Display name; required and nonempty when saving."
},
"title": {
"type": "string",
"maxLength": 150,
"description": "Retreat name; required and nonempty when saving."
},
"housing": {
"type": "array",
"items": {
"type": "object",
"properties": {
"resource": {
"type": "string",
"maxLength": 100
},
"occupancy": {
"type": "integer",
"minimum": 1,
"maximum": 3
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"resource",
"occupancy",
"quantity"
],
"additionalProperties": false
},
"maxItems": 100
},
"activities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"resource": {
"type": "string",
"maxLength": 100
},
"day": {
"type": "integer",
"minimum": 0,
"maximum": 364
},
"slot": {
"type": "string",
"maxLength": 100
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 20
}
},
"required": [
"resource",
"day",
"slot",
"options"
],
"additionalProperties": false
},
"maxItems": 2000
},
"food": {
"type": "boolean"
}
},
"required": [
"policyVersion",
"arrival",
"departure",
"adults",
"teens",
"team",
"housing",
"activities",
"food"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"departure": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"youngChildrenAges": {
"type": "array",
"maxItems": 30,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"description": "Information only; does not change any guest count, accommodation, food or price."
},
"name": {
"type": "string",
"maxLength": 100,
"description": "Required and nonempty when saving."
},
"children": {
"type": "array",
"maxItems": 20,
"items": {
"type": "integer",
"minimum": 6,
"maximum": 17
},
"description": "Children counted in accommodation; current rules permit ages 6–17. Put younger ages in youngChildrenAges."
},
"housing": {
"type": "array",
"minItems": 1,
"maxItems": 30,
"items": {
"type": "object",
"properties": {
"resource": {
"type": "string",
"maxLength": 100
},
"occupancy": {
"type": "integer",
"minimum": 1,
"maximum": 3
}
},
"required": [
"resource",
"occupancy"
],
"additionalProperties": false
}
},
"bathVisits": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"arrival",
"departure",
"adults",
"children",
"housing",
"bathVisits"
],
"additionalProperties": false
}
]
},
"catalogVersion": {
"type": "integer",
"minimum": 1,
"maximum": 1000000000
}
},
"required": [
"kind",
"plan"
],
"additionalProperties": false
}🟢suggest_group(kind, plan, catalogVersion)
Suggest room/program selection for the ordinary group tariff; not an availability check.
Input Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "group"
},
"plan": {
"type": "object",
"properties": {
"arrival": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"departure": {
"type": "string",
"format": "date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"adults": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"youngChildrenAges": {
"type": "array",
"maxItems": 30,
"items": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
"description": "Information only; does not change any guest count, accommodation, food or price."
},
"policyVersion": {
"type": "integer",
"const": 4
},
"teens": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Children eligible for the child discount (currently 6–12). Despite the field name, full-rate children (currently 13+) belong in adults. Check the live catalogue."
},
"team": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "Adult organizers and team, separate from participants. Ordinary tariff charges the team fully; all-inclusive benefits are calculated by the server."
},
"youngChildren": {
"type": "integer",
"const": 0,
"description": "Legacy counter kept at zero; use youngChildrenAges for information."
},
"organizer": {
"type": "string",
"maxLength": 100,
"description": "Display name; required and nonempty when saving."
},
"title": {
"type": "string",
"maxLength": 150,
"description": "Retreat name; required and nonempty when saving."
},
"housing": {
"type": "array",
"items": {
"type": "object",
"properties": {
"resource": {
"type": "string",
"maxLength": 100
},
"occupancy": {
"type": "integer",
"minimum": 1,
"maximum": 3
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"resource",
"occupancy",
"quantity"
],
"additionalProperties": false
},
"maxItems": 100
},
"activities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"resource": {
"type": "string",
"maxLength": 100
},
"day": {
"type": "integer",
"minimum": 0,
"maximum": 364
},
"slot": {
"type": "string",
"maxLength": 100
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 20
}
},
"required": [
"resource",
"day",
"slot",
"options"
],
"additionalProperties": false
},
"maxItems": 2000
},
"food": {
"type": "boolean"
}
},
"required": [
"policyVersion",
"arrival",
"departure",
"adults",
"teens",
"team",
"housing",
"activities",
"food"
],
"additionalProperties": false
},
"catalogVersion": {
"type": "integer",
"minimum": 1,
"maximum": 1000000000
}
},
"required": [
"kind",
"plan"
],
"additionalProperties": false
}Community
Evidence