MCP服务器的Apisec
用于与APIsecNG平台交互的MCP(模型上下文协议)服务器。此服务器提供管理应用程序、启动安全扫描和查看扫描结果的工具。
特性
应用管理
- 创建OAS应用程序:从OpenAPI规范文件或URL创建应用程序
- 创建GraphQL应用程序:从GraphQL SDL文件或URL创建应用程序
- 创建邮差应用程序:从Postman收藏文件或URL创建应用程序
- 获取所有应用程序:列出所有支持分页的应用程序
- 按ID获取应用程序:检索特定应用程序的详细信息
扫描管理
- 开始扫描:对应用程序实例启动安全扫描
- 获取扫描详细信息:检索扫描状态、结果和进度
- 获取检测结果:获取带有描述和补救措施的安全调查结果
- 按ID获取检测:获取特定安全检测的详细信息
- 获得OWASP保障:检索OWASP覆盖率报告
安装
本地安装
- 安装所需的依赖项:
pip install -r requirements.txt- 设置环境变量:
export APISEC_API_TOKEN="your_personal_access_token_here"
export APISEC_API_URL="https://api.apisecapps.com/v1" # Optional, defaults to thisDocker安装
- 构建Docker镜像:
docker build -t apisec-ng/mcp-server:latest .- 运行Docker容器:
docker run -it --rm \
-e APISEC_API_TOKEN="your_token_here" \
apisec-ng/mcp-server:latest有关更多Docker部署选项,请参阅 医生.md.
配置
服务器使用环境变量进行配置:
APISEC_API_TOKEN(必填):您的APIsec NG个人访问令牌(PAT)APISEC_API_URL(可选):API的基本URL(默认为https://api.apisecapps.com/v1)
获取您的API代币
- 登录您的APIsec NG平台
- 导航到您的个人资料/设置
- 生成个人访问令牌(PAT)
- 将其设置为
APISEC_API_TOKEN环境变量
用法
运行服务器
python apisec-ng-mcp-server.py与MCP客户端一起使用
服务器遵循MCP协议,可以与任何兼容MCP的客户端一起使用。配置您的MCP客户端以连接到此服务器。
MCP客户端配置示例
对于Cursor或其他MCP客户端,请将以下内容添加到MCP配置中:
本地安装:
{
"mcpServers": {
"apisec-ng": {
"command": "python",
"args": ["/path/to/apisec-ng-mcp-server.py"],
"env": {
"APISEC_API_TOKEN": "your_token_here"
}
}
}
}Docker安装:
{
"mcpServers": {
"apisec-ng": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "APISEC_API_TOKEN=${APISEC_API_TOKEN}",
"apisec-ng/mcp-server:latest"
],
"env": {
"APISEC_API_TOKEN": "your_token_here"
}
}
}
}可用工具
create_oas_application
根据OpenAPI规范创建新应用程序。
参数:
application_name(必填):申请名称oas_url(可选):获取OAS内容的URLfile_path(可选):OAS文件的路径origin(可选):原点值(默认值:“TENANT_PORTAL”)
create_graphql_application
从GraphQL SDL文件创建新应用程序。
参数:
application_name(必填):申请名称sdl_url(可选):获取GraphQL SDL内容的URLfile_path(可选):GraphQL SDL文件的路径origin(可选):原点值(默认值:“TENANT_PORTAL”)
create_postman_application
从Postman集合创建新应用程序。
参数:
application_name(必填):申请名称collection_url(可选):获取Postman收藏的URLfile_path(可选):Postman收藏文件的路径collection_id(可选):邮递员收款IDapi_key(可选):Postman API密钥origin(可选):原点值(默认值:“TENANT_PORTAL”)
start_scan
对应用程序实例启动安全扫描。
参数:
application_id(必填):应用程序IDinstance_id(必填):实例IDendpoint_ids(可选):要扫描的端点ID列表scan_with_auth_id(可选):扫描的身份验证ID
get_scan_details
获取特定扫描的详细信息。
参数:
application_id(必填):应用程序IDinstance_id(必填):实例IDscan_id(必填):扫描ID
get_detections
获取应用程序实例的安全检测。
参数:
application_id(必填):应用程序IDinstance_id(必填):实例IDinclude_metadata(可选):包含元数据(默认值:true)exclude_false_positives(可选):排除误报(默认值:true)
get_detection_by_id
获取特定检测的详细信息。
参数:
application_id(必填):应用程序IDinstance_id(必填):实例IDdetection_id(必填):检测ID
get_all_applications
获取所有应用程序的分页列表。
参数:
next_token(可选):分页标记
get_application_by_id
获取特定应用程序的详细信息。
参数:
application_id(必填):应用程序ID
get_owasp_coverage
获取应用程序实例的OWASP覆盖率报告。
参数:
application_id(必填):应用程序IDinstance_id(必填):实例ID
工作流示例
- 创建应用程序:
create_oas_application(
application_name="My API",
oas_url="https://api.example.com/openapi.json"
)- 开始扫描:
start_scan(
application_id="app-123",
instance_id="instance-456"
)- 检查扫描状态:
get_scan_details(
application_id="app-123",
instance_id="instance-456",
scan_id="scan-789"
)- 审查检测结果:
get_detections(
application_id="app-123",
instance_id="instance-456"
)错误处理
所有工具都返回JSON响应。如果出现错误,响应将包括 error 字段,描述出了什么问题。
许可证
此MCP服务器按原样提供,用于APIsec NG平台。
支持
关于以下问题:
- 此MCP服务器:请检查代码和配置
- 平台Apisec:支持秒级联系
