项目简介
Splat是一个受GlitchTip启发而开发的轻量级错误追踪和性能监控服务。它兼容Sentry客户端SDK,可以作为Sentry的替代方案,接收应用程序的错误事件和交易数据,并提供一个简洁快速的Web界面进行查看。其核心亮点在于集成了MCP(Model Context Protocol)服务器,允许大型语言模型(LLM)客户端(如Claude)通过标准化的JSON-RPC协议查询和管理应用程序的错误和性能数据,从而实现更智能的LLM辅助开发和运维。
主要功能点
- Sentry协议兼容: 可直接替代Sentry客户端SDK,接收错误事件和性能交易数据。
- 轻量级设计: 基于Rails和SQLite,依赖少,易于部署和理解。
- 快速数据摄取: 错误和交易数据秒级显示在UI中。
- 性能监控: 支持交易数据和轻量级指标,提供P95、P99等性能统计。
- MCP集成: 通过JSON-RPC API向AI助手暴露错误追踪和性能监控工具。
- 数据自动清理: 可配置数据保留策略,自动清理旧数据。
- 邮件通知: 发生新错误或错误被重新打开时发送邮件通知。
- 健康检查: 提供'/_health'端点监控服务状态和队列深度。
安装步骤
- 克隆仓库: 'git clone https://github.com/dkam/splat.git && cd splat'
- 安装依赖: 确保您的系统已安装Ruby 3.4.6+、Rails 8+和SQLite3。然后运行'bundle install'安装项目所需的Ruby Gems。
- 准备数据库: 运行'bin/rails db:prepare'来创建和迁移数据库。
- 启动开发服务器: 运行'bin/dev'启动Splat服务。
- 配置MCP认证令牌: 生成一个安全的十六进制令牌,并将其设置为环境变量'MCP_AUTH_TOKEN'。例如,在'.env'文件中添加'MCP_AUTH_TOKEN=你的生成令牌'。
MCP服务器配置
MCP服务器会运行在您部署Splat服务的相同主机和端口上,默认是'http://localhost:3030/mcp'。MCP客户端(如Claude Desktop或Claude Code扩展)需要配置此服务的URL和认证信息。
- MCP服务器地址: 'http://<您的Splat服务主机或IP>:3030/mcp'
- 认证令牌: 配置环境变量'MCP_AUTH_TOKEN'为您生成的一个安全令牌(例如,使用'openssl rand -hex 32'或'ruby -r securerandom -e 'puts SecureRandom.hex(32)''生成)。客户端将使用此令牌进行认证。
MCP客户端配置示例 (JSON格式,非代码,请根据您的客户端类型进行配置):
{ "mcpServers": { "splat": { // 对于通过HTTP连接的客户端(如Claude Code VS Code扩展) "url": "http://localhost:3030/mcp", // 根据您的Splat部署地址修改 "transport": { "type": "http", "headers": { "Authorization": "Bearer YOUR_GENERATED_TOKEN_HERE" // 替换为您的MCP_AUTH_TOKEN } } }, "splat-stdio-proxy": { // 对于不支持HTTP直连但支持Stdio的客户端(如Claude Desktop) // 您需要一个代理脚本。例如,在Linux/macOS上创建一个'~/splat-mcp-proxy.sh'文件: // #!/bin/bash // while IFS= read -r line; do // echo "$line" | curl -s -X POST http://localhost:3030/mcp \ // -H "Content-Type: application/json" \ // -H "Authorization: Bearer YOUR_GENERATED_TOKEN_HERE" \ // -d @- // done // 并确保脚本有执行权限:'chmod +x ~/splat-mcp-proxy.sh' // 然后在Claude Desktop配置中指定此脚本路径: "command": "/Users/YOUR_USERNAME/splat-mcp-proxy.sh", // 替换为您的脚本路径 "transport": { "type": "stdio" } } } }
请注意,Claude Desktop需要一个Shell脚本作为代理来将Stdio请求转换为HTTP请求,并在脚本中硬编码您的'MCP_AUTH_TOKEN'。Claude Code扩展可以直接配置HTTP URL和认证头。
基本使用方法
一旦Splat MCP服务器配置并运行,并且您的AI助手客户端也正确配置了Splat MCP服务器:
- 查询最新错误: 询问AI助手“List recent open issues in Splat”(列出Splat中最近未解决的问题)。
- 搜索特定错误: 询问AI助手“Search for NoMethodError issues in production”(搜索生产环境中的NoMethodError问题)。
- 获取性能统计: 询问AI助手“Show me performance stats for the last 24 hours”(显示过去24小时的性能统计)。
- 查找慢请求: 询问AI助手“Find slow POST requests”(查找慢速的POST请求)。
- 获取事件详情: 询问AI助手“Get event abc-123-def with full context and request ID”(获取事件abc-123-def的完整上下文和请求ID)。
- 管理问题状态: 询问AI助手“Resolve issue 123”(解决问题123)、“Ignore issue 456”(忽略问题456)或“Reopen issue 789”(重新打开问题789)。
信息
分类
开发者工具