mcpField
M
MCP Server for Splunk

MCP Server for Splunk

本地服务
github.com/jkosik数据与分析739 周前更新

关于 MCP Server for Splunk

MCP Server for Splunk 是以 Go 编写的 Splunk MCP 服务,适合需要在 MCP 客户端中查询 Splunk 数据的用户。它提供保存的搜索、告警、索引和宏查询,并支持 STDIO 与 SSE。

主要功能

  1. 01列出保存的搜索
  2. 02查询告警与已触发告警
  3. 03列出 Splunk 索引和宏
  4. 04支持 STDIO 与 SSE 传输
  5. 05提供告警检索提示词和 CSV 资源

适用场景

  1. 01在客户端查看 Splunk 保存的搜索
  2. 02按标题或搜索名筛选告警
  3. 03将 Splunk 告警与索引信息纳入对话

MCP 相关

该 MCP 服务向客户端公开 Splunk 搜索、告警、索引和宏查询工具,并提供用于告警检索的提示词及本地 CSV 资源。可通过 STDIO 或 SSE 连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Splunk MCP 服务

一个用 Go 实现的 Splunk MCP 服务。 支持 STDIO 和 SSE(Server-Sent Events HTTP API)。使用 github.com/mark3labs/mcp-go SDK。

快速入门 - Cursor 集成

通过在 Cursor 中配置 MCP 设置,你可以将远程数据直接纳入大模型上下文。

演示

STDIO 模式
cd /tmp # CHANGE ME
git clone https://github.com/jkosik/mcp-server-splunk.git
cd mcp-server-splunk/cmd/mcp-server-splunk/

更新 ~/.cursor/mcp.json 中的 Cursor 设置:

{
  "mcpServers": {
    "splunk_stdio": {
      "name": "Splunk MCP Server",
      "description": "Splunk MCP server",
      "type": "stdio",
      "command": "/tmp/mcp-server-splunk/cmd/mcp-server-splunk/mcp-server-splunk", # CHANGE ME
      "env": {
        "SPLUNK_URL": "https://changeme.splunkcloud.com:8089", # CHANGE ME
        "SPLUNK_TOKEN": "abcdef" # CHANGE ME
      }
    }
  }
}

或者先重新构建服务:

go build -o cmd/mcp-server-splunk/mcp-server-splunk cmd/mcp-server-splunk/main.go
SSE 模式

启动服务:

export SPLUNK_URL=https://your-splunk-instance:8089
export SPLUNK_TOKEN=your-splunk-token

# Start the server
go run cmd/mcp-server-splunk/main.go -transport sse -port 3001

更新 ~/.cursor/mcp.json 中的 Cursor 设置:

{
  "mcpServers": {
    "splunk_sse": {
      "name": "Splunk MCP Server (SSE)",
      "description": "MCP server for Splunk integration (SSE mode)",
      "type": "sse",
      "url": "http://localhost:3001/sse"
    }
  }
}

MCP 工具和提示词

  • list_splunk_saved_searches

    • 参数:
      • count(number,可选):要返回的结果数(最多 100,默认 100)
      • offset(number,可选):分页偏移量(默认 0)
  • list_splunk_alerts

    • 参数:
      • count(number,可选):要返回的结果数(最多 100,默认 10)
      • offset(number,可选):分页偏移量(默认 0)
      • title(string,可选):用于筛选警报标题的、不区分大小写的子字符串
  • list_splunk_fired_alerts

    • 参数:
      • count(number,可选):要返回的结果数(最多 100,默认 10)
      • offset(number,可选):分页偏移量(默认 0)
      • ss_name(string,可选):用于筛选警报的搜索名称模式(默认 "*")
      • earliest(string,可选):回溯时间范围(默认 "-24h")
  • list_splunk_indexes

    • 参数:
      • count(number,可选):要返回的结果数(最多 100,默认 10)
      • offset(number,可选):分页偏移量(默认 0)
  • list_splunk_macros

    • 参数:
      • count(number,可选):要返回的结果数(最多 100,默认 10)
      • offset(number,可选):分页偏移量(默认 0)
  • internal/splunk/prompt.go 实现了一个 MCP 提示词,用于查找特定关键词(例如 GitHub 或 OKTA)对应的 Splunk 警报,并指示 Cursor 先利用多个 MCP 工具查看所有 Splunk 警报、索引和宏,以提供最佳答案。

  • cmd/mcp/server/main.go 将 MCP 资源实现为包含 Splunk 相关内容的本地 CSV 文件,为聊天提供更多上下文。

本地使用和测试

STDIO 模式(默认)
export SPLUNK_URL=https://your-splunk-instance:8089
export SPLUNK_TOKEN=your-splunk-token

# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | go run cmd/mcp-server-splunk/main.go | jq

# Call list_splunk_saved_searches tool
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_splunk_saved_searches","arguments":{}}}' | go run cmd/mcp-server-splunk/main.go | jq
SSE 模式(Server-Sent Events HTTP API)
export SPLUNK_URL=https://your-splunk-instance:8089
export SPLUNK_TOKEN=your-splunk-token

# Start the server
go run cmd/mcp-server-splunk/main.go -transport sse -port 3001

# Call the server and get Session ID from the output. Do not terminate the session.
curl http://localhost:3001/sse

# Keep session running and and use different terminal window for the final MCP call
curl -X POST "http://localhost:3001/message?sessionId=YOUR_SESSION_ID" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | jq

通过 Smithery 安装

smithery 徽章

Dockerfile 和 smithery.yaml 用于支持在 [Smithery](https://smithery.ai/server/@jkosik/ 上托管此 MCP 服务。

经 MCP Review 认证:https://mcpreview.com/mcp-servers/jkosik/mcp-server-splunk

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。