CodeQL N1ght MCP服务器
用于将CodeQL N1ght工具与AI助手集成的模型上下文协议(MCP)服务器。
概述
此MCP服务器为AI助手提供了一个标准化的接口,用于与CodeQL N1ght工具进行交互,从而实现了自动化的代码分析工作流程,包括环境设置、数据库创建和安全扫描。
特性
- 环境安装:一键设置JDK、Ant和CodeQL依赖关系
- 数据库创建:使用可配置的反编译器从JAR/WAR/ZIP文件创建CodeQL数据库
- 安全扫描:使用可自定义的查询包执行安全扫描
- 并行处理:支持goroutines和多线程
- 灵活的配置:可自定义的路径、超时和缓存选项
可用工具
version
从CodeQL N1ght可执行文件获取版本或帮助信息。
install_environment
使用可选的自定义URL安装所需的依赖项(JDK、Ant、CodeQL)。
create_database
从目标文件(JAR/WAR/ZIP)创建CodeQL数据库,其中包含以下选项:
- 分解器选择(直连/蕨花)
- 依赖性处理(无/全部)
- 并行处理
- 缓存管理
scan_database
使用可配置的代码对CodeQL数据库执行安全扫描:
- 数据库和查询包路径
- 并行处理选项
- 高速缓存控制
run_codeql_n1ght
使用自定义参数直接执行命令的通用接口。
安装
- 安装依赖项:
pip install -r requirements.txt- 确保CodeQL N1ght可执行文件在配置的路径上可用(默认值:
J:\mcp\codeql-n1ght.exe)
用法
在STDIO模式下运行MCP服务器:
python codeql_n1ght_mcp_server.py配置
- 默认可执行路径:
J:\mcp\codeql-n1ght.exe - 路径兼容性:支持两个Windows(
J:\path)Unix风格(/j:/path)路径格式 - 超时:每次操作可配置(默认值:一般操作10分钟,数据库/扫描操作20小时)
响应格式
所有工具都返回标准化的响应格式:
{
"returncode": 0,
"stdout": "command output",
"stderr": "error output",
"timeout": false
}错误处理
- 未找到可执行文件:如果缺少CodeQL N1ght可执行文件,则返回错误
- 无效参数:验证反编译器和依赖项选项
- 超时管理:可配置的进程终止超时
- 路径解析:自动路径规范化和验证
许可证
这个项目是开源的,可以在MIT许可证下使用。

