{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_btat3rzmvk27","handle":"sendora","url":"https://wellknown.network/agents/sendora","links":{"self":"https://wellknown.network/agents/sendora/record.json","html":"https://wellknown.network/agents/sendora","markdown":"https://wellknown.network/agents/sendora/record.md","api":"https://wellknown.network/api/v1/agents/sendora","status":"https://wellknown.network/api/v1/agents/sendora/status","claim":"https://wellknown.network/agents/sendora/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/sendora/claim.json","badge":"https://wellknown.network/agents/sendora/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/sendora/history","tools":"https://wellknown.network/api/v1/agents/sendora/tools"},"ard":{"identifier":"urn:air:mcp.sendora.se:server:sendora","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Sendora","summary":"Sendora's docs and API for coding agents: send test mail, read the log, set up webhooks.","description":"Sendora's docs and API for coding agents: send test mail, read the log, set up webhooks.","publisher":{"name":"se.sendora","url":null},"homepage":"https://sendora.se/docs/mcp","repository":null,"version":"1.5.2","license":"MIT","protocols":["mcp"],"tags":["sendora","mcp","email","transactional"],"pricing":null,"endpoints":[{"url":"https://mcp.sendora.se/docs","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://mcp.sendora.se/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@sendora/mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-13T21:37:06.698751Z","npmKeywords":["sendora","mcp","email","transactional"],"publishedAt":"2026-10-13T21:37:06.698751Z","registryName":"se.sendora/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":1,"provenance":"derived"},{"slug":"productivity.email","name":"Email","confidence":1,"provenance":"declared"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","dev","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-22T12:29:23.903Z","lastProbedAt":"2026-10-22T12:29:23.903Z","statusComputedAt":"2026-10-22T12:32:52.810Z","reliability30d":{"probes":80,"successRate":1,"p50Ms":41,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":80,"ok":80,"authBoundaryOk":40,"serviceOk":40,"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-22T12:29:23.903Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":33,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp\", scope=\"mcp\""}},{"at":"2026-10-22T11:35:59.199Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":43,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search Sendora's guides, API reference, error codes and the SDKs' READMEs. Use it before writing code against either SDK or the HTTP API, and whenever an error "},{"name":"read_doc","description":"Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or "}],"toolCount":2,"toolsHash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","serverName":"sendora","capabilities":["tools","completions","resources","prompts"],"serverVersion":"1.7.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T05:32:30.196Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":102,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp\", scope=\"mcp\""}},{"at":"2026-10-22T05:31:52.354Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search Sendora's guides, API reference, error codes and the SDKs' READMEs. Use it before writing code against either SDK or the HTTP API, and whenever an error "},{"name":"read_doc","description":"Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or "}],"toolCount":2,"toolsHash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","serverName":"sendora","capabilities":["tools","completions","resources","prompts"],"serverVersion":"1.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T22:32:06.217Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":143,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search Sendora's guides, API reference, error codes and the SDKs' READMEs. Use it before writing code against either SDK or the HTTP API, and whenever an error "},{"name":"read_doc","description":"Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or "}],"toolCount":2,"toolsHash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","serverName":"sendora","capabilities":["tools","completions","resources","prompts"],"serverVersion":"1.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T22:31:05.766Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":32,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp\", scope=\"mcp\""}},{"at":"2026-10-21T16:33:48.275Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":38,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search Sendora's guides, API reference, error codes and the SDKs' READMEs. Use it before writing code against either SDK or the HTTP API, and whenever an error "},{"name":"read_doc","description":"Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or "}],"toolCount":2,"toolsHash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","serverName":"sendora","capabilities":["tools","completions","resources","prompts"],"serverVersion":"1.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T12:27:37.054Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":31,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp\", scope=\"mcp\""}},{"at":"2026-10-21T04:26:42.929Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":91,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Search Sendora's guides, API reference, error codes and the SDKs' READMEs. Use it before writing code against either SDK or the HTTP API, and whenever an error "},{"name":"read_doc","description":"Read one of Sendora's documents whole, as Markdown: a guide (sendora://docs/…), an API operation (sendora://reference/…), the error codes (sendora://errors) or "}],"toolCount":2,"toolsHash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","serverName":"sendora","capabilities":["tools","completions","resources","prompts"],"serverVersion":"1.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T04:26:01.703Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":40,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp\", scope=\"mcp\""}}],"tools":null,"package":{"name":"@sendora/mcp","registry":"npm","observedAt":"2026-10-22T11:41:31.740Z","publishedAt":"2026-10-13T21:36:19.693Z","latestVersion":"1.5.2","weeklyDownloads":107},"toolSurface":{"id":"ts_s4ydpv6evkhc","endpointId":"ep_k6kvv78dy2h8","hash":"9dd4ea6cf36e786a46595c8066163847bc8bbe10c077f6f1bc047cd58b0e6455","toolCount":2,"serverName":"sendora","serverVersion":"1.4.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-11T15:24:07.950Z","lastSeenAt":"2026-10-22T11:35:59.207Z","observations":40,"toolNames":["search_docs","read_doc"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_k6kvv78dy2h8","url":"https://mcp.sendora.se/docs","type":"mcp_streamable_http","factsCheckedAt":"2026-10-18T03:24:29.397Z","auth":{"observedAt":"2026-10-18T03:24:29.419Z","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-18T03:24:29.488Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.sendora.se","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-25T20:36:54.000Z","validTo":"2026-12-24T20:36:53.000Z","daysToExpiry":63,"sanCount":1,"fingerprint256":"76:30:D5:7A:6D:91:00:C0:05:1A:31:DD:BC:39:11:53:60:9B:F9:6E:29:20:9D:6C:68:62:47:28:F4:21:0A:31"}},{"id":"ep_c6yv982yu6g4","url":"https://mcp.sendora.se/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-20T09:24:35.501Z","auth":{"observedAt":"2026-10-20T09:24:35.676Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://mcp.sendora.se/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.sendora.se/mcp","authorizationServers":["https://app.sendora.se"],"scopesSupported":["mcp"]},"authorizationServer":{"url":"https://app.sendora.se/.well-known/oauth-authorization-server","issuer":"https://app.sendora.se","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-20T09:24:35.747Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.sendora.se","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-25T20:36:54.000Z","validTo":"2026-12-24T20:36:53.000Z","daysToExpiry":63,"sanCount":1,"fingerprint256":"76:30:D5:7A:6D:91:00:C0:05:1A:31:DD:BC:39:11:53:60:9B:F9:6E:29:20:9D:6C:68:62:47:28:F4:21:0A:31"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"@sendora/mcp","url":"https://www.npmjs.com/package/@sendora/mcp","firstSeenAt":"2026-10-15T17:21:12.259Z","fetchedAt":"2026-10-22T04:17:50.821Z","normalizedAt":"2026-10-22T04:17:50.821Z"},{"source":"mcp_registry","key":"se.sendora/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/se.sendora%2Fmcp","firstSeenAt":"2026-10-11T15:19:34.588Z","fetchedAt":"2026-10-20T23:21:14.110Z","normalizedAt":"2026-10-20T23:21:14.110Z"}]},"firstSeenAt":"2026-10-11T15:19:34.588Z","updatedAt":"2026-10-22T11:41:31.740Z"}