返回市场
Splunk用MCP服务器

Splunk用MCP服务器

作者:deslicer16 星标更新:2025-11-13

项目介绍

<div style="display: flex; justify-content: space-between; align-items: flex-start; width: 100%; padding: 1em 0;"> <!-- Logo --> <div> <img align="left" src="media/deslicer_white.svg" alt="Deslicer" width="200"> </div> </div>

Splunk用的MCP服务器

FastMCP Python Docker MCP 测试通过 社区驱动 许可证

启用AI代理通过模型上下文协议(MCP)与Splunk环境无缝交互

将您的Splunk实例转变为AI原生平台。我们的社区驱动型MCP服务器连接大型语言模型和Splunk企业/云,提供超过20种工具、16种资源(包括CIM数据模型),以及生产就绪的安全性——所有这些都通过单一标准化协议实现。

🌟 为什么这很重要

  • 🔌 普遍的AI连接:一种协议连接任何AI到Splunk数据
  • ⚡ 零定制集成:无需数月的自定义API开发
  • 🛡️ 生产就绪安全性:客户端范围访问,无凭据暴露
  • 🤖 AI驱动的工作流:像专家一样工作的智能故障排除代理
  • 🤝 社区驱动:可扩展框架,附带贡献示例

🚀 新功能:AI驱动的故障排除工作流 - 将被动的灭火行动转变为智能、系统的问题解决方法,使用专业AI工作流。

📋 目录

<a name="快速开始"></a>

🚀 快速开始

<a name="先决条件"></a>

先决条件

  • Python 3.10+ 和 UV 包管理器
  • Nodejs(可选用于mcp检查器)
  • Docker(可选但推荐用于全栈)
  • 具有API访问权限的Splunk实例(或使用包含的Docker Splunk)

📖 完整安装指南安装指南

<a name="配置"></a>

配置

在运行设置之前,请配置您的Splunk连接:

# 复制示例配置
cp env.example .env

# 使用您的Splunk凭据编辑.env文件
# - 使用现有的Splunk实例(本地、云端或Splunk Cloud)
# - 或者使用包含的Docker Splunk(需要Docker)

# 可选的HTTP传输默认值(本地运行)
# - 无状态HTTP避免了粘性会话需求
# - JSON响应提高了与某些客户端的兼容性
# 这些已经是本地运行的默认设置,通过`mcp-server --local`
echo "MCP_STATELESS_HTTP=true" >> .env
echo "MCP_JSON_RESPONSE=true" >> .env

<a name="一键设置"></a>

一键设置

Windows:

git clone https://github.com/deslicer/mcp-for-splunk.git
cd mcp-for-splunk

