Ostrov retreat center
Public retreat information, calendars and preliminary accommodation quotes for Ostrov in Karelia.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 get_catalog 中
- LOW在 get_events 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"public-api": {
"url": "https://ostrov.center/api/public/v1/mcp"
}
}
}遠端端點
https://ostrov.center/api/public/v1/mcpstreamable-http它能做什麼
工具清單
工具(7)
🟢get_center
Public location and contact information.
輸入結構描述
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_catalog
Current tariff version, resources and rules. Do not cache prices as permanent knowledge.
輸入結構描述
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_objects
Current public resource descriptions and availability rules; no guarantee of open places.
輸入結構描述
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢get_calendar(start, end)
Confirmed public activity; empty dates do not mean availability.
輸入結構描述
{
"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.
輸入結構描述
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢calculate_quote(kind, plan, catalogVersion)
Calculate without saving or contacting anyone. Check complete, warnings and availabilityStatus.
輸入結構描述
{
"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.
輸入結構描述
{
"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
}社群
證據