🛡️ Cyware MCP服务器
A powerful Model Context Protocol (MCP) server for seamless AI integration with Cyware Products
______________________________________________________________________
🚀 概述
Cyware MCP Server是一款内置于Go中的高性能模型上下文协议(MCP)服务器,旨在为AI代理和大型语言模型提供对Cyware网络安全产品的安全、标准化访问。该服务器通过标准化的MCP协议实现了AI系统和各种Cyware应用程序之间的无缝集成。
✨ 特性
- 🔗 MCP协议合规性:基于模型上下文协议规范的完全实现
- 🎯 多应用支持:集成访问Cyware Intel Exchange(CTIX)和Cyware Orchestrate(CO)
- 🔒 安全的AI集成:使用强大的身份验证和授权
config.yaml文件 - 🛠️ 工具定义:AI代理与Cyware服务交互的结构化工具
- ⚙️ 可配置的:通过YAML文件轻松配置
- 🚀 高性能:采用Go构建,实现最佳速度和可靠性
📁 目录结构
cyware-mcpserver/
├── 📁 applications/
│ ├── 📁 ctix/ # Cyware Intel Exchange (CTIX) MCP resources and tools
│ ├── 📁 co/ # Cyware Orchestrate (CO) MCP resources and tools
│ └── 📁 general/ # General MCP capabilities
├── 📁 cmd/
│ ├── 📄 main.go # MCP server entry point
│ └── 📄 config.yaml # MCP server and application configuration
├── 📁 common/ # Shared MCP utilities (client, config, response)
├── 📄 go.mod # Go module definition
├── 📄 go.sum # Go module dependencies
├── 📄 LICENSE # License file
└── 📄 README.md # Project documentation🏃 入门指南
📋 先决条件
确保已安装以下内容:
- 达到1.24.2或更高 (要安装Go,请参阅https://go.dev/doc/install)
- 访问Cyware应用程序 (CTIX和CO)
- MCP兼容AI客户端 (例如,Claude、Cursor或更多)或语言模型集成
📦 安装
- 克隆存储库:
git clone https://github.com/cyware-labs/cyware-mcpserver.git
cd cyware-mcpserver- 安装依赖项:
go mod tidy⚙️ 配置
在 cmd/config.yaml,更新以下详细信息:
- Cyware应用程序凭据
- MCP服务器传输设置--使用主机/端口/base_url选择stdio或sse(远程)
🚀 运行MCP服务器
- 构建服务器:
cd cmd
go build .- 配置Claude桌面:
- 在Claude上设置MCP的快速指南: modelcontextprotocol.io/quickstart/user
- 构建服务器后,在中配置二进制路径和配置路径
claude_desktop_config.json克劳德桌面文件:
{
"mcpServers": {
"cywaremcp": {
"command": "path/to/your/binary/cmd",
"args": [
"-config_path",
"path/to/your/config.yaml"
]
}
}
}- 重新启动Claude Desktop以完成设置并查看可用的Cyware MCP服务器工具。
🌐 作为远程MCP服务器(SSE)运行
要远程运行此服务器(可通过网络访问),请设置 server.mcp_mode: "sse" 并配置主机/端口:
- 定地址:set
server.host: "0.0.0.0"在所有接口上监听(远程访问)。使用"127.0.0.1"仅适用于本地。 - 广告URL(推荐):set
server.base_url对于公共URL,客户端应该使用(特别是在反向代理后面)。 - 可选身份验证:set
server.auth_token要求Authorization: Bearer两者皆有/sse和/message.
示例 cmd/config.yaml:
server:
mcp_mode: "sse"
host: "0.0.0.0"
port: "5421"
base_path: "/mcp"
base_url: "https://your-domain.example.com/mcp"
auth_token: "change-me"🌐 作为远程MCP服务器运行(流式HTTP)
部分客户仅支持 可流式传输的HTTP (非苏格兰和南方能源公司)。在这种情况下,配置:
server:
mcp_mode: "streamable_http"
host: "0.0.0.0"
port: "5421"
base_path: "/mcp"
auth_token: ""客户端URL应为 基础路径 (不是 /sse)例如。 https://your-domain.example.com/mcp.
🔐 每客户端CTIX/CO凭据(托管模式)
当将此服务器作为托管/远程MCP服务器运行时,不同的客户端可以具有不同的CTIX/CO URL和凭据。
选项A——HTTP标头(可流式传输的HTTP或SSE消息请求)
开 每 MCP HTTP请求时,客户端可以发送Cyware OpenAPI凭证头。服务器将它们应用于当前MCP会话(与配置工具相同的存储)。使用 超文本传输安全协议 在生产中。
| 产品 | 标题 | 用途 |
|---|---|---|
| CTIX | X-Cyware-CTIX-Base-Url | 门户基础URL(例如。 https://your-tenant.cyware.com 或CTIX UI根) |
| CTIX | X-Cyware-CTIX-Access-Id | OpenAPI访问id |
| CTIX | X-Cyware-CTIX-Secret-Key | OpenAPI密钥 |
| CO | X-Cyware-CO-Base-Url | CO/SOAR基本URL(例如。 https://your-tenant.cyware.com/soar/) |
| CO | X-Cyware-CO-Access-Id | OpenAPI访问id |
| CO | X-Cyware-CO-Secret-Key | OpenAPI密钥 |
对于每种产品, 三者 标头必须存在,否则该请求将跳过该产品。这使用身份验证类型 openapicreds,与 configure-*-connection.
操作员可以使用env禁用标头注入 CYWARE_DISABLE_UPSTREAM_SESSION_HEADERS=1 (客户端必须使用工具或YAML)。
选项B-MCP工具
使用这些工具 每个MCP会话一次 (紧接着 initialize):
configure-ctix-connectionconfigure-co-connection
配置后(通过标头或工具),所有CTIX/CO工具都使用 特定会话 资格证书。 如果会话从未设置凭据,服务器将回退到YAML配置中的凭据。
🛠️ 可用的MCP工具
Cyware Intel Exchange(CTIX)
身份验证和用户管理
login-to-ctix-登录CTIX并生成身份验证令牌logged-in-user-details-获取当前登录用户的详细信息
CQL查询与搜索
cql-ctix-grammar-rules-获取CTIX CQL语法规则get-cql-query-search-result-运行CQL查询并返回结果
威胁数据管理
get-threat-data-object-details-获取威胁数据对象详细信息get-threat-data-object-relations-获取威胁数据对象关系get-available-relation-type-获取可用的关系类型
威胁数据批量操作
threat-data-list-bulk-action-add-tag-向威胁数据对象批量添加标签threat-data-list-bulk-mark-indicator-allowed-允许将散装标记指示器作为指示器threat-data-list-bulk-unmark-indicator-allowed-从允许的指标列表中批量删除指标threat-data-list-bulk-manual-review-批量添加威胁数据对象以供手动审查threat-data-list-bulk-mark-false-positive-批量标记指示器为假阳性threat-data-list-bulk-unmark-false-positive-标记为误报的批量无标记指标threat-data-list-bulk-update-analyst-tlp-威胁数据对象的批量更新分析师TLPthreat-data-list-bulk-update-analyst-score-批量更新威胁数据对象的分析师分数threat-data-list-bulk-deprecate-批量弃用指示器threat-data-list-bulk-undeprecate-散装不稳定指示器threat-data-list-bulk-add-watchlist-批量将威胁数据对象添加到监视列表threat-data-list-bulk-remove-watchlist-从监视列表中批量删除威胁数据对象threat-data-list-bulk-add-relation-批量添加与威胁数据对象的关系
标签管理
create-tag-in-ctix-在CTIX中创建新标签get-ctix-tags-list-获取可用标签列表
丰富工具和操作
get-enrichment-tools-list-获取所有丰富工具的列表get-enrichment-tool-details-获取丰富工具的详细信息get-enrichment-tool-action-configs-获取富集工具的操作配置详细信息enrichment-tool-supported-for-threat-data-object-获取针对特定威胁数据类型的支持丰富工具enrich-threat-data-object-使用配置的工具丰富威胁数据对象
英特尔创建
quick-add-intel-create-使用快速添加intel在CTIX中创建intel
Cyware Orchestrate(CO)
身份验证和用户管理
login-to-co-登录CO并生成身份验证令牌
剧本细节和执行
get-co-playbooks-list-获取在CO中创建的剧本列表get-co-playbook-details-获取剧本的详细信息execute-playbook-in-co-运行CO剧本
CO应用程序和操作
get-co-apps-list-获取CO中存在的应用程序列表get-co-app-details\_获取特定应用程序的详细信息get-co-actions-of-app-获取应用程序支持的操作列表get-co-app-action-details-获取操作的详细信息get-instances-of-co-app-获取应用程序中配置的实例execute-action-of-co-app-运行应用程序的操作
📄 许可证
此项目根据LICENSE文件中指定的条款获得许可。
______________________________________________________________________
