A lightweight MCP server for reading lore.kernel.org Linux kernel mailing list threads.
Instead of scraping Anubis-protected HTML pages, it downloads public-inbox thread mbox archives directly — fast, reliable, and cacheable.
https://lore.kernel.org/<list>/<message-id>/t.mbox.gz
Give your AI assistant the ability to read and analyze Linux kernel mailing list discussions — patch series, review threads, bug reports, and any lore-hosted conversation.
The server parses mbox files and extracts structured data: message headers, participants, subjects, diff file lists, trailers (Signed-off-by, Reviewed-by, etc.), and full plain-text bodies.
| Tool | Description |
|---|---|
lore_fetch_thread |
Download and cache a thread mbox |
lore_summarize_thread |
Summarize messages, participants, subjects, trailers, and patched files |
lore_extract_message |
Return one message's headers and full plain-text body |
All tools accept a full lore URL or a bare message-id as ref.
pip install lore-kernel-mcpgit clone https://github.com/soolaugust/lore-kernel-mcp.git
cd lore-kernel-mcp
pip install .Add to ~/.claude/.mcp.json:
{
"mcpServers": {
"lore-kernel-mcp": {
"command": "lore-kernel-mcp"
}
}
}Or use the Python path directly (no pip install needed):
{
"mcpServers": {
"lore-kernel-mcp": {
"command": "python3",
"args": ["-m", "lore_kernel_mcp.server"]
}
}
}Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"lore-kernel-mcp": {
"command": "lore-kernel-mcp"
}
}
}Restart Claude after changing MCP config.
Once configured, just ask your AI assistant:
Summarize this lore thread:
https://lore.kernel.org/lkml/20260504020003.71306-1-qyousef@layalina.io/
Or with a bare message-id:
Use lore-kernel-mcp to fetch 20260504020003.71306-1-qyousef@layalina.io from lkml
All settings are optional, via environment variables:
| Variable | Default | Description |
|---|---|---|
LORE_LITE_CACHE_DIR |
~/.cache/lore-lite-mcp |
Cache directory for downloaded mbox files |
LORE_LITE_MAX_COMPRESSED_BYTES |
52428800 (50 MB) |
Max compressed download size |
LORE_LITE_MAX_DECOMPRESSED_BYTES |
209715200 (200 MB) |
Max decompressed mbox size |
LORE_LITE_MAX_MESSAGES |
500 |
Max messages per thread |
- Parses the lore URL or message-id to extract the mailing list name and message-id
- Downloads the gzip-compressed mbox from the public-inbox
t.mbox.gzendpoint - Streams and decompresses with size limits (no unbounded downloads)
- Caches the mbox locally — subsequent reads are instant
- Parses with Python's
mailboxmodule and returns structured JSON
- Python >= 3.10
mcp(MCP Python SDK)requests
MIT