{"name":"center.ostrov/public-api","slug":"ostrov-public-api","title":"Ostrov retreat center","description":"Public retreat information, calendars and preliminary accommodation quotes for Ostrov in Karelia.","url":"https://mcp.market/server/ostrov-public-api","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-11T14:38:56.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T08:25:48.832Z","last_ok_at":"2026-11-04T08:25:48.832Z","latency_ms":817},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/iia-arg/ostrov-public-api","website":"https://ostrov.center/developers","version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://ostrov.center/api/public/v1/mcp"}],"packages":[],"tools":[{"name":"calculate_quote","description":"Calculate without saving or contacting anyone. Check complete, warnings and availabilityStatus.","write_action":false,"price_micros":0,"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}},{"name":"get_calendar","description":"Confirmed public activity; empty dates do not mean availability.","write_action":false,"price_micros":0,"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}},{"name":"get_catalog","description":"Current tariff version, resources and rules. Do not cache prices as permanent knowledge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"get_center","description":"Public location and contact information.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"get_events","description":"Public programs and labeled demo data; contact the organizer to ask about joining.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"get_objects","description":"Current public resource descriptions and availability rules; no guarantee of open places.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"suggest_group","description":"Suggest room/program selection for the ordinary group tariff; not an availability check.","write_action":false,"price_micros":0,"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}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-10-13T01:09:10.302Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-13T01:09:10.186Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 2924ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://ostrov.center/api/public/v1/mcp","reachable":true,"authRequired":false,"latencyMs":2924,"serverInfo":{"name":"ostrov-public-api","version":"0.2.0"}}],"packages":[],"repo":{"found":true,"owner":"iia-arg","repo":"ostrov-public-api","archived":false,"pushedAt":"2026-10-11T14:38:56Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/278821360?v=4","ownerCreatedAt":"2026-04-23T22:13:10Z","license":"MIT"},"icon":{"url":"https://ostrov.center/_assets/tild3639-3036-4464-b861-373932343136__fav.png","source":"site","width":285,"height":285},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-11T14:38:56.000Z","score":23}}}},"grade_history":[],"reviews":[]}