关于 MCP Server for Splunk
MCP Server for Splunk 是以 Go 编写的 Splunk MCP 服务,适合需要在 MCP 客户端中查询 Splunk 数据的用户。它提供保存的搜索、告警、索引和宏查询,并支持 STDIO 与 SSE。
主要功能
- 01列出保存的搜索
- 02查询告警与已触发告警
- 03列出 Splunk 索引和宏
- 04支持 STDIO 与 SSE 传输
- 05提供告警检索提示词和 CSV 资源
适用场景
- 01在客户端查看 Splunk 保存的搜索
- 02按标题或搜索名筛选告警
- 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 安装
Dockerfile 和 smithery.yaml 用于支持在 [Smithery](https://smithery.ai/server/@jkosik/ 上托管此 MCP 服务。
经 MCP Review 认证:https://mcpreview.com/mcp-servers/jkosik/mcp-server-splunk
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。