# jetbalsa
## 基本信息
- Slug: `jetbalsa-mcp-opensearch-js`
- Source: modelscope
- Publisher: @jetbalsa/mcp-opensearch-js
- Categories: databases / security-and-iam
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@jetbalsa/mcp-opensearch-js
## 简介
暂无描述。
## MCP Server 详情

# OpenSearch MCP 服务器

一个用于查询和分析存储在 OpenSearch 中的 Wazuh 安全日志的模型上下文协议 (MCP) 服务器。

## 功能

- 使用高级过滤搜索安全警报
- 获取特定警报的详细信息
- 生成安全事件统计信息
- 可视化随时间变化的警报趋势
- 长时间运行操作的进度报告
- 结构化的错误处理

## 前提条件

- Node.js v16 或更高版本
- 访问包含 Wazuh 安全日志的 OpenSearch 实例

## 安装

### 选项 1：直接从 GitHub 使用 npx（推荐）

您可以使用 npx 直接运行此工具，而无需克隆仓库：

bash
# 从 GitHub 运行最新版本
npx github:jetbalsa/mcp-opensearch-js

# 启用调试模式运行
npx github:jetbalsa/mcp-opensearch-js --debug

# 您也可以指定特定的分支或提交
npx github:jetbalsa/mcp-opensearch-js#main


### 选项 2：本地安装

1. 克隆此仓库：
   bash
   git clone https://github.com/jetbalsa/mcp-opensearch-js.git
   cd mcp-opensearch-js
   

2. 安装依赖项：
   bash
   npm install
   

3. 配置环境变量：
   bash
   cp .env.example .env
   

4. 编辑 `.env` 文件以添加您的 OpenSearch 连接详情：
   
   OPENSEARCH_URL=https://your-opensearch-endpoint:9200
   OPENSEARCH_USERNAME=your-username
   OPENSEARCH_PASSWORD=your-password
   DEBUG=false
   

## 运行服务器

### 启动服务器：

bash
npm start


这将以 stdio 模式启动服务器。

### 启用调试日志记录：

bash
npm run stdio:debug


### 使用 MCP CLI 测试：

bash
npm run dev


这将使用 FastMCP CLI 工具以交互方式测试服务器。

### 使用 MCP Inspector 测试：

bash
npm run inspect


这将启动服务器并将其连接到 MCP Inspector 以进行可视化调试。

## 服务器工具

服务器提供以下工具：

### 1. 搜索警报

在 Wazuh 数据中搜索安全警报。

**参数：**
- `query`：搜索查询文本
- `timeRange`：时间范围（例如，1h, 24h, 7d）
- `maxResults`：返回的最大结果数
- `index`：要搜索的索引模式

### 2. 获取警报详情

通过 ID 获取特定警报的详细信息。

**参数：**
- `id`：警报 ID
- `index`：索引模式

### 3. 警报统计

获取关于安全警报的统计信息。

**参数：**
- `timeRange`：时间范围（例如，1h, 24h, 7d）
- `field`：聚合字段（例如，rule.level, agent.name）
- `index`：索引模式

### 4. 可视化警报趋势

随时间可视化警报趋势。

**参数：**
- `timeRange`：时间范围（例如，1h, 24h, 7d）
- `interval`：分组的时间间隔（例如，1h, 1d）
- `query`：用于过滤警报的查询
- `index`：索引模式

## 示例用法

使用 MCP CLI 工具：


> tools
可用工具：
- searchAlerts: 在 Wazuh 数据中搜索安全警报
- getAlertDetails: 通过 ID 获取特定警报的详细信息
- alertStatistics: 获取关于安全警报的统计信息
- visualizeAlertTrend: 随时间可视化警报趋势

> tools.searchAlerts(query: "rule.level:>10", timeRange: "12h", maxResults: 5)


## 与客户端一起使用

要将此 MCP 服务器与客户端实现一起使用：

javascript
import { Client } from "@modelcontextprotocol/sdk";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const client = new Client(
  {
    name: "example-client",
    version: "1.0.0",
  },
  {
    capabilities: {},
  },
);

const transport = new SSEClientTransport(new URL(`http://localhost:3000/sse`));

await client.connect(transport);

// 使用工具
const result = await client.executeTool("searchAlerts", {
  query: "rule.level:>10",
  timeRange: "24h",
  maxResults: 10
});

console.log(result);


## 许可证

MIT

