{"server":{"name":"io.github.GoodTurnStudio/syncmycycle","icons":[{"src":"https://goodturn-mcp.pages.dev/icons/syncmycycle.png","sizes":["256x256"],"mimeType":"image/png"}],"title":"Sync My Cycle","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://goodturn-mcp.pages.dev/syncmycycle/mcp","type":"streamable-http"}],"version":"1.3.0","repository":{"url":"https://github.com/GoodTurnStudio/goodturn-mcp","source":"github"},"websiteUrl":"https://goodturn-mcp.pages.dev/syncmycycle","description":"Your likely menstrual cycle phase today and this week, with food and workout ideas."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-28T16:10:42.100198Z","publishedAt":"2026-09-28T16:10:42.100198Z","statusChangedAt":"2026-09-28T16:10:42.100198Z"},"dev.protogrid/connectability":{"class":"R0","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://goodturn-mcp.pages.dev/syncmycycle/mcp","transport":"streamable-http","templated":false,"headers":[],"auth":{"type":"none","location":null,"secret_name":null,"oauth":null},"protocol":{"supported_versions":["2025-11-25"],"stateless":true},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":110,"consecutive_failures":0,"last_probe_at":"2026-10-20T01:18:57.559Z","last_ok_at":"2026-10-20T01:18:57.559Z"}}],"packages":[]},"dev.protogrid/tools":[{"name":"get_todays_phase","title":"Today's cycle phase, with workout and food ideas","description":"Today's cycle phase, with workout and food ideas. For when the user asks what phase they are in, what workout or food suits them today, or why their energy is up or down, for example \"what phase am I in, my last period started September 12th\" or \"what should I train today?\". Needs the first day of their last period. Not for getting pregnant, fertile days, ovulation timing, contraception or pregnancy: this is general wellbeing only, not for pregnancy planning or contraception, and a doctor or pharmacist is the right person for those. When `period_may_be_late` is true the say line says the period may be late and suggests checking with a doctor.","annotations":{"title":"Today's cycle phase, with workout and food ideas","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:18:57.559Z"},{"name":"get_week_ahead","title":"The days ahead by phase","description":"The days ahead by phase. For when the user wants to plan training or meals for the week, for example \"plan my training this week around my cycle\". Returns each day's likely phase, workout focus, intensity and food focus. Not for getting pregnant, fertile days, ovulation timing, contraception or pregnancy: this is general wellbeing only, not for pregnancy planning or contraception, and it is not a fertility calendar. When `period_may_be_late` is true, `days` is empty and the say line suggests checking with a doctor.","annotations":{"title":"The days ahead by phase","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:18:57.559Z"},{"name":"list_phases","title":"What each phase usually feels like, with workout and food ideas","description":"What each phase usually feels like, with workout and food ideas. For general questions about cycle syncing that need no dates, for example \"what should I eat in my luteal phase?\". Not for conception, fertile days, contraception or pregnancy: general wellbeing only, not for pregnancy planning or contraception.","annotations":{"title":"What each phase usually feels like, with workout and food ideas","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T01:18:57.559Z"}],"dev.protogrid/trust":{"score":89,"components":{"hygiene":60,"liveness":100,"freshness":100,"provenance":90},"drivers":["+repository","+namespace-matches-repo","+website","+reachable","+uptime-100%","+updated-21d-ago","-duplicate-repo(28 names)"],"flags":["duplicate-repo"],"blocked":false,"computed_at":"2026-10-20T02:40:51.324Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."},"dev.protogrid/quality":{"score":91,"label":"strong","components":{"auth":null,"hygiene":100,"protocol":75,"stability":100,"dependencies":null},"checks":[{"id":"protocol.modern","detail":"newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28","status":"warn","category":"protocol"},{"id":"protocol.stateless","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"protocol.transport","detail":"streamable HTTP","status":"pass","category":"protocol"},{"id":"protocol.list_ttl","detail":"only applies to 2026-07-28 servers","status":"na","category":"protocol"},{"id":"auth.prm","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.as_metadata","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.cimd","detail":"no remote uses OAuth","status":"na","category":"auth"},{"id":"auth.secret_in_url","detail":"no templated URL","status":"na","category":"auth"},{"id":"tools.descriptions","detail":"every tool has a description","status":"pass","category":"hygiene"},{"id":"tools.description_length","detail":"descriptions are concise","status":"pass","category":"hygiene"},{"id":"tools.schemas","detail":"every tool has an object input schema","status":"pass","category":"hygiene"},{"id":"tools.annotations","detail":"3 of 3 tools declare readOnlyHint or destructiveHint","status":"pass","category":"hygiene"},{"id":"tools.directory_hints","detail":"every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint","status":"pass","category":"hygiene"},{"id":"tools.token_cost","detail":"about 1,203 tokens to load every tool","status":"pass","category":"hygiene"},{"id":"tools.api_dump","detail":"tools are not a one-to-one API dump","status":"pass","category":"hygiene"},{"id":"stability.changes","detail":"3 tool changes in 30 days","status":"pass","category":"stability"},{"id":"stability.rug_pull","detail":"no tool changed its meaning under the same name","status":"pass","category":"stability"},{"id":"deps.known_vulns","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.mcp_sdk_version","detail":"no npm or PyPI package","status":"na","category":"dependencies"},{"id":"deps.resolvable","detail":"no npm or PyPI package","status":"na","category":"dependencies"}],"drivers":["~protocol.modern"],"flags":[],"tool_count":3,"token_estimate":1203,"tools_hash":"8d1a136deeaeab7638cbbb676e6541c6","tools_changed_at":"2026-09-29T03:48:30.288Z","computed_at":"2026-10-20T02:33:16.548Z","disclaimer":"Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed."},"dev.protogrid/identity":{"canonical_id":"io.github.GoodTurnStudio/syncmycycle","aliases":["io.github.GoodTurnStudio/all","io.github.GoodTurnStudio/appealmyclaim","io.github.GoodTurnStudio/artspotter","io.github.GoodTurnStudio/bible","io.github.GoodTurnStudio/bookslikethis","io.github.GoodTurnStudio/cancelmysub","io.github.GoodTurnStudio/cheapestprice","io.github.GoodTurnStudio/fairfare","io.github.GoodTurnStudio/faredeals","io.github.GoodTurnStudio/findmymoney"],"alias_count":27,"repository_key":"github:goodturnstudio/goodturn-mcp","owner":{"verified":false,"method":null,"since":null}}},"next_actions":[{"action":"list_tools","description":"Every current tool with input schemas","href":"/v1/servers/io.github.GoodTurnStudio%2Fsyncmycycle/tools","arguments":{"name":"io.github.GoodTurnStudio/syncmycycle"}},{"action":"get_connection","description":"Minimal connection block for the preferred remote or package","href":"/v1/servers/io.github.GoodTurnStudio%2Fsyncmycycle/connection?target=mcpServers","arguments":{"name":"io.github.GoodTurnStudio/syncmycycle","target":"mcpServers"}},{"action":"search","description":"Find other servers by intent","href":"/v1/search?q={query}","arguments":{"q":"{query}"}}]}