{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=dotisacat/mcp-package-health@0.1.1","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Are the npm and PyPI packages behind your MCP servers still maintained? Reads the same harness-owned configs as our mcp-context-tax and mcp-doctor (Claude Code, Claude Desktop, Cursor, Codex, Windsurf), resolves each stdio server's command to a package identity (npx, npm exec, uvx, uv tool run, pipx run, including --from and --spec; a trailing @version is read as a pin, never merged into the name; a python -m module is reported unresolvable rather than guessed at), then asks registry.npmjs.org and pypi.org about it. Deprecated and yanked rank first, being the registries' own words; then pin drift; then days since the last release as a FACT, never a verdict -- a finished package can go years without one, and this play never says abandoned or unmaintained. A 404 reads as not found in the public registry, never as does not exist. The ONLY thing that leaves your machine is a package NAME, allowlist-checked before the request, which does reveal which MCP servers you run. Never spawns a server, never installs or up","distribution":{"digest":"sha256:27b39519db9ea4c489305456b92bd94a4cf82e96e055a24c82b5533cd5da9e6c","mediaType":"application/vnd.modiqo.rote-flow","size":27262,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1","inputPolicy":{"optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1.json"},"name":"mcp-package-health","owner":{"kind":"user","slug":"dotisacat"},"parameters":[{"default":365,"description":"Days since the latest release above which a package is reported as \"no recent release\" (30-3650); a fact only, never a verdict of abandonment -- a finished package can go years without one","example":365,"input":{"allowCustom":true,"choices":[],"label":"Stale release days"},"name":"stale_release_days","required":false,"type":"integer"},{"default":10,"description":"Seconds curl is given for each registry GET (1-60); a request exceeding this degrades that one package to a labeled unknown, never the whole run","example":10,"input":{"allowCustom":true,"choices":[],"label":"Per request timeout s"},"name":"per_request_timeout_s","required":false,"type":"integer"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters"},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1","headlessCommandTemplate":"rote play run https://play.modiqo.ai/dotisacat/mcp-package-health@0.1.1 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.77.0"},"publishedAt":"2026-09-04T00:08:47.937271+00:00","reference":"dotisacat/mcp-package-health@0.1.1","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"localTools":["python3","curl"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":3,"installs":0},"steps":{"count":2,"names":["discover_packages","fetch_registry"]},"title":"mcp-package-health","type":"play","version":"0.1.1","visibility":"public"}