MCP Server tools
The Splunk MCP Server provides several tools to interact with Splunk software.
Tool namespacing
Tools are namespaced based on their source. See the following table for prefix and source information:
| Prefix | Source |
|---|---|
splunk_ |
Splunk core platform tools |
saia_ |
Splunk AI Assistant tools |
o11y_ |
Splunk Observability tools |
es_ |
Splunk Enterprise Security tools |
The Splunk MCP Server provides tools to interact with Splunk software. See the following table for Splunk core platform, Splunk AI Assistant, and Splunk Observability tool names and descriptions.
For Enterprise Security tool names and descriptions, see Use the Splunk MCP Server app to access tools in Splunk Enterprise Security in the Splunk Enterprise Security User Guide.
| Tool name | Description | Date added |
|---|---|---|
splunk_run_query |
Execute a Splunk search query and return the results. This is the primary tool for running Splunk searches using Splunk Search Processing Language (SPL). Use this to retrieve log data, perform aggregations, analyze events, and extract insights from your Splunk environment.
Version 1.3 and higher of MCP Server supports SPL2 as well as SPL searches. SPL2 runs with the same guardrails and includes the following commands:
The prefix of
PYTHON
For more information on SPL2 see theSPL2 Search Reference manual. Version 1.3 and higher offers workload management for the |
July 2025 |
splunk_get_info |
Get comprehensive information about your Splunk instance. Retrieves system information including version, hardware specifications, and operational status. | July 2025 |
splunk_get_indexes |
Get a list of indexes from Splunk. Indexes are data repositories where machine data is stored and organized. | July 2025 |
splunk_get_index_info |
Get detailed information about a specific Splunk index. Returns comprehensive configuration and status information for the specified index. | July 2025 |
splunk_get_metadata |
Retrieve metadata about hosts or sources across 1 or more indexes in the selected time window. For sourcetypes, use splunk_get_sourcetypes. |
July 2025 |
splunk_get_user_info |
Retrieves detailed information about the currently authenticated user including roles and permissions. Returns comprehensive user profile data for the current session. | July 2025 |
splunk_get_user_list |
Get a list of users from Splunk. Retrieves information about all users including authentication details, roles, and account status. | July 2025 |
splunk_get_kv_store_collections |
Get KV Store collection statistics including size, count, and storage information. Retrieves comprehensive metrics about all KV Store collections in the Splunk instance. | July 2025 |
splunk_get_knowledge_objects |
Retrieve Splunk knowledge objects by type. Supports various knowledge object types including saved searches, alerts, field extractions, lookups, macros, and data models. Refer to the full list of supported types later in this topic. | July 2025 |
splunk_run_saved_search |
Lets AI assistants run your existing Splunk saved searches directly through MCP. See Run Saved Search. | April 2026 |
splunk_list_alerts |
Lists alerts accessible to the current user, with optional filtering by app, enabled state, and severity. | September 2026 |
splunk_get_alert_details |
Retrieves the configuration of a specified alert, including its search, schedule, trigger conditions, throttle configuration, notification actions, owner, and enabled state. | September 2026 |
splunk_list_fired_alerts |
Lists active, unexpired fired alerts, with optional filtering by app and severity. | September 2026 |
splunk_get_fired_alert_details |
Retrieves recent fired instances for a specified alert, including fire time and severity. | September 2026 |
splunk_get_alert_throttle |
Retrieves the current throttle configuration and suppression state for a specified alert, including the suppression window and remaining time when active. | September 2026 |
splunk_list_active_throttles |
Lists alerts that are currently suppressing notifications, including their suppression criteria, window duration, and remaining time. | September 2026 |
splunk_get_sourcetypes |
Lists sourcetypes that have indexed data, including event counts and first and last event times, with optional filtering by index and time range. | September 2026 |
splunk_get_fired_alert_results |
Retrieves the results that triggered a specific firing of an alert. | October 2026 |
splunk_get_alert_action_status |
Checks whether each action for a specific alert firing succeeded, failed, or did not run. | October 2026 |
splunk_find_silent_alerts |
Lists enabled alerts that haven't fired in the last 90 days or a shorter specified window. | October 2026 |
saia_find_data_source |
Use natural language to surface the data you want searched, rather than searching all indexes. Results are presented as a shortlist, ranked by relevance.
Note:
To use
Note: This tool was offered as a preview with MCP version 1.3.
|
July 2026 |
saia_generate_spl |
Generate SPL from natural language searches using Splunk AI Assistant for SPL. | September 2025 |
saia_explain_spl |
Explain SPL queries in natural language using Splunk AI Assistant for SPL. Converts complex SPL commands into human-readable explanations. | September 2025 |
saia_optimize_spl |
Optimize SPL searches using Splunk AI Assistant for SPL. Improves search performance, efficiency, and follows best practices. | September 2025 |
saia_ask_splunk_question |
Ask natural language questions about Splunk using Splunk AI Assistant for SPL. Get explanations about Splunk commands, concepts, features, and best practices. | September 2025 |
o11y_get_apm_services |
Retrieves a list of APM services for a given environment. | September 2026 |
o11y_get_apm_environments |
Gets a list of APM environments. | September 2026 |
o11y_get_apm_service_errors_and_requests |
Provides a breakdown of service errors and requests by tag. | September 2026 |
o11y_get_apm_service_latency |
Provides a breakdown of service latency by tag. | September 2026 |
o11y_get_apm_service_dependencies |
Gets upstream and downstream service dependencies. | September 2026 |
o11y_get_apm_trace_tool |
Returns trace errors and spans for a given trace ID. | September 2026 |
o11y_get_apm_exemplar_traces |
Gets exemplar traces for a service. | September 2026 |
o11y_get_apm_profiling_data |
Retrieves read-only CPU or memory profiling hotspot data for a specified service and time range. Supports optional environment, host, container, and process filters. | October 2026 |
o11y_search_alerts_or_incidents |
Retrieves alerts or incidents triggered by detectors. | September 2026 |
o11y_get_metric_names |
Gets existing metric names by wildcard search | September 2026 |
o11y_get_metric_metadata |
Retrieves dimensions and properties for given metrics. | September 2026 |
o11y_generate_signalflow_program |
Generates a Splunk SignalFlow program from natural language. | September 2026 |
o11y_execute_signalflow_program |
Executes a SignalFlow program and returns results. | September 2026 |
APM profiling with MCP Server
The o11y_get_apm_profiling_data tool retrieves read-only CPU or memory hotspot data for a specified service and time range. You can optionally filter results by environment, host, container, or process.
See the following table for more information:
| Property | Description |
|---|---|
| Inputs | Requires service_name and profiler_type (CPU or MEMORY). Supports time_range and optional environment, host, container, and process filters. |
| Response | Returns aggregated, sanitized profiling hotspots, including total_count and hotspots. Results include profiling values and sample counts, not percentages. |
| Time range | Defaults to the most recent 15 minutes. Maximum query window is 60 minutes. |
| Result limit | Defaults to 25 hotspot rows. Accepts values from 1 through 100. |
| Environment limit | Supports up to 20 environments per request. |
| Authorization | Requires Capability.APM. The tool uses the caller's existing APM authorization. |
| Read-only behavior | Does not modify profiling settings or retrieve raw profiles. Direct pprof access and port-forwarding aren't required. |
| Empty results |
If no profiling samples match the request, the tool returns a successful response with an empty |
| Partial results | The response does not include a partial-result indicator. |
| Known limitations | Does not return flame graphs, percentages, or profiling configuration. Data availability depends on the realm, service, environment, and time range. Host, container, and process filters require exact identifiers. |
| Error behavior | Invalid requests return validation errors. Timeouts, authorization failures, backend failures, and malformed responses return errors rather than empty or partial results. |
Input parameters
The following table describes the input parameters for the o11y_get_apm_profiling_data tool:
| Parameter | Required | Description |
|---|---|---|
service_name |
Yes | Name of the APM service to query. |
time_range |
No | Object containing start and stop. Accepts ISO 8601 timestamps, relative durations such as -30m, or POSIX timestamps. Defaults to the most recent 15 minutes. Maximum interval is 60 minutes. |
profiler_type |
Yes | Type of profiling data to retrieve: CPU or MEMORY. |
environment_names |
No | List of environments to filter by. Supports up to 20 environments. |
host_name |
No | Filters profiling data by host. |
container_id |
No | Filters profiling data by container. |
process_pid |
No | Filters profiling data by process ID. Must be zero or greater. |
limit |
No | Maximum number of hotspot rows to return. Defaults to 25. Accepts values from 1 through 100. |
environment_names parameter.
Response fields
The following table describes the fields returned by the o11y_get_apm_profiling_data tool:
| Field | Description |
|---|---|
service_name |
Name of the APM service queried. |
profiler_type |
Profiling type returned: CPU or MEMORY. |
start_time_ms |
Start of the queried time range, in milliseconds. |
end_time_ms |
End of the queried time range, in milliseconds. |
total_count |
Sum of the counts across the returned hotspot rows. This is not the total sample count for the entire queried time range. |
hotspots |
List of aggregated profiling hotspots. Each hotspot contains the frame, value, and count fields. |
frame |
Stack frame associated with the profiling hotspot. |
value |
Profiling value associated with the hotspot. |
count |
Count associated with the hotspot. |
Examples
See the following CPU and memory examples.
CPU profiling example:
{
"service_name": "apm-sessionizer",
"time_range": {"start": "-15m", "stop": "now"},
"profiler_type": "CPU",
"environment_names": ["production"],
"limit": 5
}
Memory profiling example:
{
"service_name": "apm-sessionizer",
"time_range": {"start": "-15m", "stop": "now"},
"profiler_type": "MEMORY",
"environment_names": ["production"],
"limit": 5
}
Guardrail triggers and workload management for splunk_run_query
The splunk_run_query tool is the primary tool for running Splunk searches using Splunk Search Processing Language (SPL) and SPL2.
prefix of @spl2 is required.
Guardrail triggers
The splunk_run_query tool is intended for quick searches that are deemed safe and non-destructive. The tool might fail and trigger a guardrail for 1 or more of the following reasons:
- If the search contains commands that are deemed unsafe or destructive, the MCP server might not execute the search.
- The execution time exceeds 1 minute.
- The number of events in the response exceeds 1000.
Workload management
When running Splunk MCP Server version 1.3 and higher you can use workload management to create a workload pool for the splunk_run_query tool.
Workload management (WLM) can help allocate system resources among different workloads. Workload pools define how those resources are assigned. Taking this step moves splunk_run_query into a detached, asynchronous search job.
-
For detailed steps on creating workload pools in Splunk Enterprise see Configure workload pools in the Administer Splunk Enterprise manual.
-
Splunk Cloud Platform users can learn more about workload pools in Workload Management overview in the Administer Splunk Cloud Platform manual.
To use the workload pool call splunk_run_query with the exact pool identifier as shown in the following example:
{
"method": "tools/call",
"params": {
"name": "splunk_run_query",
"arguments": {
"query": "| makeresults | eval marker=\"mcp_pool_probe\"",
"workload_pool": "mcp_low_priority"
}
}
}
Supported knowledge object types
The following knowledge object types are supported by get_knowledge_objects:
-
saved_searches -
alerts -
field_extractions -
field_aliases -
calculated_fields -
lookups -
automatic_lookups -
lookup_transforms -
macros -
tags -
data_models -
workflow_actions -
views -
panels -
apps -
mltk_models -
mltk_algorithms