Splunk AI ConnectorBLOCK
MCP Server for integrating with Splunk Enterprise
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://gofastmcp.com/) [](https://python.org) [](https://docker.com) [](https://modelcontextprotocol.io/) [](#) [](#) [](LICENSE)
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
- Prerequisites
- Configuration
- [One-Command S
535cff547a47OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp-server-for-splunk --env ITSI_PASSWORD=${ITSI_PASSWORD} --env MCP_AUTH_DISABLED=${MCP_AUTH_DISABLED} --env MCP_AUTH_PROVIDER=${MCP_AUTH_PROVIDER} --env MCP_AUTH_PROVIDER_KWARGS=${MCP_AUTH_PROVIDER_KWARGS} -- uvx mcp-server-for-splunk{
"mcpServers": {
"mcp-server-for-splunk": {
"command": "uvx",
"args": [
"mcp-server-for-splunk"
],
"env": {
"ITSI_PASSWORD": "${ITSI_PASSWORD}",
"MCP_AUTH_DISABLED": "${MCP_AUTH_DISABLED}",
"MCP_AUTH_PROVIDER": "${MCP_AUTH_PROVIDER}",
"MCP_AUTH_PROVIDER_KWARGS": "${MCP_AUTH_PROVIDER_KWARGS}"
}
}
}
}Exposed tools (3)
3 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
internal_health | read | return { |
itsi_list_entities | read | return { |
oneshot_search | read | return { |
Trust audit
BLOCKgrade F · trust 47/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- declared (12 observation(s))
- Shell
- declared (7 observation(s))
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (25)
pattern: yaml.load($ARG, ...)
- pattern: eval($ARG)
- pattern: exec($ARG)
Dangerous use of eval() or exec(). This can lead to code injection.
verify=False
verify = False
SSL_VERIFY = False
packaging/mcp-itsi-server/mcp_itsi
package = importlib.import_module(package_name)
module = importlib.import_module(modname)
mod = importlib.import_module(module_name)
description=f"User accessing {len(baseline['common_indexes'])} different indexes - potential data exfiltration",- ALLOWED_ORIGINS=http://localhost:6274,http://127.0.0.1:6274,http://localhost:6277,http://127.0.0.1:6277
- ALLOWED_ORIGINS=http://localhost:6274,http://127.0.0.1:6274,http://localhost:6277,http://127.0.0.1:6277
.bandit
.gitleaks.toml
.gitleaksignore
.markdownlint.json
.pre-commit-config.yaml
- pattern: hashlib.md5(...)
- pattern: hashlib.sha1(...)
return hashlib.md5( # nosec B324 # nosemgrep: insecure-hash-algorithm-md5
content_hash = hashlib.md5( # nosec B324 # nosemgrep: insecure-hash-algorithm-md5
content_hash = hashlib.md5( # nosec B324 # nosemgrep: insecure-hash-algorithm-md5
print(f" 🔐 Password: {'(set)' if config.get('password') else 'Not set'}")Gates applied: no_behavioural_pass.
535cff547a47full audit observations/trust-audit/mcp-server/deslicer__splunk-ai-connector.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 535cff547a47 | BLOCK | F | 47 | first audit |
Questions
What is the Splunk AI Connector MCP server?
MCP Server for integrating with Splunk Enterprise
What tools does Splunk AI Connector expose?
3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Splunk AI Connector safe to connect to an agent?
No — not without reading the findings first. The audit graded it F (47/100) and found 7 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does Splunk AI Connector need?
It reads ITSI_PASSWORD, MCP_AUTH_DISABLED, MCP_AUTH_PROVIDER, MCP_AUTH_PROVIDER_KWARGS, MCP_SPLUNK_SESSION_TOKEN, MCP_SPLUNK_TOKEN, SPLUNK_DEFAULT_PASSWORD, SPLUNK_PASSWORD, SPLUNK_SESSION_TOKEN and SPLUNK_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Splunk AI Connector run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on PyPI as mcp-server-for-splunk.
How current is this page?
The grade is for one exact copy of the source (535cff547a47), read on 2026-10-08. The repository is watched and re-audited when it changes.