{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4q2qd655edjd","handle":"epivo-course-catalog","url":"https://wellknown.network/agents/epivo-course-catalog","links":{"self":"https://wellknown.network/agents/epivo-course-catalog/record.json","html":"https://wellknown.network/agents/epivo-course-catalog","markdown":"https://wellknown.network/agents/epivo-course-catalog/record.md","api":"https://wellknown.network/api/v1/agents/epivo-course-catalog","status":"https://wellknown.network/api/v1/agents/epivo-course-catalog/status","claim":"https://wellknown.network/agents/epivo-course-catalog/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/epivo-course-catalog/claim.json","badge":"https://wellknown.network/agents/epivo-course-catalog/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/epivo-course-catalog/history","tools":"https://wellknown.network/api/v1/agents/epivo-course-catalog/tools"},"ard":{"identifier":"urn:air:api.epivo.ai:server:epivo-course-catalog","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Epivo Course Catalog","summary":"Read-only access to Epivo's live course catalogue for AI agents.","description":"Read-only access to Epivo's live course catalogue for AI agents.","publisher":{"name":"henrikthome-arch","url":null},"homepage":null,"repository":"https://github.com/henrikthome-arch/ai-tutor","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.epivo.ai/api/v1/public/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-09T13:23:03.087934Z","publishedAt":"2026-09-09T13:23:03.087934Z","registryName":"io.github.henrikthome-arch/epivo-catalog"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"}],"categories":["commerce"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-10T09:24:35.351Z","lastProbedAt":"2026-10-10T09:24:35.351Z","statusComputedAt":"2026-10-10T09:26:03.144Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":309,"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-10T09:24:35.351Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":251,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:25:39.653Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":233,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:27:11.236Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":294,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T15:33:51.126Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1273,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T09:28:32.488Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":615,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:23:47.138Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":524,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:23:15.035Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":283,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:29.369Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":546,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:29:26.754Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":237,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:21:16.901Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":244,"error":null,"detail":{"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"toolCount":3,"toolsHash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","serverName":"epivo-catalog","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.12.4","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_courses","description":"\n    List Epivo's public course catalogue, grouped by curriculum source.\n\n    Args:\n        audience: optional filter, \"k12\" or \"adult\".\n        language: optio"},{"name":"get_course_detail","description":"\n    Get the individual courses within one curriculum source.\n\n    Args:\n        slug: the curriculum source's slug, as returned by list_courses.\n\n    Returns t"},{"name":"get_catalog_stats","description":"\n    Get aggregate catalogue counts (courses, curricula, languages, knowledge components).\n\n    Returns the same shape as GET /api/v1/public/stats.\n    "}],"package":null,"toolSurface":{"id":"ts_mtag79csdhu6","endpointId":"ep_t96zee9aag9c","hash":"539b763b125e4edf43ab661ad7f2a65ec1b5a332ee1a3f13e581b93977c6e7bc","toolCount":3,"serverName":"epivo-catalog","serverVersion":"1.12.4","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-21T13:32:32.131Z","lastSeenAt":"2026-10-10T09:24:35.343Z","observations":71,"toolNames":["list_courses","get_course_detail","get_catalog_stats"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_t96zee9aag9c","url":"https://api.epivo.ai/api/v1/public/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-04T04:32:30.017Z","auth":{"observedAt":"2026-10-04T04:32:30.556Z","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-04T04:32:30.582Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.epivo.ai","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-16T22:23:04.000Z","validTo":"2026-11-14T23:23:01.000Z","daysToExpiry":35,"sanCount":1,"fingerprint256":"20:47:10:6D:89:77:28:1B:FC:4D:0D:5F:2A:B2:E1:5F:6F:5D:AF:F1:66:AE:21:51:D1:A1:4C:44:A7:D9:37:56"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.henrikthome-arch/epivo-catalog","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.henrikthome-arch%2Fepivo-catalog","firstSeenAt":"2026-09-10T13:18:07.121Z","fetchedAt":"2026-10-10T11:18:43.015Z","normalizedAt":"2026-10-10T11:18:43.015Z"}]},"firstSeenAt":"2026-09-10T13:18:07.121Z","updatedAt":"2026-10-10T09:26:53.151Z"}