MCP server for Splunk
Project description
MCP Server for Splunk
Enable AI agents to interact seamlessly with Splunk environments through the Model Context Protocol (MCP)
Transform your Splunk instance into an AI-native platform. Our community-driven MCP server bridges Large Language Models and Splunk Enterprise/Cloud with 20+ tools, 16 resources (including CIM data models), and production-ready securityโall through a single, standardized protocol.
๐ Why This Matters
- ๐ Universal AI Connection: One protocol connects any AI to Splunk data
- โก Zero Custom Integration: No more months of custom API development
- ๐ก๏ธ Production-Ready Security: Client-scoped access with no credential exposure
- ๐ค AI-Powered Workflows: Intelligent troubleshooting agents that work like experts
- ๐ค Community-Driven: Extensible framework with contribution examples
๐ NEW: AI-Powered Troubleshooting Workflows - Transform reactive firefighting into intelligent, systematic problem-solving with specialist AI workflows.
๐ Table of Contents
- ๐ Quick Start
- ๐ฏ What You Can Do
- ๐ Documentation Hub
- ๐ง Available Tools & Capabilities
- ๐ Client Integration Examples
- ๐ค Community & Contribution
- ๐ Deployment Options
- ๐ Support & Community
- ๐ Project Stats
- ๐ฏ Ready to Get Started?
๐ Quick Start
Prerequisites
- Python 3.10+ and UV package manager
- Nodejs (optional used for mcp inspector)
- Docker (optional but recommended for full stack)
- Splunk instance with API access (or use included Docker Splunk)
๐ Complete Setup Guide: Installation Guide
Configuration
Before running the setup, configure your Splunk connection:
# Copy the example configuration
cp env.example .env
# Edit .env with your Splunk credentials
# - Use your existing Splunk instance (local, cloud, or Splunk Cloud)
# - OR use the included Docker Splunk (requires Docker)
One-Command Setup
Windows:
git clone https://github.com/deslicer/mcp-for-splunk.git
cd mcp-for-splunk
```python
# Start the MCP Server (project script)
uv run mcp-server --local --detached
# Verify the server
uv run mcp-server --test
# Optional: show detailed tools/resources and health output
uv run mcp-server --test --detailed
macOS/Linux:
git clone https://github.com/deslicer/mcp-for-splunk.git
cd mcp-for-splunk
# (Recommended) Preview what would be installed
./scripts/smart-install.sh --dry-run
# Install missing prerequisites (base: Python, uv, Git, Node)
./scripts/smart-install.sh
# Start the MCP Server (project script)
uv run mcp-server --local --detached
# Verify the server
uv run mcp-server --test
# Optional: show detailed tools/resources and health output
uv run mcp-server --test --detailed
๐ก Deployment Options: The
mcp-servercommand will prompt you to choose:
- Docker (Option 1): Full stack with Splunk, Traefik, MCP Inspector - recommended if Docker is installed
- Local (Option 2): Lightweight FastMCP server only - for users without Docker
Note on Splunk licensing: When using the
so1Splunk container, you must supply your own Splunk Enterprise license if required. The compose files include a commented example mount:# - ./lic/splunk.lic:/tmp/license/splunk.lic:ro. Create alic/directory and mount your license file, or add the license via the Splunk Web UI after startup.
๐ฏ What You Can Do
๐ค AI-Powered Troubleshooting (NEW!)
Transform your Splunk troubleshooting from manual procedures to intelligent, automated workflows using the MCP server endpoints:
# Discover and execute intelligent troubleshooting workflows
result = await list_workflows.execute(ctx, format_type="summary")
# Returns: missing_data_troubleshooting, performance_analysis, custom_workflows...
# Run AI-powered troubleshooting with a single command
result = await workflow_runner.execute(
ctx=ctx,
workflow_id="missing_data_troubleshooting",
earliest_time="-24h",
latest_time="now",
focus_index="main"
)
# โ Parallel execution, expert analysis, actionable recommendations
๐ Key Benefits:
- ๐ง Natural Language Interface: "Troubleshoot missing data" โ automated workflow execution
- โก Parallel Processing: Multiple diagnostic tasks run simultaneously for faster resolution
- ๐ง Custom Workflows: Build organization-specific troubleshooting procedures
- ๐ Intelligent Analysis: AI agents follow proven Splunk best practices
๐ Read the Complete AI Workflows Guide โ for detailed examples, workflow creation, and advanced troubleshooting techniques.
๐ Documentation Hub
| Document | Purpose | Audience | Time |
|---|---|---|---|
| ๐ค AI-Powered Troubleshooting | Intelligent workflows powered by the workflow tools | All users | 5 min |
| Getting Started | Complete setup guide with prerequisites | New users | 15 min |
| Integration Guide | Connect AI clients | Developers | 30 min |
| Deployment Guide | Production deployment | DevOps | 45 min |
| Workflows Guide | Create and run workflows (OpenAI env vars) | Developers | 10 min |
| API Reference | Tool documentation | Integrators | Reference |
| Resources Reference | Access CIM data models and Splunk docs | All users | Reference |
| Contributing | Add your own tools | Contributors | 60 min |
| ๐ Contrib Guide | Complete contribution framework | Contributors | 15 min |
| Architecture | Technical deep-dive | Architects | Reference |
| Tests Quick Start | First success test steps | Developers | 2 min |
| Plugins | Extend with entry-point plugins (separate package) | Integrators | 5 min |
๐ง Available Tools & Capabilities
๐ค AI Workflows & Specialists (NEW!)
list_workflows: Discover available troubleshooting workflows (core + contrib)workflow_runner: Execute any workflow with full parameter control and progress trackingworkflow_builder: Create custom troubleshooting procedures for your organization- Built-in Workflows: Missing data troubleshooting, performance analysis, and more
- ๐ Complete Workflow Guide โ
๐ Search & Analytics
- Smart Search: Natural language to SPL conversion
- Real-time Search: Background job management with progress tracking
- Saved Searches: Create, execute, and manage search automation
๐ Data Discovery
- Metadata Exploration: Discover indexes, sources, and sourcetypes
- Schema Analysis: Understand your data structure
- Usage Patterns: Identify data volume and access patterns
๐ฅ Administration
- App Management: List, enable, disable Splunk applications
- User Management: Comprehensive user and role administration
- Configuration Access: Read and analyze Splunk configurations
๐ฅ Health Monitoring
- System Health: Monitor Splunk infrastructure status
- Degraded Feature Detection: Proactive issue identification
- Alert Management: Track and analyze triggered alerts
๐ Client Integration Examples
๐ช Multi-Client Configuration Strength: One of the key advantages of this MCP Server for Splunk is its ability to support multiple client configurations simultaneously. You can run a single server instance and connect multiple clients with different Splunk environments, credentials, and configurations - all without restarting the server or managing separate processes.
๐ Multi-Client Benefits
Session-Based Isolation: Each client connection maintains its own Splunk session with independent authentication, preventing credential conflicts between different users or environments.
Dynamic Configuration: Switch between Splunk instances (on-premises, cloud, development, production) by simply changing headers - no server restart required.
Scalable Architecture: A single server can handle multiple concurrent clients, each with their own Splunk context, making it ideal for team environments, CI/CD pipelines, and multi-tenant deployments.
Resource Efficiency: Eliminates the need to run separate MCP server instances for each Splunk environment, reducing resource consumption and management overhead.
Cursor IDE
Single Tenant
{
"mcpServers": {
"splunk": {
"command": "fastmcp",
"args": ["run", "/path/to/src/server.py"],
"env": {
"MCP_SPLUNK_HOST": "your-splunk.com",
"MCP_SPLUNK_USERNAME": "your-user"
}
}
}
}
Client Specified Tenant
{
"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"
}
}
}
}
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']
))]
)
๐ค Community & Contribution
Quick links: Contributing ยท Code of Conduct ยท Security Policy ยท Governance ยท License
๐ ๏ธ Create Your Own Tools & Extensions
๐ Quick Start for Contributors:
# Interactive tool generator (project script)
uv run generate-tool
# Browse existing tools for inspiration
./contrib/scripts/list_tools.py
# Validate your tool implementation (project script)
uv run validate-tools
# Test your contribution
./contrib/scripts/test_contrib.py
๐ Complete Contributing Guide โ - Everything you need to know about creating tools, resources, and workflows for the MCP Server for Splunk.
Contribution Categories
- ๐ก๏ธ Security Tools: Threat hunting, incident response, security analysis
- โ๏ธ DevOps Tools: Monitoring, alerting, operations, SRE workflows
- ๐ Analytics Tools: Business intelligence, reporting, data analysis
- ๐ก Example Tools: Learning templates and patterns for new contributors
- ๐ง Custom Workflows: AI-powered troubleshooting procedures for your organization
๐ Deployment Options
Development (Local)
- Startup Time: ~10 seconds
- Resource Usage: Minimal (single Python process)
- Best For: Development, testing, stdio-based AI clients
Production (Docker)
- Features: Load balancing, health checks, monitoring
- Includes: Traefik, MCP Inspector, optional Splunk
- Best For: Multi-client access, web-based AI agents
Enterprise (Kubernetes)
- Scalability: Horizontal scaling, high availability
- Security: Pod-level isolation, secret management
- Monitoring: Comprehensive observability stack
๐ Support & Community
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Complete guides and references
- ๐ง Interactive Testing: MCP Inspector for real-time testing
Windows Support
Windows users get first-class support with PowerShell scripts and comprehensive troubleshooting guides. See our Windows Setup Guide.
๐ Project Stats
- โ 20+ Production Tools - Comprehensive Splunk operations
- โ 16 Rich Resources - System info, documentation, and CIM data models
- โ Comprehensive Test Suite - 170+ tests passing locally
- โ Multi-Platform - Windows, macOS, Linux support
- โ Community-Ready - Structured contribution framework
- โ Enterprise-Proven - Production deployment patterns
๐ฏ Ready to Get Started?
Choose your adventure:
- ๐ Quick Start - Get running in 15 minutes
- ๐ป Integration Examples - Connect your AI tools
- ๐๏ธ Architecture Guide - Understand the system
- ๐ค Contribute - Add your own tools
Learn More: Model Context Protocol | FastMCP Framework
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_for_splunk-0.3.0.tar.gz.
File metadata
- Download URL: mcp_server_for_splunk-0.3.0.tar.gz
- Upload date:
- Size: 321.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
556b29147894c16add4e04b73b641da3b74c66cbc9d2438212e8ffb007e30a2a
|
|
| MD5 |
34947480e6e68d42f0d4a9838000256c
|
|
| BLAKE2b-256 |
d8cda4b0e0e4afdc9cba5d8847aa72496e4a3cee11207ce30e8b2399b6cd26a7
|
File details
Details for the file mcp_server_for_splunk-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcp_server_for_splunk-0.3.0-py3-none-any.whl
- Upload date:
- Size: 317.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
123a8be13681906110db6530647f151c4ec3e109254684bdd8417fe4cf8e60b8
|
|
| MD5 |
0e085f309afb0f70fd577b777ddf0f67
|
|
| BLAKE2b-256 |
4b89568ad23ec53e76ce7da78230e83ab38dd7dae5cba12e801032607654c864
|