{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_x5xarube78zz","handle":"scriptgrain","url":"https://wellknown.network/agents/scriptgrain","links":{"self":"https://wellknown.network/agents/scriptgrain/record.json","html":"https://wellknown.network/agents/scriptgrain","markdown":"https://wellknown.network/agents/scriptgrain/record.md","api":"https://wellknown.network/api/v1/agents/scriptgrain","status":"https://wellknown.network/api/v1/agents/scriptgrain/status","claim":"https://wellknown.network/agents/scriptgrain/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/scriptgrain/claim.json","badge":"https://wellknown.network/agents/scriptgrain/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/scriptgrain/history","tools":"https://wellknown.network/api/v1/agents/scriptgrain/tools"},"ard":{"identifier":"urn:air:mcp.scriptgrain.com:server:scriptgrain","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"ScriptGrain","summary":"Your writing voice measured across 45 attributes; drafts in that voice, scored against it.","description":"Your writing voice measured across 45 attributes; drafts in that voice, scored against it.","publisher":{"name":"com.scriptgrain","url":null},"homepage":"https://scriptgrain.com","repository":"https://github.com/StovBuilds/scriptgrain-mcp","version":"1.21.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.scriptgrain.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://mcp.scriptgrain.com/sse","type":"mcp_sse","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-05T09:49:52.429235Z","publishedAt":"2026-10-05T09:49:52.429235Z","registryName":"com.scriptgrain/scriptgrain"},"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":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-09T21:26:28.859Z","lastProbedAt":"2026-10-09T21:26:28.859Z","statusComputedAt":"2026-10-09T21:28:00.704Z","reliability30d":{"probes":106,"successRate":1,"p50Ms":34,"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":106,"ok":106,"authBoundaryOk":106,"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-09T21:26:28.859Z","kind":"http_get","ok":true,"httpStatus":401,"latencyMs":15,"error":null,"detail":{"authRequired":true}},{"at":"2026-10-09T20:31:01.429Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":16,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp\", error=\"invalid_token\", error_description=\"Missing or invalid access token\""}},{"at":"2026-10-09T14:30:59.443Z","kind":"http_get","ok":true,"httpStatus":401,"latencyMs":182,"error":null,"detail":{"authRequired":true}},{"at":"2026-10-09T14:30:44.355Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":27,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp\", error=\"invalid_token\", error_description=\"Missing or invalid access token\""}},{"at":"2026-10-09T08:27:14.419Z","kind":"http_get","ok":true,"httpStatus":401,"latencyMs":11,"error":null,"detail":{"authRequired":true}},{"at":"2026-10-09T07:24:53.010Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":22,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp\", error=\"invalid_token\", error_description=\"Missing or invalid access token\""}},{"at":"2026-10-09T01:26:29.049Z","kind":"http_get","ok":true,"httpStatus":401,"latencyMs":10,"error":null,"detail":{"authRequired":true}},{"at":"2026-10-09T00:24:50.571Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":9,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp\", error=\"invalid_token\", error_description=\"Missing or invalid access token\""}},{"at":"2026-10-08T19:23:30.127Z","kind":"http_get","ok":true,"httpStatus":401,"latencyMs":52,"error":null,"detail":{"authRequired":true}},{"at":"2026-10-08T17:28:21.759Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":45,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp\", error=\"invalid_token\", error_description=\"Missing or invalid access token\""}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_ts6ccu82pnvg","url":"https://mcp.scriptgrain.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T05:20:56.345Z","auth":{"observedAt":"2026-10-08T05:20:56.361Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.scriptgrain.com/mcp","authorizationServers":["https://mcp.scriptgrain.com"],"scopesSupported":[]},"authorizationServer":{"url":"https://mcp.scriptgrain.com/.well-known/oauth-authorization-server","issuer":"https://mcp.scriptgrain.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["plain","S256"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":false},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-08T05:20:56.378Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"scriptgrain.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-01T19:01:15.000Z","validTo":"2026-12-30T20:01:09.000Z","daysToExpiry":81,"sanCount":3,"fingerprint256":"5D:BE:28:D3:31:13:57:15:A7:7D:36:F7:88:E0:2E:3A:5C:FF:16:40:DE:91:0D:E6:A6:52:EA:4A:7E:67:CF:77"}},{"id":"ep_5jee9e5k9dcb","url":"https://mcp.scriptgrain.com/sse","type":"mcp_sse","factsCheckedAt":"2026-10-09T08:27:14.422Z","auth":{"observedAt":"2026-10-09T08:27:14.449Z","authRequired":true,"scheme":null,"resourceMetadata":{"url":"https://mcp.scriptgrain.com/.well-known/oauth-protected-resource/sse","resource":"https://mcp.scriptgrain.com/sse","authorizationServers":["https://mcp.scriptgrain.com"],"scopesSupported":[]},"authorizationServer":{"url":"https://mcp.scriptgrain.com/.well-known/oauth-authorization-server","issuer":"https://mcp.scriptgrain.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["plain","S256"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":false},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T08:27:14.465Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"scriptgrain.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-01T19:01:15.000Z","validTo":"2026-12-30T20:01:09.000Z","daysToExpiry":81,"sanCount":3,"fingerprint256":"5D:BE:28:D3:31:13:57:15:A7:7D:36:F7:88:E0:2E:3A:5C:FF:16:40:DE:91:0D:E6:A6:52:EA:4A:7E:67:CF:77"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.scriptgrain/scriptgrain","url":"https://registry.modelcontextprotocol.io/v0/servers/com.scriptgrain%2Fscriptgrain","firstSeenAt":"2026-09-25T14:22:18.173Z","fetchedAt":"2026-10-09T10:19:14.930Z","normalizedAt":"2026-10-09T10:19:14.930Z"}]},"firstSeenAt":"2026-09-25T14:22:18.173Z","updatedAt":"2026-10-06T11:23:25.144Z"}