代码分析服务器

一个用于集成CodeQL N1ght工具与AI助手的模型上下文协议(MCP)服务器,提供自动化代码分析工作流,包括环境设置、数据库创建和安全扫描。

  • by yezere
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 yezere/codeql_n1ght_mcp_server

使用说明

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

使用自定义参数直接执行命令的通用接口。

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 确保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许可证下使用。