```python
# 启动MCP服务器(项目脚本)
uv run mcp-server --local --detached

# 验证服务器
uv run mcp-server --test
# 可选:显示详细的工具/资源和健康输出
uv run mcp-server --test --detailed

macOS/Linux:

git clone https://github.com/deslicer/mcp-for-splunk.git
cd mcp-for-splunk

# (推荐)预览将要安装的内容
./scripts/smart-install.sh --dry-run

# 安装缺失的先决条件(基础:Python,uv,Git,Node)
./scripts/smart-install.sh

# 启动MCP服务器(项目脚本)
# 本地运行默认为HTTP无状态模式 + JSON响应
uv run mcp-server --local --detached

# 验证服务器
uv run mcp-server --test
# 可选:显示详细的工具/资源和健康输出
uv run mcp-server --test --detailed

💡 部署选项mcp-server命令将提示您选择:

  • Docker(选项1):完整的堆栈,包括Splunk、Traefik、MCP检查器——如果已安装Docker,则推荐此选项
  • 本地(选项2):轻量级的FastMCP服务器——适用于没有Docker的用户

停止服务:

  • uv run mcp-server --stop仅停止该项目的compose服务(开发/生产/Splunk)。它不会停止Docker引擎。

关于Splunk许可:当使用so1 Splunk容器时,如果您需要Splunk企业许可,必须提供自己的许可。compose文件中包含一个注释的示例挂载: # - ./lic/splunk.lic:/tmp/license/splunk.lic:ro。创建一个lic/目录并挂载您的许可文件,或者在启动后通过Splunk Web UI添加许可。

<a name="您可以做什么"></a>

🎯 您可以做什么

<a name="ai驱动的故障排除-new"></a>

🤖 AI驱动的故障排除(新功能!)

将您的Splunk故障排除从手动程序转变为智能、自动化的流程,使用MCP服务器端点:

# 发现并执行智能故障排除工作流
result = await list_workflows.execute(ctx, format_type="summary")
# 返回:缺少数据故障排除、性能分析、自定义工作流...

# 使用单个命令执行AI驱动的故障排除
result = await workflow_runner.execute(
    ctx=ctx,
    workflow_id="missing_data_troubleshooting",
    earliest_time="-24h",
    latest_time="now",
    focus_index="main"
)
# → 并行执行,专家分析,可操作建议

🚀 主要优点:

  • 🧠 自然语言界面:“故障排除丢失的数据”→自动化工作流执行
  • ⚡ 并行处理:多个诊断任务同时运行以加快解决速度
  • 🔧 自定义工作流:构建组织特定的故障排除程序
  • 📊 智能分析:AI代理遵循经过验证的Splunk最佳实践

📖 阅读完整的AI工作流指南 → 以获取详细示例、工作流创建和高级故障排除技巧。

<a name="文档中心"></a>

📚 文档中心

文档目的对象时间
🤖 AI驱动的故障排除由工作流工具驱动的智能工作流所有用户5分钟
入门指南完整的设置指南,包括先决条件新用户15分钟
集成指南连接AI客户端开发人员30分钟
部署指南生产部署DevOps45分钟
工作流指南创建和运行工作流(OpenAI环境变量)开发人员1_0分钟
API参考工具文档集成人员参考
资源参考访问CIM数据模型和Splunk文档所有用户参考
贡献指南添加您自己的工具贡献者60分钟
📖 贡献指南完整的贡献框架贡献者15分钟
架构技术深入架构师参考
测试快速开始第一次成功测试步骤开发人员2分钟
插件使用入口点插件扩展(单独包)集成人员5分钟

<a name="可用工具--能力"></a>

🔧 可用工具及能力

<a name="ai工作流--专家-new"></a>

🤖 AI工作流及专家(新功能!)

  • list_workflows:发现可用的故障排除工作流(核心 + 贡献)
  • workflow_runner:执行任何工作流,具有完全参数控制和进度跟踪
  • workflow_builder:为您的组织创建自定义故障排除程序
  • 内置工作流:缺少数据故障排除、性能分析等
  • 📖 完整的工作流指南 →

<a name="搜索--分析"></a>

🔍 搜索及分析

  • 智能搜索:自然语言到SPL转换
  • 实时搜索:后台作业管理,带有进度跟踪
  • 保存的搜索:创建、执行和管理搜索自动化

<a name="数据发现"></a>

📊 数据发现

  • 元数据探索:发现索引、来源和源类型
  • 模式分析:了解您的数据结构
  • 使用模式:识别数据量和访问模式

<a name="管理"></a>

👥 管理

  • 应用程序管理:列出、启用、禁用Splunk应用程序
  • 用户管理:全面的用户和角色管理
  • 配置访问:读取和分析Splunk配置

<a name="健康监控"></a>

🏥 健康监控

  • 系统健康:监控Splunk基础设施状态
  • 降级特征检测:主动问题识别
  • 警报管理:跟踪和分析触发的警报

<a name="客户端集成示例"></a>

🌐 客户端集成示例

💪 多客户端配置强度:此Splunk用的MCP服务器的一个关键优势是能够同时支持多种客户端配置。您可以运行一个服务器实例,并连接具有不同Splunk环境、凭据和配置的多个客户端——所有这些都不需要重启服务器或管理单独的过程。

<a name="多客户端优势"></a>

🔄 多客户端优势

基于会话的隔离:每个客户端连接维护其自己的Splunk会话,具有独立的身份验证,防止不同用户或环境之间的凭据冲突。

动态配置:通过简单地更改标头,在不同的Splunk实例(本地、云端、开发、生产)之间切换——无需重启服务器。

可扩展架构:单个服务器可以处理多个并发客户端,每个客户端都有自己的Splunk上下文,使其非常适合团队环境、CI/CD管道和多租户部署。

资源效率:消除了为每个Splunk环境运行单独的MCP服务器实例的需求,减少了资源消耗和管理开销。

<a name="cursor-ide"></a>

Cursor IDE

单租户

{
  "mcpServers": {
    "splunk": {
      "command": "fastmcp",
      "args": ["run", "/path/to/src/server.py"],
      "env": {
        "MCP_SPLUNK_HOST": "your-splunk.com",
        "MCP_SPLUNK_USERNAME": "your-user"
      }
    }
  }
}

客户端指定租户

{
    "mcpServers": {
      "splunk-in-docker": {
        "url": "http://localhost:8002/mcp/",
        "headers": {
          "X-Splunk-Host": "so1",
          "X-Splunk-Port": "8089",
          "X-Splunk-Username": "admin",
          "X-Splunk-Password": "Chang3d!",
          "X-Splunk-Scheme": "http",
          "X-Splunk-Verify-SSL": "false",
          "X-Session-ID": "splunk-in-docker-session"
        }
    },
        "splunk-cloud-instance": {
        "url": "http://localhost:8002/mcp/",
        "headers": {
          "X-Splunk-Host": "myorg.splunkcloud.com",
          "X-Splunk-Port": "8089",
          "X-Splunk-Username": "admin@myorg.com",
          "X-Splunk-Password": "Chang3d!Cloud",
          "X-Splunk-Scheme": "https",
          "X-Splunk-Verify-SSL": "true",
          "X-Session-ID": "splunk-cloud-session"
        }
    }
  }
}

<a name="google-agent-development-kit"></a>

Google Agent Development Kit

from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset

splunk_agent = LlmAgent(
    model='gemini-2.0-flash',
    tools=[MCPToolset(connection_params=StdioServerParameters(
        command='fastmcp',
        args=['run', '/path/to/src/server.py']
    ))]
)

<a name="社区--贡献"></a>

🤝 社区及贡献

快速链接:贡献指南 · 行为准则 · 安全政策 · 治理 · 许可证

<a name="创建您自己的工具--扩展"></a>

🛠️ 创建您自己的工具及扩展

🚀 贡献者的快速开始:

# 交互式工具生成器(项目脚本)
uv run generate-tool

# 浏览现有工具以获得灵感
./contrib/scripts/list_tools.py

# 验证您的工具实现(项目脚本)
uv run validate-tools

# 测试您的贡献
./contrib/scripts/test_contrib.py

📖 完整的贡献指南 → —— 您需要知道的一切关于为Splunk用的MCP服务器创建工具、资源和工作流。

<a name="贡献类别"></a>

贡献类别

  • 🛡️ 安全工具:威胁狩猎、事件响应、安全分析
  • ⚙️ DevOps工具:监控、告警、运营、SRE工作流
  • 📈 分析工具:商业智能、报告、数据分析
  • 💡 示例工具:学习模板和模式,供新贡献者使用
  • 🔧 自定义工作流:为您的组织创建AI驱动的故障排除程序

<a name="部署选项"></a>

🚀 部署选项

<a name="开发-local"></a>

开发(本地)

  • 启动时间:约10秒
  • 资源使用:最小(单个Python进程)
  • 最适合:开发、测试、基于stdio的AI客户端
  • HTTP默认设置:本地运行默认启用MCP_STATELESS_HTTP=trueMCP_JSON_RESPONSE=true,以与官方MCP客户端兼容(无粘性会话;JSON优于SSE)。
    • 终端:http://localhost:8003/mcp/
    • 所需客户端标头:
      • Accept: application/json, text/event-stream
      • MCP-Session-ID: <uuid>(首选;X-Session-ID可选)
      • X-Splunk-*标头(主机、端口、用户名、密码、方案、验证SSL)或通过.env设置

<a name="生产-docker"></a>

生产(Docker)

  • 特性:负载均衡、健康检查、监控
  • 包含:Traefik、MCP检查器、可选Splunk
  • **最适合