使用说明
OpenGrok mcp
此存储库包含一个模型上下文协议服务器,用于允许LLM查询源代码存储库。它公开了一些基本的OpenGrok功能,LLM可以使用这些功能来理解您正在处理的代码库
特性
允许LLM查询OpenGrok以搜索:
- 定义
- 符号搜索
- 跨项目的全面搜索
- 项目列表
它还应该为用户返回可点击的URL
安装
先决条件
- OpenGrok服务器
- Python 3
- 紫外线
环境设置
git clone https://github.com/SleepyDog053/opengrok-mcp
cd opengrok-mcp
uv sync
source .venv/bin/activate
MCP客户端
这可以运行多个MCP客户端,但可能需要编辑才能在其他地方工作
1.克劳德
{
"mcpServers": {
"opengrok": {
"command": "python",
"args": ["server.py"],
"env": {
"OPENGROK_BASE_URL": "http://localhost:8080",
"OPENGROK_TOKEN": "your-token-if-needed"
}
}
}
}
2.食品法典
[mcp_servers.OpenGrok]
command = "python"
args = ["/route/to/opengrok-mcp/server.py"]
[mcp_servers.OpenGrok.env]
OPENGROK_BASE_URL = "http://localhost:8080"
OPENGROK_TOKEN="your-token-if-needed"
OpenGrok Gotchas
为了使OpenGrok能够正确地进行查询,您需要向一些受限访问的API端点发送API请求。 这些API端点需要使用承载API令牌。对于开发设置,如何启用它并不总是很清楚
最好的方法是添加一个 只读配置 其与主配置合并。此配置看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.8.0_121" class="java.beans.XMLDecoder">
<object class="org.opengrok.indexer.configuration.Configuration">
<!-- 1) Bearer tokens the webapp will accept for API calls -->
<void property="authenticationTokens">
<void method="add">
<string>your-token</string>
</void>
</void>
<!-- 2) Allow tokens over HTTP (dev only) -->
<void property="allowInsecureTokens">
<boolean>true</boolean>
</void>
</object>
</java>
可以找到更多详细信息 这里 如有需要