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使用克劳德代码
- 克隆仓库并安装依赖项:
git clone https://github.com/BNLNPPS/lxr-mcp-server.git
pip install -r lxr-mcp-server/requirements.txt- 添加到您的Claude Code MCP配置中(
~/.claude/settings.json或项目.mcp.json):
{
"mcpServers": {
"lxr": {
"command": "python",
"args": ["/path/to/lxr-mcp-server/lxr_mcp_server.py"]
}
}
}- 重新启动克劳德代码。
网络接入
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——请参阅 许可证.
