Ostrov retreat center

Public retreat information, calendars and preliminary accommodation quotes for Ostrov in Karelia.

Should I use this

Quality & Safety

B
Description quality
89%
Schema completeness
50%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_catalog' description lacks action verbin get_catalog
  • LOWTool 'get_events' description lacks action verbin get_events

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,955Tokens (tool definitions)
~2.7 KBTypical response size
Moderate attention impact (1.53% of 128k context)

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-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools