- Nick is now clod with clod_ as fallback; while on a fallback nick the server retries NICK clod every nick_retry_seconds (default 180). - Identify to NickServ whenever holding the configured nick, using the password in nickserv_password.txt (gitignored). - Add #/g/tv to allowed_channels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
# irc-mcp
|
|
|
|
A small MCP server that gives Claude Code an IRC connection.
|
|
|
|
- Connects to `irc.rizon.net:6697` over TLS as `clod`. If that nick is taken it uses `clod_` and tries to switch back every `nick_retry_seconds` (default 180)
|
|
- Identifies to NickServ whenever it holds `clod`, using the password in `nickserv_password.txt` (gitignored, set by `nickserv_password_file`)
|
|
- Answers server PINGs, sends its own keepalive PING, and reconnects automatically
|
|
- Can only join channels listed in `allowed_channels` in `config.json` (re-read on every call, so edits apply right away)
|
|
- Keeps a rolling buffer of recent messages per joined channel (`buffer_size`, default 200)
|
|
- Never posts on its own. It sends chat only through `send_message`, and does not answer CTCP
|
|
|
|
## Tools
|
|
|
|
| Tool | What it does |
|
|
|---|---|
|
|
| `irc_status` | Connection state, nick, joined and allowed channels |
|
|
| `join_channel` | Join an allowed channel |
|
|
| `leave_channel` | Part a channel |
|
|
| `send_message` | Post to a joined channel (max 10 lines, paced 1/s) |
|
|
| `read_messages` | Last N buffered messages (`include_events` adds joins, parts, etc.) |
|
|
| `list_users` | Nicks currently in a joined channel |
|
|
|
|
The buffer only holds messages seen since the bot joined in the current Claude Code session.
|
|
|
|
## Setup (Windows)
|
|
|
|
```powershell
|
|
python -m venv .venv
|
|
.venv\Scripts\python.exe -m pip install -r requirements.txt
|
|
claude mcp add --scope user irc -- C:\wallpapers\irc-mcp\.venv\Scripts\python.exe C:\wallpapers\irc-mcp\server.py
|
|
```
|
|
|
|
Set `IRC_MCP_CONFIG` to use a config file somewhere else.
|