Token导航 LogoToken导航TokenDH.com
lkml MCP logo
办公协作stdio官方级别未说明来源级核验

lkml MCP

MCP Server

一个用于通过lore.kernel.org访问Linux内核邮件列表线程的模型上下文协议(MCP)服务器,提供获取完整邮件线程和原始消息内容的工具。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude团队协作Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

zampierilucas

提供方

zampierilucas

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

LKML MCP服务器

一个模型上下文协议(MCP)服务器,用于通过lore.Kernel.org访问Linux内核邮件列表线程。该服务器提供工具,可以从任何内核邮件列表存档(lkml、Linux riscv、netdev等)中获取完整的电子邮件线程和原始消息内容。

工具

  • lkml_get_thread:按消息ID获取完整线程,返回线程中所有具有结构化元数据(主题、发件人、日期、消息ID、回复、正文内容)的消息。默认情况下,过滤掉自动机器人消息
  • lkml_get_raw:获取原始RFC822格式的单个消息,这对于获取原始MIME正文、标头或内联差异非常有用
  • lkml_get_user_series:按用户电子邮件地址查找最新补丁系列和消息。返回一个补丁系列列表,其中封面字母和补丁分组在一起,还有独立的消息
  • lkml_search_patches:按关键字、子系统、作者或其他条件搜索补丁。返回匹配的补丁系列和单个补丁
  • 跨邮件列表支持:适用于lore.kernel.org上的任何邮件列表,无需硬编码列表名称(lkml、linux riscv、netdev、devicetree等)

用法示例

获取完整线程

lkml_get_thread with message_id: "20251111105634.1684751-1-lzampier@redhat.com"

获取原始消息内容

lkml_get_raw with message_id: "20251111105634.1684751-1-lzampier@redhat.com"

注意:消息ID可以带有或不带有尖括号(例如。, `message-id`).

工具参考

lkml_get_thread

  • 参数:

- message_id (string)-要获取的消息ID(例如,'20251111105634.1684751-1-lzampier@redhat.com').可以配备或不配备尖括号。

  • 退货:线程中的所有消息,每条消息都有以下字段:

- subject:电子邮件主题行 - from:发件人信息 - date:消息时间戳 - message-id:唯一消息标识符 - in-reply-to:父消息ID(如适用) - body:消息内容

线程上下文保留:该工具以两种方式维护完整的对话上下文:

  1. 结构:保存 in-reply-to 字段将每个回复链接到其父消息,从而能够重建讨论树并跟踪对话分支。
  1. 引用上下文:保留完整的消息正文,包括引用的文本(以开头的行 >)来自以前的消息。这允许您通过在用户的内联响应上方保留引号来准确查看用户的评论内容。

螺纹结构示例:

Message A (initial patch)
├─ Message B (in-reply-to: A) - reviewer comment
│  └─ Message C (in-reply-to: B) - author response
└─ Message D (in-reply-to: A) - different reviewer comment

C回复中保留引用上下文的示例:

> +    ret = kvm_read_guest(vcpu->kvm, gpa, &data, sizeof(data));
> +    if (ret  +        return ret;

This looks correct, but you should also handle the case where ret == 0
since kvm_read_guest() can return 0 for a partial read.

lkml_get_raw

  • 参数:

- message_id (string)-要获取的消息ID(例如,'20251111105634.1684751-1-lzampier@redhat.com').可以配备或不配备尖括号。

  • 退货:原始RFC822格式的消息,包括所有标头和MIME内容

运作原理

服务器使用具有自动邮件列表检测功能的稳定消息ID URL从lore.kernel.org获取数据:

  • 线程数据: https://lore.kernel.org/r/{message-id}/t.mbox.gz (压缩mbox格式)

- 使用 /r/ 自动检测正确邮件列表的(重定向)端点 - 适用于任何列表:lkml、linux riscv、netdev、devicetree以及lore.kernel.org上托管的所有其他列表

  • 原始消息: https://lore.kernel.org/r/{message-id}/raw (RFC822格式)

/r/ 端点重定向到 /all/ 它提供跨列表消息访问,而不需要硬编码的邮件列表名称。

消息被解析以提取相关字段,并以结构化格式呈现,以便于LLM工具使用。

按平台安装

克劳德代码(CLI)

添加到克劳德代码MCP配置:

claude mcp add -s user lkml uvx -- --from "git+https://github.com/zampierilucas/lkml-mcp" lkml-mcp

或手动编辑 ~/.claude.json:

{
  "mcpServers": {
    "lkml": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/zampierilucas/lkml-mcp",
        "lkml-mcp"
      ]
    }
  }
}

