MCP Server for Splunk について
MCP Server for Splunkは、MCPクライアントからSplunkデータを利用するためのGo製MCPサーバーです。保存済み検索、アラート、インデックス、マクロを照会でき、STDIOとSSEに対応します。
主な機能
- 01保存済み検索の一覧表示
- 02アラートと発火済みアラートの照会
- 03Splunkインデックスとマクロの一覧表示
- 04STDIOとSSEのトランスポート対応
- 05アラート検索用プロンプトとCSVリソース
活用シーン
- 01クライアントでSplunkの保存済み検索を確認
- 02タイトルや検索名でアラートを絞り込み
- 03Splunkのアラートやインデックス情報を会話に追加
MCP 対応
MCPサーバーは、Splunkの検索、アラート、インデックス、マクロを照会するツールに加え、アラート検索用プロンプトとローカルCSVリソースを提供します。STDIOまたはSSEで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Splunk 用 MCP サーバー
Splunk 用 MCP サーバーの Go 実装です。 STDIO と SSE(Server-Sent Events HTTP API)をサポートしています。github.com/mark3labs/mcp-go SDK を使用しています。
クイックスタート - Cursor との連携
Cursor で MCP 設定を行うと、リモートデータを LLM コンテキストに直接含めることができます。

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は、特定のキーワード(例:GitHub や OKTA)に関連する Splunk アラートを見つける MCP プロンプトを実装しており、最適な回答を提供するために、まず複数の MCP ツールを活用してすべての Splunk アラート、インデックス、マクロを確認するよう Cursor に指示します。 -
cmd/mcp/server/main.goは、チャットに追加のコンテキストを提供するため、Splunk 関連の内容を含むローカル CSV ファイル形式の MCP リソースを実装しています。
ローカルでの使用とテスト
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。