因果关系mcp
causality-mcp 是一个Rust工作区,为Claude Desktop提供本地MCP服务器,以及其背后的摄入+因果分析引擎。
它是为“无检测”诊断而设计的:摄取您已经拥有的日志(本地文件或Docker容器),然后让Claude解释根本原因和因果关系。
存储库布局
crates/:Rust工作区板条箱(可重用库+MCP服务器二进制文件)docs/:面向用户的指南和复制/粘贴提示包docker/test-server/:Docker夹具和远程日志镜像容器配方.github/:CI/CD发布工作流和GitHub模板causality.toml:MCP服务器使用的默认配置
需求
- Rust 1.94(固定通孔
rust-toolchain.toml) - Docker桌面(可选,但建议用于容器日志工作流)
添加到克劳德桌面(2种方式)
您可以通过从crates.io安装(推荐给最终用户)或运行本地构建的 .exe.
选项1:从crates.io安装
安装二进制文件:
cargo install causality-mcp-server然后配置Claude Desktop以运行已安装的可执行文件:
{
"mcpServers": {
"causality-mcp": {
"command": "causality-mcp",
"args": [
"--config",
"D:\\\\path\\\\to\\\\causality.toml",
"--log-level",
"info"
],
"env": {
"LOG_CAUSALITY_DOCKER_CMD": "C:\\\\Program Files\\\\Docker\\\\Docker\\\\resources\\\\bin\\\\docker.exe"
}
}
}
}选项2:构建并运行 .exe
从源代码构建:
cargo build --release -p causality-mcp-serverWindows输出:
target/release/causality-mcp.exe
Claude桌面配置:
{
"mcpServers": {
"causality-mcp": {
"command": "D:\\\\path\\\\to\\\\target\\\\release\\\\causality-mcp.exe",
"args": [
"--config",
"D:\\\\path\\\\to\\\\causality.toml",
"--log-level",
"info"
],
"env": {
"LOG_CAUSALITY_DOCKER_CMD": "C:\\\\Program Files\\\\Docker\\\\Docker\\\\resources\\\\bin\\\\docker.exe"
}
}
}
}编辑后重新启动Claude Desktop claude_desktop_config.json.
MCP工具(当前)
MCP服务器目前记录了Docker优先工作流(计划/即将推出直接SSH摄入提示)。
工具:
discover_docker_logsingest_logs
- 当地: source 通配符 - Docker: docker_container + docker_path
find_root_causetrace_requestcorrelate_servicesexport_timeline(markdown,csv,html)
例子
在容器中发现可能的日志文件:
{
"name": "discover_docker_logs",
"arguments": {
"docker_container": "my-container",
"roots": ["/var/log", "/app/logs", "/logs"],
"limit": 200
}
}摄入集装箱日志:
{
"name": "ingest_logs",
"arguments": {
"docker_container": "my-container",
"docker_path": "/var/log/app/*.log",
"format": "auto"
}
}摄取本地文件日志:
{
"name": "ingest_logs",
"arguments": {
"source": "D:/logs/myapp/**/*.log",
"format": "auto"
}
}查找根本原因:
{
"name": "find_root_cause",
"arguments": {
"error_pattern": "error|exception|panic|failed|timeout|5\\\\d\\\\d",
"window_secs": 300,
"max_candidates": 10
}
}导出HTML时间线:
{
"name": "export_timeline",
"arguments": {
"trace_id": "t2",
"format": "html"
}
}远程服务器日志(Docker镜像)
如果你想分析远程服务器上的日志,而不想在该服务器上运行MCP服务器,请使用Docker“镜像”容器:
它连接到您的服务器并将所选日志文件镜像到 /var/log/remote 在容器内。然后你摄入 /var/log/remote/*.log 使用Docker工具。
这里没有记录直接SSH摄入工具(计划/即将推出)。
文档
- 板条箱概述: 板条箱/README.md
- 提示套件: docs/CLAUDE_PROMPT_PACK.md
- 技能手册: docs/SKILLS.md
- 快速技能建议: docs/PROMPT_SKILL_SUGGESTIONS.md
- Docker测试服务器:
