{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_57yafeqbdw43","handle":"freeq","url":"https://wellknown.network/agents/freeq","links":{"self":"https://wellknown.network/agents/freeq/record.json","html":"https://wellknown.network/agents/freeq","markdown":"https://wellknown.network/agents/freeq/record.md","api":"https://wellknown.network/api/v1/agents/freeq","status":"https://wellknown.network/api/v1/agents/freeq/status","claim":"https://wellknown.network/agents/freeq/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/freeq/claim.json","badge":"https://wellknown.network/agents/freeq/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/freeq/history","tools":"https://wellknown.network/api/v1/agents/freeq/tools"},"ard":{"identifier":"urn:air:irc.freeq.at:server:freeq","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"freeq","summary":"Read and verify freeq conversations: channels, history, search, signatures, pins.","description":"Read and verify freeq conversations: channels, history, search, signatures, pins.","publisher":{"name":"freeq-irc","url":null},"homepage":"https://freeq.at","repository":"https://github.com/freeq-irc/freeq","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://irc.freeq.at/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-03T16:06:39.76933Z","publishedAt":"2026-09-03T16:06:39.76933Z","registryName":"io.github.freeq-irc/freeq"},"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":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.911,"provenance":"derived"}],"categories":["communication","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-11T01:21:39.593Z","lastProbedAt":"2026-10-11T01:21:39.593Z","statusComputedAt":"2026-10-11T01:23:15.893Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":137,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"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-11T01:21:39.593Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":124,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T18:26:35.498Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":123,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T11:24:31.470Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":121,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:31:03.963Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":123,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:25:42.753Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":137,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:32:18.137Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":130,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:27:43.489Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:24:53.951Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":148,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:26:16.465Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":135,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:23:24.549Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":122,"error":null,"detail":{"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"toolCount":5,"toolsHash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","serverName":"freeq","capabilities":["resources","tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"freeq_channels","description":"List the public channels on this server with member counts and topics. Start here when you do not know a channel's exact name. Invite-only, key-protected and en"},{"name":"freeq_history","description":"Read recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication;"},{"name":"freeq_search","description":"Full-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history."},{"name":"freeq_verify","description":"Check who signed a message. `signed_by: \"author\"` is non-repudiable — the author's own key signed those bytes. `signed_by: \"server\"` proves relay only, NOT auth"},{"name":"freeq_pins","description":"The messages a channel's operators pinned — usually its rules, links and standing context. Cheaper than reading history when you want to know what a channel is "}],"package":null,"toolSurface":{"id":"ts_uyeteqjw2rcg","endpointId":"ep_phs3sw8n5eja","hash":"31107f287059edfef65559103bc7a21388dcce97fc4493f39449554ba5985268","toolCount":5,"serverName":"freeq","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T16:25:50.755Z","lastSeenAt":"2026-10-11T01:21:39.590Z","observations":104,"toolNames":["freeq_channels","freeq_history","freeq_search","freeq_verify","freeq_pins"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_phs3sw8n5eja","url":"https://irc.freeq.at/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T21:25:42.746Z","auth":{"observedAt":"2026-10-09T21:25:42.878Z","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-09T21:25:43.160Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"tech.blueyard.com","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-19T01:07:48.000Z","validTo":"2026-12-18T01:07:47.000Z","daysToExpiry":67,"sanCount":2,"fingerprint256":"80:C4:F8:8A:00:8E:39:A5:0B:B2:49:BC:0B:5C:04:23:AA:A5:48:86:0C:D4:D0:F2:05:85:23:41:AD:6D:20:7A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.freeq-irc/freeq","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.freeq-irc%2Ffreeq","firstSeenAt":"2026-09-06T14:17:57.102Z","fetchedAt":"2026-10-10T10:21:48.720Z","normalizedAt":"2026-10-10T10:21:48.720Z"}]},"firstSeenAt":"2026-09-06T14:17:57.102Z","updatedAt":"2026-10-11T01:24:07.032Z"}