代码导航服务器

LXR Code Browser MCP Server 是一个用于跨引用代码导航的服务器,提供AI助手结构化访问55+个索引的EIC存储库,包括标识符交叉引用、ripgrep搜索、源文件读取和目录浏览。

  • by BNLNPPS
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BNLNPPS/lxr-mcp-server

使用说明

LXR代码浏览器MCP服务器

MCP服务器,用于跨域交叉引用代码导航 东印度公司 代码库,由 肝x受体 BNL的发动机。

为AI助手提供对55个以上索引EIC存储库的结构化访问——标识符交叉引用、ripgrep搜索、源文件读取和目录浏览。

直接浏览代码:https://eic-code-browser.sdcc.bnl.gov/lxr/source

工具

工具 说明
lxr_ident 查找在所有存储库中定义和引用符号(类、函数、变量)的位置
lxr_search Ripgrep在整个代码库中支持正则表达式/文本搜索
lxr_source 读取具有行号和可选范围过滤的源文件
lxr_list 浏览目录内容和存储库结构

用法

作为stdio MCP服务器

pip install -r requirements.txt
python lxr_mcp_server.py

使用克劳德代码

  1. 克隆仓库并安装依赖项:
git clone https://github.com/BNLNPPS/lxr-mcp-server.git
pip install -r lxr-mcp-server/requirements.txt
  1. 添加到您的Claude Code MCP配置中(~/.claude/settings.json 或项目 .mcp.json):
{
  "mcpServers": {
    "lxr": {
      "command": "python",
      "args": ["/path/to/lxr-mcp-server/lxr_mcp_server.py"]
    }
  }
}
  1. 重新启动克劳德代码。

网络接入

LXR代码浏览器位于 eic-code-browser.sdcc.bnl.gov 可从BNL网络内部访问。从BNL外部,SSH隧道工作(与远程SSH访问BNL机器的方法相同)。集 LXR_BASE_URL 指向您的隧道终点。

环境变量

变量 默认值 描述
LXR_BASE_URL https://eic-code-browser.sdcc.bnl.gov/lxr LXR实例URL
LXR_CONFIG lxr_config.yaml (服务器脚本旁边) 配置文件的路径

例子

查找C++类的所有定义:

lxr_ident(symbol="CalorimeterHitDigi", definitions_only=True)

在头文件中搜索模式:

lxr_search(pattern="InitPlugin", file_pattern="*.cc", max_results=20)

读取源文件的特定行:

lxr_source(path="EICrecon/src/algorithms/calorimetry/CalorimeterHitDigi.h", start_line=40, end_line=60)

列出顶级存储库:

lxr_list(path="")

建筑

目前从LXR web界面解析HTML。未来的版本可以直接在LXR主机上运行,并在本地查询交叉引用索引以获得更好的性能。

许可证

Apache 2.0——请参阅 许可证.