Metadata-Version: 2.4
Name: kibana-reader-mcp
Version: 0.1.0
Summary: MCP server for reading Kibana pages with DingTalk scan login
Project-URL: Homepage, https://gitee.com/yuyangfan/kibana-reader-mcp
Project-URL: Repository, https://gitee.com/yuyangfan/kibana-reader-mcp
Project-URL: Documentation, https://gitee.com/yuyangfan/kibana-reader-mcp#readme
Author-email: yuyangfan <yuyangfan@example.com>
License-Expression: MIT
License-File: LICENSE
Keywords: elasticsearch,kibana,logs,mcp,model-context-protocol
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: playwright>=1.40.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Kibana Reader MCP

一个用于读取 Kibana 页面内容的 MCP Server，支持钉钉扫码登录。

## 功能

- 读取 Kibana Discover 页面数据
- 读取 Kibana Dashboard 页面数据
- 支持短 URL 自动重定向
- 自动管理 Cookie/Session
- 支持钉钉扫码认证

## 安装

```bash
pip install kibana-reader-mcp
playwright install chromium
```

## 配置

### 方式一：配置文件

创建配置文件 `~/.kibana-reader-mcp/config.json`：

```json
{
    "kibana_base_url": "https://your-kibana.example.com",
    "session_file": "~/.kibana-reader-mcp/session.json",
    "playwright_headless": false,
    "scan_timeout_seconds": 120,
    "default_max_rows": 100
}
```

### 方式二：环境变量

```bash
export KIBANA_BASE_URL="https://your-kibana.example.com"
export PLAYWRIGHT_HEADLESS=false
export SCAN_TIMEOUT_SECONDS=120
```

## 客户端配置

### Claude Desktop

编辑 `~/Library/Application Support/Claude/claude_desktop_config.json`：

```json
{
    "mcpServers": {
        "kibana-reader": {
            "command": "uvx",
            "args": ["kibana-reader-mcp"],
            "env": {
                "KIBANA_BASE_URL": "https://your-kibana.example.com"
            }
        }
    }
}
```

### Claude Code

编辑 `~/.claude/settings.json`：

```json
{
    "mcpServers": {
        "kibana-reader": {
            "command": "uvx",
            "args": ["kibana-reader-mcp"],
            "env": {
                "KIBANA_BASE_URL": "https://your-kibana.example.com"
            }
        }
    }
}
```

### Cursor / Windsurf / Codex

在 MCP 设置中添加服务器配置，格式同上。

## 使用示例

```
AI: 调用 read_kibana_url
参数:
- url: "https://your-kibana/goto/abc123"
- max_rows: 100

返回: Kibana 页面的结构化数据
```

## 认证流程

1. 首次使用时，MCP 会打开浏览器显示钉钉扫码页面
2. 用户扫码登录后，MCP 自动保存 Cookie
3. 后续调用直接使用保存的 Cookie
4. Cookie 过期时自动提示重新扫码

## URL 类型支持

| 类型 | 示例 | 处理方式 |
|------|------|---------|
| 短 URL | `/goto/abc123` | Playwright 重定向 |
| Discover | `/app/kibana#/discover` | API 调用 |
| Dashboard | `/app/kibana#/dashboard` | API 调用 |

## 开发

```bash
# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest
```

## License

MIT