{"serverId":"mcp-registry/ai.getvda/dynamic-health-monitor","tools":[{"name":"health_check","fixed":{"name":"health_check","description":"Full monitoring cycle: re-discover from the seed, merge with the saved map, check HTTP/TCP/SSL/DNS, detect latency anomalies, roll dependent failures up to one root cause, persist state, and report what changed.","inputSchema":{"type":"object","required":["seed"],"properties":{"seed":{"description":"the same seed you discovered with","type":"string"},"seed_type":{"enum":["domain","urls","compose","github","cloudrun"],"type":"string"},"healthignore":{"description":"gitignore-style exclusion patterns","type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: seed, healthignore. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":148,"tokensAfter":157},{"name":"health_discover","fixed":{"name":"health_discover","description":"FREE dry run: discover everything a seed would monitor — subdomains, compose services, ports, dependency chains — without monitoring or storing anything.","inputSchema":{"type":"object","required":["seed"],"properties":{"seed":{"description":"domain, URL list, docker-compose content, or GitHub repo URL","type":"string"},"seed_type":{"enum":["domain","urls","compose","github","cloudrun"],"type":"string"},"healthignore":{"description":"gitignore-style exclusion patterns","type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: seed, healthignore. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":149},{"name":"health_exclude","fixed":{"name":"health_exclude","description":"FREE: add .healthignore patterns for a seed. Applies next cycle.","inputSchema":{"type":"object","required":["seed","patterns"],"properties":{"seed":{"description":"the seed to update","type":"string"},"patterns":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: seed. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":83},{"name":"health_history","fixed":{"name":"health_history","description":"Timeline of status changes for a seed over the last N hours.","inputSchema":{"type":"object","required":["seed"],"properties":{"seed":{"description":"the seed to report on","type":"string"},"hours":{"type":"integer","default":24}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: seed. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":76}],"toolsChanged":4,"tokensSaved":0,"todo":[{"tool":"health_check","params":["seed_type"]},{"tool":"health_discover","params":["seed_type"]},{"tool":"health_exclude","params":["patterns"]},{"tool":"health_history","params":["hours"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}