freeq
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read and verify freeq conversations: channels, history, search, signatures, pins.
| Author | io.github.freeq-irc |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 764 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"freeq": {
"url": "https://irc.freeq.at/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (5)
freeq_channelsread-onlyList 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 encrypted-only channels are never listed. No authentication required.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
freeq_historyread-onlyRead recent messages from a channel, newest first. Page backwards by passing the oldest msgid you have seen as `before`. Public channels need no authentication; restricted ones need a bearer from a member.
Parameters:
channel(required) — string — Channel name, with or without the leading #.limit— integer — How many messages to return.before— integer — Unix-seconds timestamp of the oldest message you already have; omit for the newest page. This is the `timestamp` field, not the msgid.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
freeq_searchread-onlyFull-text search within one channel. Use this instead of paging history when you know roughly what was said. Same access rules as freeq_history.
Parameters:
channel(required) — string — Channel to search.q(required) — string — Search terms.limit— integer — How many matches to return.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
freeq_verifyread-onlyCheck 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 authorship. Call this before quoting anyone as having said something; do not present a server-relayed message as author-signed.
Parameters:
msgid(required) — string — ULID message id.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
freeq_pinsread-onlyThe 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 for.
Parameters:
channel(required) — string — Channel whose pins to read, with or without the leading #.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.