{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_59947rxypawp","handle":"ryan-lindsey","url":"https://wellknown.network/agents/ryan-lindsey","links":{"self":"https://wellknown.network/agents/ryan-lindsey/record.json","html":"https://wellknown.network/agents/ryan-lindsey","markdown":"https://wellknown.network/agents/ryan-lindsey/record.md","api":"https://wellknown.network/api/v1/agents/ryan-lindsey","status":"https://wellknown.network/api/v1/agents/ryan-lindsey/status","claim":"https://wellknown.network/agents/ryan-lindsey/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ryan-lindsey/claim.json","badge":"https://wellknown.network/agents/ryan-lindsey/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/ryan-lindsey/history","tools":"https://wellknown.network/api/v1/agents/ryan-lindsey/tools"},"ard":{"identifier":"urn:air:mcp.ryanlindsey.me:server:ryan-lindsey","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Model Context Protocol endpoint","summary":"Ryan Lindsey's professional corpus, exposed as MCP tools.","description":"Ryan Lindsey's professional corpus, exposed as MCP tools.","publisher":{"name":"ryanlindsey.me","url":"https://ryanlindsey.me"},"homepage":"https://ryanlindsey.me","repository":"https://github.com/ryanlindsey/ryanlindsey.me","version":"1.36.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.ryanlindsey.me/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://ryanlindsey.me/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"ard":{"type":"application/mcp-server-card+json","metadata":null,"identifier":"urn:air:ryanlindsey.me:mcp:corpus","artifactUrl":"https://ryanlindsey.me/mcp/server-card","representativeQueries":["what has ryan lindsey written about agent-native sites?","show me the case studies in this portfolio"]},"updatedAt":"2026-09-21T21:49:44.119313Z","publishedAt":"2026-09-21T21:49:44.119313Z","registryName":"me.ryanlindsey/ryanlindsey-me"},"attribution":{"kind":"ard_catalog","name":"ard_catalog","repoUrl":"ard_catalog","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"ard_catalog","publisherUrl":"ard_catalog","publisherName":"ard_catalog"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.583,"provenance":"derived"}],"categories":["content","data"],"language":"es"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T08:32:57.695Z","lastProbedAt":"2026-10-10T08:32:57.695Z","statusComputedAt":"2026-10-10T08:34:14.285Z","reliability30d":{"probes":133,"successRate":1,"p50Ms":115,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":133,"ok":133,"authBoundaryOk":0,"serviceOk":133,"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-10T08:32:57.695Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T06:27:42.014Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":288,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:25:34.302Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":22,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:29:57.524Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":183,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:27:16.698Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":50,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T16:32:13.380Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:01.789Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:26:45.679Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":403,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:24:58.788Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":52,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T02:26:55.799Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":140,"error":null,"detail":{"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"toolCount":8,"toolsHash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","serverName":"ryanlindsey-me","capabilities":["tools","resources"],"serverVersion":"1.53.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_contact","description":"How to reach Ryan Lindsey, and his working timezone."},{"name":"get_resume","description":"Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary."},{"name":"list_case_studies","description":"Published case studies with their metadata and citation URLs."},{"name":"get_case_study","description":"The full markdown of one published case study, by slug."},{"name":"list_writing","description":"Published posts with their descriptions and citation URLs."},{"name":"get_post","description":"The full markdown of one published post, by slug."},{"name":"search_writing","description":"Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an \"exact\" flag saying whether th"},{"name":"request_private_access","description":"Explains the private access tier and how to request a scoped token."}],"package":null,"toolSurface":{"id":"ts_4athhxqgq4az","endpointId":"ep_9yhpgdyfkdv7","hash":"374004d095dfb5093cd34e48c31818b4101a5a0c10a8ab59baf6134c041c6ee4","toolCount":8,"serverName":"ryanlindsey-me","serverVersion":"1.38.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-22T13:32:18.653Z","lastSeenAt":"2026-10-10T08:32:57.693Z","observations":67,"toolNames":["get_contact","get_resume","list_case_studies","get_case_study","list_writing","get_post","search_writing","request_private_access"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_9yhpgdyfkdv7","url":"https://mcp.ryanlindsey.me/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T08:30:17.477Z","auth":{"observedAt":"2026-10-07T08:30:17.497Z","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-07T08:30:17.521Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ryanlindsey.me","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-04T20:14:45.000Z","validTo":"2026-12-03T21:14:42.000Z","daysToExpiry":54,"sanCount":3,"fingerprint256":"5E:AA:D1:62:B8:8B:22:FE:D2:4B:88:C1:0E:06:DE:A4:1C:5C:B0:77:33:01:11:4E:02:F0:F7:A4:1B:E0:E3:86"}},{"id":"ep_b98x77q4gyxv","url":"https://ryanlindsey.me/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T16:32:13.386Z","auth":{"observedAt":"2026-10-09T16:32:13.424Z","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-09T16:32:13.465Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ryanlindsey.me","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-04T20:13:00.000Z","validTo":"2026-12-03T21:12:57.000Z","daysToExpiry":54,"sanCount":2,"fingerprint256":"AD:4F:59:11:6C:91:E0:8C:A4:7C:B7:72:B7:75:5E:C0:44:A1:EE:00:2F:0D:AA:E4:39:20:E2:FC:EB:3C:9E:C8"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"ard_catalog","key":"urn:air:ryanlindsey.me:mcp:corpus","url":"https://ryanlindsey.me/.well-known/ard.json","firstSeenAt":"2026-09-22T13:24:33.681Z","fetchedAt":"2026-09-22T13:24:33.681Z","normalizedAt":"2026-09-22T13:24:33.681Z"},{"source":"mcp_registry","key":"me.ryanlindsey/ryanlindsey-me","url":"https://registry.modelcontextprotocol.io/v0/servers/me.ryanlindsey%2Fryanlindsey-me","firstSeenAt":"2026-09-22T13:23:16.084Z","fetchedAt":"2026-10-08T18:22:09.247Z","normalizedAt":"2026-10-08T18:22:09.247Z"}]},"firstSeenAt":"2026-09-22T13:23:16.084Z","updatedAt":"2026-10-10T08:35:14.324Z"}