Skip to main content
Glama

SOAR MCP Server

by flagify-com
system-architecture.svg19.5 kB
<?xml version="1.0" encoding="UTF-8"?> <svg width="1200" height="800" xmlns="http://www.w3.org/2000/svg"> <defs> <!-- 定义渐变色 --> <linearGradient id="clientGradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#4CAF50;stop-opacity:1" /> <stop offset="100%" style="stop-color:#45a049;stop-opacity:1" /> </linearGradient> <linearGradient id="mcpGradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#2196F3;stop-opacity:1" /> <stop offset="100%" style="stop-color:#1976D2;stop-opacity:1" /> </linearGradient> <linearGradient id="webGradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#FF9800;stop-opacity:1" /> <stop offset="100%" style="stop-color:#F57C00;stop-opacity:1" /> </linearGradient> <linearGradient id="dataGradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#9C27B0;stop-opacity:1" /> <stop offset="100%" style="stop-color:#7B1FA2;stop-opacity:1" /> </linearGradient> <linearGradient id="soarGradient" x1="0%" y1="0%" x2="100%" y2="100%"> <stop offset="0%" style="stop-color:#E91E63;stop-opacity:1" /> <stop offset="100%" style="stop-color:#C2185B;stop-opacity:1" /> </linearGradient> <!-- 定义阴影滤镜 --> <filter id="dropshadow" x="-20%" y="-20%" width="140%" height="140%"> <feDropShadow dx="3" dy="3" stdDeviation="3" flood-color="#00000030"/> </filter> </defs> <!-- 背景 --> <rect width="1200" height="800" fill="#f8f9fa" stroke="none"/> <!-- 标题 --> <text x="600" y="30" text-anchor="middle" font-family="Arial, sans-serif" font-size="24" font-weight="bold" fill="#333"> SOAR MCP Server 系统总体架构图 </text> <!-- 客户端层 --> <g transform="translate(50, 70)"> <rect x="0" y="0" width="1100" height="100" fill="url(#clientGradient)" rx="10" filter="url(#dropshadow)"/> <text x="550" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> 客户端层 (Client Layer) </text> <!-- AI客户端 --> <g transform="translate(50, 35)"> <rect x="0" y="0" width="150" height="50" fill="white" rx="5" stroke="#4CAF50" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">Claude Desktop</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">/ Cherry Studio</text> </g> <g transform="translate(250, 35)"> <rect x="0" y="0" width="150" height="50" fill="white" rx="5" stroke="#4CAF50" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">其他 MCP 客户端</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">(AI Applications)</text> </g> <g transform="translate(750, 35)"> <rect x="0" y="0" width="150" height="50" fill="white" rx="5" stroke="#4CAF50" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">Web 管理员</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">(Admin Portal)</text> </g> <g transform="translate(950, 35)"> <rect x="0" y="0" width="100" height="50" fill="white" rx="5" stroke="#4CAF50" stroke-width="2"/> <text x="50" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">REST API</text> <text x="50" y="40" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="#333">客户端</text> </g> </g> <!-- 连接线:客户端到服务器层 --> <line x1="175" y1="170" x2="175" y2="200" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <line x1="375" y1="170" x2="375" y2="200" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <line x1="875" y1="170" x2="875" y2="200" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <line x1="1050" y1="170" x2="1050" y2="200" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <!-- 双服务器层 --> <g transform="translate(50, 200)"> <!-- MCP服务器 --> <g transform="translate(0, 0)"> <rect x="0" y="0" width="500" height="120" fill="url(#mcpGradient)" rx="10" filter="url(#dropshadow)"/> <text x="250" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> MCP 服务器 (端口: 12345) </text> <!-- MCP工具 --> <g transform="translate(20, 35)"> <rect x="0" y="0" width="120" height="30" fill="white" rx="3" stroke="#2196F3" stroke-width="1"/> <text x="60" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">list_playbooks_quick</text> </g> <g transform="translate(150, 35)"> <rect x="0" y="0" width="120" height="30" fill="white" rx="3" stroke="#2196F3" stroke-width="1"/> <text x="60" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">execute_playbook</text> </g> <g transform="translate(280, 35)"> <rect x="0" y="0" width="120" height="30" fill="white" rx="3" stroke="#2196F3" stroke-width="1"/> <text x="60" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">query_execution_status</text> </g> <g transform="translate(410, 35)"> <rect x="0" y="0" width="70" height="30" fill="white" rx="3" stroke="#2196F3" stroke-width="1"/> <text x="35" y="15" text-anchor="middle" font-family="Arial, sans-serif" font-size="9" fill="#333">更多工具</text> <text x="35" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="9" fill="#333">...</text> </g> <text x="250" y="85" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="white"> 基于 FastMCP 框架实现标准 MCP 协议 </text> <text x="250" y="105" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="white"> 提供 AI 客户端安全编排能力 </text> </g> <!-- Web管理服务器 --> <g transform="translate(550, 0)"> <rect x="0" y="0" width="500" height="120" fill="url(#webGradient)" rx="10" filter="url(#dropshadow)"/> <text x="250" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> Web 管理服务器 (端口: 12346) </text> <!-- Web功能 --> <g transform="translate(20, 35)"> <rect x="0" y="0" width="100" height="30" fill="white" rx="3" stroke="#FF9800" stroke-width="1"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">配置管理</text> </g> <g transform="translate(130, 35)"> <rect x="0" y="0" width="100" height="30" fill="white" rx="3" stroke="#FF9800" stroke-width="1"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">监控仪表板</text> </g> <g transform="translate(240, 35)"> <rect x="0" y="0" width="100" height="30" fill="white" rx="3" stroke="#FF9800" stroke-width="1"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">日志查看</text> </g> <g transform="translate(350, 35)"> <rect x="0" y="0" width="100" height="30" fill="white" rx="3" stroke="#FF9800" stroke-width="1"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#333">REST API</text> </g> <text x="250" y="85" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="white"> 基于 Flask 框架提供 Web 管理界面 </text> <text x="250" y="105" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" fill="white"> 系统配置、监控和运维管理 </text> </g> </g> <!-- 连接线:服务器层到业务逻辑层 --> <line x1="300" y1="320" x2="300" y2="360" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <line x1="800" y1="320" x2="800" y2="360" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <!-- 业务逻辑层 --> <g transform="translate(50, 360)"> <rect x="0" y="0" width="1100" height="120" fill="url(#dataGradient)" rx="10" filter="url(#dropshadow)"/> <text x="550" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> 业务逻辑层 (Business Logic Layer) </text> <!-- 核心组件 --> <g transform="translate(50, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">认证授权模块</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">JWT 认证</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">权限控制</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">审计日志</text> </g> <g transform="translate(220, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">剧本管理器</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">剧本查询</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">参数管理</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">生命周期</text> </g> <g transform="translate(390, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">执行引擎</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">剧本执行</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">状态监控</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">结果处理</text> </g> <g transform="translate(560, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">同步服务</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">增量同步</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">定时任务</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">数据验证</text> </g> <g transform="translate(730, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">配置管理器</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">配置持久化</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">动态配置</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">缓存管理</text> </g> <g transform="translate(900, 35)"> <rect x="0" y="0" width="150" height="70" fill="white" rx="5" stroke="#9C27B0" stroke-width="2"/> <text x="75" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">日志管理器</text> <text x="75" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">日志记录</text> <text x="75" y="50" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">日志分析</text> <text x="75" y="65" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">告警监控</text> </g> </g> <!-- 连接线:业务逻辑层到数据层和外部系统 --> <line x1="400" y1="480" x2="400" y2="520" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <line x1="800" y1="480" x2="800" y2="520" stroke="#666" stroke-width="2" marker-end="url(#arrowhead)"/> <!-- 数据存储层 --> <g transform="translate(50, 520)"> <rect x="0" y="0" width="450" height="100" fill="#6c757d" rx="10" filter="url(#dropshadow)"/> <text x="225" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> 数据存储层 (Data Layer) </text> <g transform="translate(50, 35)"> <rect x="0" y="0" width="100" height="50" fill="white" rx="5" stroke="#6c757d" stroke-width="2"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="11" fill="#333">SQLite</text> <text x="50" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">(默认)</text> </g> <g transform="translate(175, 35)"> <rect x="0" y="0" width="100" height="50" fill="white" rx="5" stroke="#6c757d" stroke-width="2"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="11" fill="#333">PostgreSQL</text> <text x="50" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">(可选)</text> </g> <g transform="translate(300, 35)"> <rect x="0" y="0" width="100" height="50" fill="white" rx="5" stroke="#6c757d" stroke-width="2"/> <text x="50" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="11" fill="#333">MySQL</text> <text x="50" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">(可选)</text> </g> </g> <!-- 外部系统层 --> <g transform="translate(550, 520)"> <rect x="0" y="0" width="550" height="100" fill="url(#soarGradient)" rx="10" filter="url(#dropshadow)"/> <text x="275" y="25" text-anchor="middle" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="white"> 外部系统层 (External Systems) </text> <g transform="translate(50, 35)"> <rect x="0" y="0" width="200" height="50" fill="white" rx="5" stroke="#E91E63" stroke-width="2"/> <text x="100" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">OctoMation SOAR</text> <text x="100" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">安全编排自动化响应平台</text> </g> <g transform="translate(300, 35)"> <rect x="0" y="0" width="180" height="50" fill="white" rx="5" stroke="#E91E63" stroke-width="2"/> <text x="90" y="20" text-anchor="middle" font-family="Arial, sans-serif" font-size="12" font-weight="bold" fill="#333">第三方安全工具</text> <text x="90" y="35" text-anchor="middle" font-family="Arial, sans-serif" font-size="10" fill="#666">威胁检测、响应工具等</text> </g> </g> <!-- 协议标注 --> <g transform="translate(50, 650)"> <text x="0" y="20" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#333">通信协议:</text> <g transform="translate(120, 0)"> <line x1="0" y1="15" x2="30" y2="15" stroke="#2196F3" stroke-width="3"/> <text x="40" y="20" font-family="Arial, sans-serif" font-size="12" fill="#333">MCP 协议 (Model Context Protocol)</text> </g> <g transform="translate(350, 0)"> <line x1="0" y1="15" x2="30" y2="15" stroke="#FF9800" stroke-width="3"/> <text x="40" y="20" font-family="Arial, sans-serif" font-size="12" fill="#333">HTTP/HTTPS REST API</text> </g> <g transform="translate(600, 0)"> <line x1="0" y1="15" x2="30" y2="15" stroke="#E91E63" stroke-width="3"/> <text x="40" y="20" font-family="Arial, sans-serif" font-size="12" fill="#333">SOAR API 接口</text> </g> <g transform="translate(800, 0)"> <line x1="0" y1="15" x2="30" y2="15" stroke="#6c757d" stroke-width="3"/> <text x="40" y="20" font-family="Arial, sans-serif" font-size="12" fill="#333">数据库连接</text> </g> </g> <!-- 技术特性标注 --> <g transform="translate(50, 690)"> <text x="0" y="20" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#333">核心特性:</text> <text x="120" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 双服务器架构</text> <text x="250" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 异步处理</text> <text x="350" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 智能同步</text> <text x="450" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 安全认证</text> <text x="550" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 多数据库支持</text> <text x="680" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">• 标准 MCP 协议</text> </g> <!-- 端口信息 --> <g transform="translate(50, 720)"> <text x="0" y="20" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#333">服务端口:</text> <text x="120" y="20" font-family="Arial, sans-serif" font-size="12" fill="#2196F3">MCP 服务器: 12345</text> <text x="280" y="20" font-family="Arial, sans-serif" font-size="12" fill="#FF9800">Web 管理: 12346</text> <text x="450" y="20" font-family="Arial, sans-serif" font-size="12" fill="#666">访问示例: http://127.0.0.1:12345/mcp?token=xxxx</text> </g> <!-- 定义箭头标记 --> <defs> <marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto"> <polygon points="0 0, 10 3.5, 0 7" fill="#666"/> </marker> </defs> <!-- 数据流向箭头 --> <!-- MCP 数据流 --> <path d="M 175 190 Q 175 150 300 190" stroke="#2196F3" stroke-width="2" fill="none" stroke-dasharray="5,5" marker-end="url(#arrowhead)"/> <text x="220" y="160" font-family="Arial, sans-serif" font-size="10" fill="#2196F3">MCP 请求</text> <!-- 同步数据流 --> <path d="M 635 360 Q 700 340 635 520" stroke="#E91E63" stroke-width="2" fill="none" stroke-dasharray="5,5" marker-end="url(#arrowhead)"/> <text x="650" y="430" font-family="Arial, sans-serif" font-size="10" fill="#E91E63">同步</text> </svg>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/flagify-com/soar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server