{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_5m6y7wktny8p","handle":"upgradelens","url":"https://wellknown.network/agents/upgradelens","links":{"self":"https://wellknown.network/agents/upgradelens/record.json","html":"https://wellknown.network/agents/upgradelens","markdown":"https://wellknown.network/agents/upgradelens/record.md","api":"https://wellknown.network/api/v1/agents/upgradelens","status":"https://wellknown.network/api/v1/agents/upgradelens/status","claim":"https://wellknown.network/agents/upgradelens/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/upgradelens/claim.json","badge":"https://wellknown.network/agents/upgradelens/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/upgradelens/history","tools":"https://wellknown.network/api/v1/agents/upgradelens/tools"},"ard":{"identifier":"urn:air:upgradelens.mattpicone.workers.dev:agent:upgradelens","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"UpgradeLens","summary":"Source-cited security, compatibility, and migration review for exact npm and PyPI dependency upgrades.","description":"Source-cited security, compatibility, and migration review for exact npm and PyPI dependency upgrades.","publisher":{"name":"mattpicone","url":null},"homepage":"https://upgradelens.mattpicone.workers.dev/llms.txt","repository":"https://github.com/mattpicone/upgradelens","version":"0.4.5","license":null,"protocols":["a2a","mcp"],"tags":["dependencies","security","compatibility","migration","npm","pypi"],"pricing":null,"endpoints":[{"url":"https://upgradelens.mattpicone.workers.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":[{"id":"review_dependency_upgrade","name":"Review dependency upgrade","tags":["dependencies","security","compatibility","migration","npm","pypi"],"description":"Review a Dependabot, Renovate, npm, or PyPI version change before merge."}],"tools":["Review dependency upgrade"],"extra":{"updatedAt":"2026-10-01T13:55:37.567583Z","inputModes":["application/json"],"outputModes":["application/json"],"publishedAt":"2026-10-01T13:55:37.567583Z","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"registryName":"io.github.mattpicone/upgradelens"},"attribution":{"kind":"a2a_card","name":"a2a_card","repoUrl":"mcp_registry","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.refactoring","name":"Refactoring","confidence":1,"provenance":"declared"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"declared"},{"slug":"code.review","name":"Code Review","confidence":0.885,"provenance":"derived"},{"slug":"code.generation","name":"Code Generation","confidence":0.583,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"}],"categories":["code","dev","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 1h ago.","lastOkAt":"2026-10-10T03:26:46.665Z","lastProbedAt":"2026-10-10T03:26:46.665Z","statusComputedAt":"2026-10-10T03:27:34.937Z","reliability30d":{"probes":111,"successRate":1,"p50Ms":32,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":110,"ok":110,"authBoundaryOk":0,"serviceOk":110,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T03:26:46.665Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:27:23.326Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:33:05.098Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":89,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:28:33.016Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:24:19.449Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":18,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:22:20.780Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:23:58.913Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":189,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:28:58.812Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:21:55.755Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":11,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:17.423Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":21,"error":null,"detail":{"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"toolCount":4,"toolsHash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","serverName":"upgradelens","capabilities":["tools"],"serverVersion":"0.4.5","protocolVersion":"2025-06-18"}}],"tools":[{"name":"review_dependency_upgrade","description":"Use when an agent reviews a Dependabot, Renovate, npm, or PyPI version change before merge. One cited result combines security delta, runtime compatibility, bre"},{"name":"check_dependency_upgrade","description":"Use when a coding agent needs a cited go/no-go risk decision without steps before changing an existing npm or PyPI dependency between two exact versions. Return"},{"name":"find_safe_upgrade_target","description":"Use only when an existing npm or PyPI dependency has an exact current version but no chosen target. Ranks candidates; candidates are not declared safe and requi"},{"name":"plan_dependency_upgrade","description":"Use when a coding agent needs a migration checklist, refactor actions, ordered review actions, changelog links, or test steps for exact current and target npm/P"}],"package":null,"toolSurface":{"id":"ts_ayzcdcffs7gx","endpointId":"ep_tcn8ng34j4y6","hash":"637629bf2d1edc09d9833af38f229485a2862d266f2e31e27a5e9d1c380404e3","toolCount":4,"serverName":"upgradelens","serverVersion":"0.4.3","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T10:26:32.059Z","lastSeenAt":"2026-10-10T03:26:46.657Z","observations":103,"toolNames":["review_dependency_upgrade","check_dependency_upgrade","find_safe_upgrade_target","plan_dependency_upgrade"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_tcn8ng34j4y6","url":"https://upgradelens.mattpicone.workers.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T21:22:20.790Z","auth":{"observedAt":"2026-10-08T21:22:20.803Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-08T21:22:20.815Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mattpicone.workers.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-28T14:44:14.000Z","validTo":"2026-11-26T15:42:39.000Z","daysToExpiry":47,"sanCount":2,"fingerprint256":"C5:3F:29:51:83:E9:7C:FE:9A:78:1D:FF:42:E4:72:C5:DA:EF:87:06:8C:8D:BE:45:67:3B:79:A8:B5:18:A7:AA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://upgradelens.mattpicone.workers.dev/.well-known/agent-card.json","url":"https://upgradelens.mattpicone.workers.dev/.well-known/agent-card.json","firstSeenAt":"2026-09-20T19:22:18.721Z","fetchedAt":"2026-10-04T19:22:32.920Z","normalizedAt":"2026-10-04T19:22:32.920Z"},{"source":"mcp_registry","key":"io.github.mattpicone/upgradelens","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.mattpicone%2Fupgradelens","firstSeenAt":"2026-09-06T18:19:29.634Z","fetchedAt":"2026-10-07T17:22:56.225Z","normalizedAt":"2026-10-07T17:22:56.225Z"}]},"firstSeenAt":"2026-09-06T18:19:29.634Z","updatedAt":"2026-10-10T03:28:49.256Z"}