克劳德桌面

作为桌面扩展安装:

  1. 下载 lkml.mcpb 从该存储库或构建它: mcpb pack . lkml.mcpb
  2. 打开克劳德桌面→ 设置→ 扩展
  3. 拖放 lkml.mcpb 进入“扩展”窗口
  4. 点击“启用”以激活扩展

光标IDE

  1. 打开光标设置(⌘+,在Mac上,Ctrl+,在Windows/Linux上)
  2. 导航至 工具和MCP添加自定义MCP
  3. 添加服务器配置:
{
  "lkml": {
    "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/zampierilucas/lkml-mcp",
      "lkml-mcp"
    ]
  }
}

本地安装(所有平台)

克隆并在本地安装:

git clone https://github.com/zampierilucas/lkml-mcp.git
cd lkml-mcp
pip install -e .

然后在MCP客户端中配置:

{
  "mcpServers": {
    "lkml": {
      "command": "python",
      "args": ["-m", "lkml_mcp.server"]
    }
  }
}

配置

BASE_URL

默认情况下,服务器连接到 https://lore.kernel.org。您可以通过设置将其配置为使用其他公共收件箱存档 LKML_BASE_URL 环境变量。

克劳德代码(CLI):

{
  "mcpServers": {
    "lkml": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/zampierilucas/lkml-mcp",
        "lkml-mcp"
      ],
      "env": {
        "LKML_BASE_URL": "https://custom-lore-instance.org"
      }
    }
  }
}

本地安装:

export LKML_BASE_URL="https://custom-lore-instance.org"
python -m lkml_mcp.server

多实例设置

您可以配置多个MCP服务器实例,以同时访问不同的公共收件箱存档。这对于访问Linux内核邮件列表(lore.kernel.org)和其他项目(如收件箱.sourceware.org上的GCC、Glibc)都很有用。

克劳德代码(CLI)-多个服务器:

{
  "mcpServers": {
    "lkml": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/zampierilucas/lkml-mcp",
        "lkml-mcp"
      ]
    },
    "sourceware": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/zampierilucas/lkml-mcp",
        "lkml-mcp"
      ],
      "env": {
        "LKML_BASE_URL": "https://inbox.sourceware.org"
      }
    }
  }
}

使用此设置:

  • 使用 lkml Linux内核邮件列表服务器(无需收件箱参数)
  • 使用 sourceware GCC、Glibc、GDB、binutils列表的服务器(需要收件箱参数)

实例类型

服务器会自动检测公共收件箱实例类型:

通用重定向实例(如lore.kernel.org):

  • 支持 /r/ 重定向端点
  • inbox 参数是可选的
  • 自动路由到正确的邮件列表

每个收件箱实例(如Inbox.sourceware.org):

  • 要求明确的收件箱名称
  • inbox 参数为 必需的 对于所有操作
  • 常用收件箱名称:

- gcc -GCC一般性讨论 - gcc-patches -GCC补丁 - libc-alpha -Glibc开发 - gdb-patches -GDB补丁 - binutils -Binutils讨论

先决条件

  • Python 3.8+
  • uvx -Python包运行器(安装 pip install uv)
  • 互联网接入 https://lore.kernel.org (或您配置的BASE_URL)

发展

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black src/
isort src/

# Type checking
mypy src/

目录标签

目录标签

PythonClaude团队协作邮件列表访问本地部署Linux内核开发开源社区工具邮件线程解析RFC822消息处理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP