Skip to main content
Glama
nks1097

Splunk Enterprise MCP Server

by nks1097

splunk_search_ioc

Search all indexed Splunk data for indicators of compromise such as hashes, domains, IPs, or URLs, with optional IOC type and time range filters.

Instructions

Search for Indicators of Compromise (hashes, domains, IPs, URLs) across all indexed data.

Args: ioc_value: The IOC string (e.g. SHA256 hash, malicious domain, external IP). ioc_type: Optional type description ('hash', 'ip', 'domain'). earliest_time: Time range (default '-7d@d').

Input Schema

NameRequiredDescriptionDefault
ioc_typeNo
ioc_valueYes
earliest_timeNo-7d@d

Output Schema

NameRequiredDescriptionDefault
dataNoOutput payload or results
errorNoError message if execution failed
successNoWhether the tool execution succeeded
metadataNoExecution timing, pagination and environment details
warningsNoOperational warnings or notices
request_idNoCorrelation ID for audit trail and observability

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must carry the behavioral load. It does disclose the default lookback window ('-7d@d@'), which is genuinely useful operational context, but it never states that this is a read-only search, whether results are capped, how expensive a full-index search is, or what permissions are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One purpose sentence followed by a compact Args block — front-loaded and free of filler. The Args section partially duplicates what should live in the schema, but it is doing the work the zero-coverage schema does not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and all three parameters are covered. What is missing is operational context an analyst would want before firing a full-index search: whether ioc_type changes matching semantics or is purely advisory, whether results are truncated, and how to scope a search that is too broad.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description is the only source of parameter meaning — and it delivers for all three: ioc_value with concrete format examples (SHA256 hash, malicious domain, external IP), ioc_type with the valid value set ('hash', 'ip', 'domain') that is absent from the schema as an enum, and earliest_time with its default. Only weakness is the unstated time-modifier syntax, which is only inferable from the default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Search for Indicators of Compromise') and enumerates the IOC kinds (hashes, domains, IPs, URLs) plus the scope ('across all indexed data'). This is clearly not a generic splunk_search, but it never explicitly distinguishes itself from near-neighbours like splunk_investigate_ip or splunk_search_events, leaving that inference to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the scope phrase 'across all indexed data' and the ioc_value/ioc_type framing suggest when this tool fits, and the default '-7d@d' window hints at typical triage usage. There is no explicit statement of when to pick this over splunk_investigate_ip, splunk_search, or splunk_get_security_alerts, and no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools