Splunk MCP服务器
一个模型上下文协议(MCP)服务器,使AI助手能够通过内置的安全护栏安全地搜索、分析和验证Splunk查询。
概述
Splunk MCP Server为AI助手(如Claude、GitHub Copilot等)提供了一个标准化的接口,用于与Splunk Enterprise或Splunk Cloud进行交互。它实现了 模型上下文协议,允许AI工具和Splunk数据之间的无缝集成。
主要特点
- 智能搜索集成:使用多种输出格式(JSON、Markdown、CSV、摘要)执行SPL查询
- 内置安全护栏:自动验证以防止破坏性或资源密集型查询
- 数据保护:自动清理敏感数据(信用卡、SSN)
- 双重运输支持:SSE(服务器发送事件)和stdio传输
- 丰富的Splunk功能:访问索引、保存的搜索和执行复杂查询
- Docker就绪:两种实现的容器化部署选项
什么是MCP?
模型上下文协议(MCP)是一个开放标准,可实现AI助手和外部数据源之间的无缝集成。它提供:
- 标准化沟通:AI助手与外部工具交互的通用协议
- 安全:内置身份验证和授权机制
- 灵活性:支持各种传输机制(stdio、SSE、WebSocket)
- 工具发现:助理可以发现可用的工具及其功能
可用实现
此项目提供了两个功能完整的实现:
Python实现
- 采用FastMCP框架构建,简化开发
- 异步/等待架构,实现高效性能
- 包括全面的测试套件和交互式工具
- Docker支持管理脚本
TypeScript实现
- TypeScript的完全类型安全
- 基于官方MCP SDK构建
- 与Node.js 18兼容+
- 生产就绪,已编译JavaScript输出
快速开始
选择您的首选实施方式:
Python快速入门
cd python
cp .env.example .env
# Edit .env with your Splunk credentials
pip install -e .
python server.pyTypeScript快速入门
cd typescript
cp .env.example .env
# Edit .env with your Splunk credentials
npm install
npm start核心能力
可用工具
validate_spl-在执行之前验证SPL查询的风险search_oneshot-执行带有即时结果的阻止搜索search_export-高效地流式传输大型结果集get_indexes-列出包含元数据的可用Splunk索引get_saved_searches-访问已保存的搜索配置run_saved_search-执行预先配置的已保存搜索get_config-检索服务器配置
安全功能
该服务器包括智能护栏,以保护您的Splunk环境:
- 风险评分:对查询进行分析并分配风险评分(0-100)
- 可配置阈值:设置自己的风险承受水平
- 查询阻止:危险查询在执行前被阻止
- 性能保护:检测资源密集型模式
- 审计跟踪:所有查询都经过验证并记录
支持的客户
建筑
这两种实现都遵循相同的架构:
┌─────────────┐ MCP Protocol ┌─────────────┐ REST API ┌──────────┐
│ AI Assistant│ ◄─────────────────► │ MCP Server │ ◄─────────────► │ Splunk │
│ (Client) │ stdio/SSE/WS │ (This Repo) │ Port 8089 │ Instance │
└─────────────┘ └─────────────┘ └──────────┘安全考虑
- 凭证:安全存放在
.env文件(从不提交版本控制) - 网络:将SSL/TLS用于生产部署
- 权限:对Splunk帐户应用最小特权原则
- 验证:所有查询在执行前都经过验证
- 消毒:输出中会自动屏蔽敏感数据
项目结构
splunk-mcp-server/
├── README.md # This file
├── LICENSE # MIT License
├── python/ # Python implementation
│ ├── README.md # Detailed Python documentation
│ ├── server.py # Main server implementation
│ ├── guardrails.py # Query validation logic
│ └── tests/ # Test suite and tools
└── typescript/ # TypeScript implementation
├── README.md # Detailed TypeScript documentation
├── server.ts # Main server implementation
├── guardrails.ts # Query validation logic
└── tests/ # Test scripts贡献
我们欢迎捐款!有关开发设置和指南,请参阅特定于实现的README文件。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
- 问题:
- 讨论:
- MCP文件: 模型上下文协议.io
- Splunk REST API: Splunk文档
______________________________________________________________________
选择上面的首选实现,开始了解详细的设置说明、配置选项和使用示例。
