{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_3kwz6nphgeyb","handle":"val-town","url":"https://wellknown.network/agents/val-town","links":{"self":"https://wellknown.network/agents/val-town/record.json","html":"https://wellknown.network/agents/val-town","markdown":"https://wellknown.network/agents/val-town/record.md","api":"https://wellknown.network/api/v1/agents/val-town","status":"https://wellknown.network/api/v1/agents/val-town/status","claim":"https://wellknown.network/agents/val-town/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/val-town/claim.json","badge":"https://wellknown.network/agents/val-town/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/val-town/history","tools":"https://wellknown.network/api/v1/agents/val-town/tools"},"ard":{"identifier":"urn:air:api.val.town:server:val-town","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Val Town","summary":"Deploy serverless TypeScript on Val Town: HTTP vals, cron, SQLite, email, OAuth.","description":"Deploy serverless TypeScript on Val Town: HTTP vals, cron, SQLite, email, OAuth.","publisher":{"name":"town.val","url":null},"homepage":"https://val.town","repository":"https://github.com/val-town/plugins","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.val.town/v3/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-06-01T21:42:09.400942Z","publishedAt":"2026-06-01T21:42:09.400942Z","registryName":"town.val/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"nl"},"observed":{"status":"unavailable","statusReason":"7 consecutive checks failed; last success 25d ago.","lastOkAt":"2026-09-15T22:26:03.254Z","lastProbedAt":"2026-10-07T15:31:50.130Z","statusComputedAt":"2026-10-07T15:33:09.631Z","reliability30d":{"probes":25,"successRate":0.72,"p50Ms":270,"basis":"auth_boundary","measures":{"availability":"authentication boundary reached","latency":"time to authentication response","tools":"not measured — authentication required","summary":"Every successful check was an authentication response (401/403). The endpoint exists and enforces authentication; nothing behind that boundary — tools, behaviour, service health — has been observed."},"checks":{"total":24,"ok":17,"authBoundaryOk":17,"serviceOk":0,"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-07T15:31:50.130Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-30T05:29:23.914Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-23T18:23:38.931Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-19T20:29:30.934Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-17T15:23:02.265Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-16T17:27:50.928Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-16T04:24:07.918Z","kind":"http_head","ok":false,"httpStatus":null,"latencyMs":null,"error":"disallowed by robots.txt","detail":null},{"at":"2026-09-15T22:26:03.254Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":133,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.val.town/.well-known/oauth-protected-resource\", scope=\"openid profile email offline_access project_rw user_r blob_rw email_rw sqlite_rw telemetry_r\""}},{"at":"2026-09-15T16:22:37.657Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":169,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.val.town/.well-known/oauth-protected-resource\", scope=\"openid profile email offline_access project_rw user_r blob_rw email_rw sqlite_rw telemetry_r\""}},{"at":"2026-09-15T09:29:27.092Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":164,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.val.town/.well-known/oauth-protected-resource\", scope=\"openid profile email offline_access project_rw user_r blob_rw email_rw sqlite_rw telemetry_r\""}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_cse58kah2q4x","url":"https://api.val.town/v3/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-09-15T16:22:37.660Z","auth":{"observedAt":"2026-09-15T16:22:38.008Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://api.val.town/.well-known/oauth-protected-resource","resource":"https://api.val.town/v3/mcp","authorizationServers":["https://www.val.town/oauth"],"scopesSupported":["openid","profile","email","offline_access","project_rw","user_r","blob_rw","email_rw","sqlite_rw","telemetry_r"]},"authorizationServer":{"url":"https://www.val.town/.well-known/oauth-authorization-server/oauth","issuer":"https://www.val.town/oauth","grantTypesSupported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_post","client_secret_basic"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":["ES256","Ed25519","EdDSA"],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":true,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-09-15T16:22:38.028Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.val.town","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-06T00:02:20.000Z","validTo":"2026-12-05T01:02:16.000Z","daysToExpiry":54,"sanCount":1,"fingerprint256":"77:00:FF:C8:E7:81:3C:B4:C2:BE:62:E2:10:01:6D:60:C0:25:59:80:DA:5D:95:8D:70:48:D2:A1:E6:FC:BF:EE"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"town.val/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/town.val%2Fmcp","firstSeenAt":"2026-09-07T09:23:08.675Z","fetchedAt":"2026-10-08T20:19:14.433Z","normalizedAt":"2026-10-08T20:19:14.433Z"}]},"firstSeenAt":"2026-09-07T09:23:08.675Z","updatedAt":"2026-09-07T09:23:34.137Z"}