splunk-mcp

dd-Splunk/splunk-mcp

3.2

If you are the rightful owner of splunk-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Model Context Protocol (MCP) Server is a specialized server designed to facilitate the integration of machine learning models with various applications, providing a standardized protocol for model interaction and management.

Splunk MCP Server - PoC Environment

PoC for integrating Splunk MCP (Model Context Protocol) Server with Claude Desktop.

Docker Splunk 10.0 MCP 0.2.4

Overview

This setup provides a complete PoC environment for Splunk MCP integration:

ComponentDetails
Splunk EnterpriseStandalone instance (so1) with MCP v0.2.4
AuthenticationUser dd with mcp_user role + JWT token
Claude IntegrationAutomated Claude Desktop configuration
Secrets Management1Password CLI integration

Quick Start

Prerequisites

  • ✅ Docker Desktop running
  • ✅ 1Password CLI (op) installed and logged in
  • ✅ Make utility (macOS/Linux)

Setup (< 5 minutes)

# 1. Initialize environment (injects secrets from 1Password)
make init

# 2. Start Splunk and MCP server
make up

# 3. Update Claude Desktop with token
make claude-update

# 4. Restart Claude Desktop to activate MCP connection

Verify Setup

# Check Splunk is running
curl -k https://localhost:8089/services/server/info -u admin:$SPLUNK_PASSWORD

# View Claude MCP config
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | jq '.mcpServers'

Key Commands

CommandPurpose
make helpShow all available commands
make initCreate .env with 1Password secrets
make upStart containers + auto-configure Claude
make downStop containers
make logsView real-time logs
make statusCheck Splunk readiness
make cleanDelete all volumes (careful!)

Architecture

┌─────────────────────────────────────────┐
│     Claude Desktop                      │
│  (with MCP configuration)               │
└────────────┬────────────────────────────┘
             │ Bearer Token Auth
┌─────────────────────────────────────────┐
│  Splunk MCP Server (Port 8089)          │
│  ├─ User: dd                            │
│  ├─ Role: mcp_user                      │
│  └─ SSL: Disabled (dev)                 │
└─────────────────────────────────────────┘

Configuration Files

FilePurposeDetails
ConfigConfig detailsMounted
default.ymlConfigMounted in container
tpl.envEnvironment templateGit-safe template for .env
.envSecret credentialsGit-ignored - created by make init
MakefileBuild automationTargets for setup, start, token management

File Structure

splunk-mcp/
├── docs/                    # Detailed documentation
│   ├── QUICK_START.md      # 5-minute reference
│   ├── INSTALLATION.md     # Step-by-step setup
│   ├── ARCHITECTURE.md     # System design details
│   ├── DEVELOPER_GUIDE.md  # Development workflow
│   ├── API_REFERENCE.md    # REST endpoints
│   └── TROUBLESHOOTING.md  # Problem solving
├── scripts/                 # Automation scripts
│   ├── setup-splunk-user.sh        # Container init
│   └── update-claude-config.sh     # Claude config update
├── .secrets/               # Token storage (600 permissions)
├── compose.yml            # Docker Compose config
├── Makefile               # Build automation
├── default.yml            # Splunk configuration
├── tpl.env                # Environment template
└── README.md              # This file

Security Notes

⚠️ Development Only

  • SSL verification disabled locally (NODE_TLS_REJECT_UNAUTHORIZED=0)
  • Self-signed certificates used in Splunk
  • All tokens have 15-day expiry
  • Token file (.secrets/splunk-token) has 600 permissions

1Password Setup

Before running make init, ensure these credentials exist in 1Password:

Vault: Private
├── Splunk-MCP-PoC
│   └── password: [your_admin_password]
└── Splunkbase
    ├── username: [your_splunkbase_email]
    └── password: [your_splunkbase_token]

Splunkbase credentials are required to download the MCP Server app.

Access Information

ServiceURLCredentials
Splunk UIhttps://localhost:8089admin / $SPLUNK_PASSWORD
MCP Endpointhttps://localhost:8089/services/mcpUser dd / Token
Claude DesktopNative appAuto-configured
Claude LogsIndex: claude_logsAutomatically indexed

Common Tasks

View Real-Time Logs

make logs

Regenerate Token

# Token is auto-saved to .secrets/splunk-token
# To update Claude config with new token:
make claude-update

Restart Splunk

make restart

Clean Start

make clean && make init && make up

Troubleshooting

Splunk Won't Start?

# Check Docker status
docker ps -a

# View logs
make logs

# For detailed help, see docs/TROUBLESHOOTING.md

Claude MCP Connection Failed?

  1. Verify Claude config: cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
  2. Check token is saved: cat .secrets/splunk-token
  3. Restart Claude Desktop after running make claude-update

1Password Issues?

# Verify 1Password CLI works
op vault list

# Make init should create .env
make init

Documentation

Detailed documentation is available in the docs/ directory:

DocumentPurposeAudience
5-minute referenceEveryone
Detailed setupFirst-time users
System designDevelopers
REST endpointsAPI users
DevelopmentDevelopers
Problem solvingWhen stuck

Choose your path:

  • 🚀 New to this? (5 min)
  • 🔧 Want details?
  • 🏗️ Understanding design?
  • 🐛 Something broken?
  • 💻 Extending it?

Environment Variables

Set automatically by make init from 1Password:

SPLUNK_HOST=localhost
SPLUNK_PORT=8089
SPLUNK_USER=admin
SPLUNK_PASSWORD=<from_1password>
SPLUNKBASE_USERNAME=<from_1password>
SPLUNKBASE_PASSWORD=<from_1password>

Version Information

ComponentVersion
Splunk Enterprise10.0
MCP Server App0.2.4
Docker ComposeLatest
Alpine LinuxLatest

Next Steps

  1. ✅ Run make init && make up
  2. ✅ Run make claude-update
  3. ✅ Restart Claude Desktop
  4. ✅ Start using Splunk tools in Claude!

Support

Need help? Check these in order:

  1. This README's troubleshooting section
  2. for common tasks
  3. Related documentation in docs/ directory

Last Updated: November 2025
Status: ✅ Production Ready PoC
Documentation: Complete and consolidated