使用说明
OpenGrok MCP
一个与OpenGrok集成的Spring Boot应用程序,通过模型控制协议(MCP)公开代码搜索功能,供人工智能工具(如VS code、Claude Desktop、GitHub Copilot)使用。
概述
该项目在OpenGrok代码搜索和AI驱动的开发工具之间架起了一座桥梁。它通过MCP公开搜索功能,允许工具查询OpenGrok存储库中的代码、符号和文件。
特性
- 在OpenGrok中搜索代码、符号或文件名
- MCP stdio传输,用于与AI工具集成
- 可配置的OpenGrok基本URL
- 记录到文件(为了MCP兼容性而抑制控制台输出)
先决条件
- Java 17+
- 梅文
- OpenGrok实例正在运行且可访问
安装
- 克隆存储库:
git clone <repo-url> cd opengrok-mcp - 构建项目:
mvnw clean package - 配置
src/main/resources/application.properties根据需要(见下面的配置)。
配置
编辑 src/main/resources/application.properties:
opengrok.base-url:设置为OpenGrok实例(默认值:http://localhost:8080/source)server.port:MCP服务器的端口(默认值:9090)- 日志记录和MCP设置已针对stdio传输进行了预配置。
用法
- 启动应用程序:
java -jar target/opengrok-mcp-0.0.1-SNAPSHOT.jar - 使用MCP stdio传输从您的AI工具(例如VS Code、GitHub Copilot、Claude Desktop)连接。
- 使用该工具在OpenGrok中搜索代码、符号或文件。
VSCode Github CoPilot集成
要与GitHub Copilot集成,请确保在IDE中安装了GitHub Copilod扩展。
在中添加MCP服务器 .vscode\mcp.json 包含以下内容的文件:
{
"servers": {
"opengrok": {
"command": "java",
"args": [
"-jar",
"D:\\ConfluenceCrawler_java\\opengrok-mcp\\target\\opengrok-mcp-0.0.1-SNAPSHOT.jar",
"--spring.profiles.active=copilot",
"--opengrok.base-url=http://localhost:8080/source"
]
}
}
}
随着 "--opengrok.base-url=http://localhost:8080/source" 我们将OpenGrok基本URL作为
命令行参数。这允许应用程序使用指定的OpenGrok实例
搜索操作。
故障排除
- 如果应用程序立即启动和停止,请检查以下位置的日志
d:/opengrok-mcp/logs/opengrok-mcp.log. - 确保OpenGrok正在运行,并且可以在配置的基本URL上访问。
- 对于MCP集成问题,请验证是否启用了stdio传输,以及AI工具是否配置正确。
许可证
在此处指定您的许可证(例如,MIT、Apache 2.0)。
有关更多详细信息,请参阅源代码和配置文件。
