Splunk Enterprise MCP Server
Integrates with Splunk Enterprise and Splunk Cloud via the REST API (port 8089) or the Splunk Web proxy (port 8000), exposing 100 tools across 10 domains for running and managing SPL searches, discovering indexes and data sources, managing saved searches and alerts, dashboards and reports, administration and configuration, data ingestion and forwarders, SIEM/security operations, performance and capacity monitoring, operational management, and analytics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Splunk Enterprise MCP Servershow failed login attempts in the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Servidor MCP para Splunk Enterprise (100 Ferramentas)
Um servidor Model Context Protocol (MCP) robusto, seguro e pronto para ambientes corporativos de produção, integrando agentes inteligentes de Inteligência Artificial (Claude Desktop, Cursor, Antigravity IDE, VS Code, LangChain) diretamente ao Splunk Enterprise.
O servidor disponibiliza 100 ferramentas tipadas, validadas e auditadas, abrangendo desde buscas SPL analíticas, auditoria forense de SIEM, caça a ameaças (Threat Hunting), gestão de dashboards e relatórios até governança e diagnóstico de performance de clusters.
Destaques e Diferenciais do Projeto
100 Ferramentas Prontas para Produção: 10 domínios operacionais completos com 10 ferramentas especializadas por domínio.
Taxa de Sucesso de 100% em Testes Reais: Todas as 100 ferramentas foram rigorosamente testadas e homologadas contra uma instância ativa do Splunk Enterprise (versão
10.6.1.1).Conectividade Dual-Mode:
API REST Direta (Porta
8089): Conexão corporativa HTTPS padrão com suporte a Bearer Token e autenticação básica.Splunk Web Proxy (Porta
8000): Conexão HTTP/HTTPS com negociação automática de sessão e tokens anti-CSRF, viabilizando operações em redes corporativas onde a porta 8089 é bloqueada por firewalls.
Arquitetura DevSecOps e Governança Rigorosa:
Modo Somente Leitura por Padrão (
MCP_READ_ONLY=true): Bloqueia nativamente qualquer tentativa de exclusão ou modificação acidental em produção.Portão de Confirmação Humana (Human-in-the-Loop): Ações destrutivas (ex: exclusão de dashboards, remoção de alertas, cancelamento de buscas) exigem obrigatoriamente
confirm=True.Defesa Ativa contra Injeção de Prompt: Eventos brutos de log são encapsulados em contêineres seguros com avisos explícitos para o LLM não executar comandos contidos dentro de logs.
Mascaramento Automático de Segredos: Senhas, Bearer Tokens, chaves privadas e cookies de sessão são automaticamente higienizados em logs e mensagens de erro.
Validador de AST para SPL: Impede comandos perigosos (
delete,outputcsv,script), valida limites temporais obrigatórios e aponta otimizações de busca.Trilha de Auditoria Imutável: Todas as chamadas geram registros correlacionados com ID único (
request_id), latência e status viasys.stderr, mantendo o canal STDIO JSON-RPC perfeitamente limpo.
Related MCP server: MCP Server for Splunk
Arquitetura do Sistema
graph TD
Agent["Agente de IA / Cliente LLM\n(Claude Desktop, Antigravity IDE, Cursor, LangChain)"]
MCP_STDIO["Camada de Protocolo MCP\n(STDIO / SSE / Streamable HTTP)"]
GOV["Motor de Política & Governança\n- Read-Only Default\n- Human-in-the-Loop Gate\n- Redação Automática de Segredos\n- Defesa contra Injeção de Prompt"]
VAL["Validador de SPL & Anti-Patterns\n- Parser de Pipeline AST\n- Enforçamento de Janela Temporal\n- Detecção de Comandos Mutantes"]
AUDIT["Auditoria & Observabilidade\n- Gerador de Request ID\n- Telemetria Estruturada (stderr)"]
subgraph "Matriz das 100 Ferramentas MCP"
DA["Domínio A: Buscas SPL (1-10)"]
DB["Domínio B: Índices & Descoberta (11-20)"]
DC["Domínio C: Buscas Salvas & Alertas (21-30)"]
DD["Domínio D: Dashboards & Relatórios (31-40)"]
DE["Domínio E: Administração & Configs (41-50)"]
DF["Domínio F: Ingestão & Forwarders (51-60)"]
DG["Domínio G: Segurança, SIEM & SOC (61-70)"]
DH["Domínio H: Performance & Capacidade (71-80)"]
DI["Domínio I: Gestão Operacional (81-90)"]
DJ["Domínio J: Inteligência & Análise (91-100)"]
end
CLIENT["SplunkClient Core"]
DIRECT["Splunkd REST API Direta\n(TCP 8089 - HTTPS)"]
PROXY["Splunk Web Proxy API\n(TCP 8000 - HTTP/HTTPS)"]
SPLUNK["Instância Splunk Enterprise / Splunk Cloud"]
Agent <--> MCP_STDIO
MCP_STDIO --> GOV
GOV --> VAL
VAL --> AUDIT
AUDIT --> DA & DB & DC & DD & DE & DF & DG & DH & DI & DJ
DA & DB & DC & DD & DE & DF & DG & DH & DI & DJ --> CLIENT
CLIENT --> DIRECT & PROXY
DIRECT & PROXY --> SPLUNKMatriz Detalhada: Para Que Serve Cada uma das 100 Ferramentas
O servidor disponibiliza 100 ferramentas organizadas em 10 domínios funcionais. Veja abaixo o objetivo operacional e quando utilizar cada ferramenta:
1. Domínio A: Buscas SPL & Execução (001 a 010)
# | Ferramenta | Permissão | Para que serve / Quando usar |
001 |
| Leitura | Execução síncrona de SPL com bloqueio. Utilizada para buscas rápidas onde o agente precisa dos dados imediatos para tomar uma decisão analítica. |
002 |
| Leitura | Busca em fluxo contínuo (streaming). Utilizada para exportar e processar grandes volumes de registros sem estourar a memória RAM do servidor. |
003 |
| Leitura | Despacho assíncrono de busca (Job SID). Utilizada para disparar queries pesadas ou varreduras históricas longas que rodam em segundo plano. |
004 |
| Leitura | Monitor de progresso de busca. Utilizada para consultar o percentual de conclusão ( |
005 |
| Leitura | Coleta de resultados tabulados e transformados. Utilizada para resgatar tabelas de agregação calculadas por comandos como |
006 |
| Leitura | Recuperação de eventos brutos ( |
007 |
| Leitura | Pré-visualização de resultados em tempo real. Utilizada para espiar uma amostra parcial de dados enquanto uma busca pesada ainda está em processamento. |
008 |
| Escrita + Confirmação | Cancelamento e expurgo de jobs ativos. Utilizada para abortar queries mal formuladas ou que estejam sobrecarregando a CPU do cluster. Requer |
009 |
| Leitura | Auditoria e análise sintática de SPL. Utilizada antes de executar queries para estimar custos computacionais e identificar comandos perigosos ou ineficientes. |
010 |
| Leitura | Histórico de buscas do usuário. Utilizada para auditar as últimas queries despachadas no Splunk, resgatar SIDs ou conferir comandos recentes. |
2. Domínio B: Descoberta de Dados & Índices (011 a 020)
# | Ferramenta | Permissão | Para que serve / Quando usar |
011 |
| Leitura | Inventário completo de índices. Utilizada para listar todas as bases de dados ativas no Splunk, tamanho ocupado em disco (MB) e tempos de retenção. |
012 |
| Leitura | Inspeção detalhada de índice. Utilizada para auditar configurações de buckets (Hot/Warm/Cold/Frozen) e caminhos de diretório de um índice específico. |
013 |
| Leitura | Estatísticas consolidadas de armazenamento. Utilizada em relatórios executivos de capacidade para verificar o crescimento global da base do Splunk. |
014 |
| Leitura | Catálogo de formatos de log (sourcetypes). Utilizada para identificar quais tipos de fontes de dados estão ativas e a data do último registro recebido. |
015 |
| Leitura | Listagem de caminhos de arquivos e origens. Utilizada para checar se determinado arquivo de log ou porta de rede está sendo indexado. |
016 |
| Leitura | Inventário de computadores e servidores. Utilizada para mapear todos os endpoints, servidores e dispositivos que reportam dados para o Splunk. |
017 |
| Leitura | Resumo estatístico profundo de campos. Utilizada para entender a distribuição, valores distintos e médias de campos extraídos de um índice/sourcetype. |
018 |
| Leitura | Cálculo de latência e frescor de dados. Utilizada para checar se os logs de firewalls e servidores estão chegando em tempo real ou se há atraso de rede. |
019 |
| Leitura | Detector de lacunas e apagões de telemetria. Utilizada para identificar intervalos onde a taxa de ingestão caiu a zero (falhas de conexão ou agentes parados). |
020 |
| Leitura | Amostragem rápida de eventos. Utilizada para inspecionar o formato dos eventos de um índice sem disparar varreduras custosas na base inteira. |
3. Domínio C: Buscas Salvas & Gestão de Alertas (021 a 030)
# | Ferramenta | Permissão | Para que serve / Quando usar |
021 |
| Leitura | Catálogo de buscas salvas e relatórios. Utilizada para mapear todas as buscas automáticas e regras de detecção cadastradas. |
022 |
| Leitura | Auditoria de regra ou alerta salvo. Utilizada para inspecionar a query SPL, agendamento cron e ações de alerta (e-mail, webhook) de uma busca salva. |
023 |
| Escrita | Criação de novas buscas salvas e alertas. Utilizada para provisionar programaticamente novos casos de uso de detecção do SOC ou relatórios periódicos. |
024 |
| Escrita | Atualização de parâmetros de busca salva. Utilizada para refinar limiares de alertas, corrigir falsos positivos ou atualizar expressões cron. |
025 |
| Escrita + Confirmação | Exclusão definitiva de busca salva. Utilizada para remover relatórios ou alertas obsoletos do catálogo. Requer confirmação explícita ( |
026 |
| Leitura | Disparo imediato de busca salva. Utilizada para forçar a execução instantânea de um relatório fora do seu horário agendado, gerando um novo SID. |
027 |
| Leitura | Fila de alertas disparados recentemente (fired alerts). Utilizada para verificar quais alertas de segurança foram acionados nas últimas horas na central. |
028 |
| Leitura | Histórico temporal de alertas no |
029 |
| Escrita | Reconhecimento de alerta por analista de SOC. Utilizada no fluxo de triagem de incidentes para anotar que um evento já está em análise e evitar retrabalho. |
030 |
| Escrita | Controle de supressão de ruído (Alert Fatigue). Utilizada durante manutenções para pausar notificações repetitivas sem precisar desativar a regra. |
4. Domínio D: Dashboards & Objetos de Conhecimento (031 a 040)
# | Ferramenta | Permissão | Para que serve / Quando usar |
031 |
| Leitura | Listagem de painéis e dashboards. Utilizada para mapear todos os dashboards Simple XML e Studio ativos e obter seus links diretos no Splunk Web. |
032 |
| Leitura | Extração do código-fonte Simple XML. Utilizada para auditar as queries SPL embutidas nos gráficos ou realizar backup do layout de um dashboard. |
033 |
| Escrita | Criação direta de dashboards no Splunk Web. Utilizada para construir painéis visuais do SOC, centros de comando ou monitores geográficos com mapas. |
034 |
| Escrita | Atualização dinâmica de dashboards. Utilizada para alterar o código XML, inserir novos painéis ou ajustar consultas de dashboards existentes. |
035 |
| Escrita + Confirmação | Exclusão definitiva de dashboard. Utilizada para remover painéis temporários ou projetos visuais descontinuados. Requer |
036 |
| Leitura | Enumeração de relatórios de negócio. Utilizada para auditar quais relatórios analíticos formatados estão disponíveis para as lideranças. |
037 |
| Leitura | Execução de relatório corporativo oficial. Utilizada para coletar a tabela de dados consolidada de um relatório sem reescrever a query manualmente. |
038 |
| Leitura | Catálogo de tipos de eventos taxonômicos. Utilizada para entender as classificações de logs cadastradas (ex: falhas de autenticação, acessos VPN). |
039 |
| Leitura | Consulta de tags do modelo CIM. Utilizada para checar a normalização de campos de segurança conforme o padrão do Splunk Enterprise Security (ES). |
040 |
| Leitura | Inventário de macros SPL reutilizáveis. Utilizada para inspecionar funções de atalho de busca e entender sua expansão lógica. |
5. Domínio E: Administração & Controle de Acesso (041 a 050)
# | Ferramenta | Permissão | Para que serve / Quando usar |
041 |
| Leitura | Dados fundamentais da instância. Utilizada para verificar versão exata (10.6.1.1), build, licença ativa, sistema operacional e modo do nó. |
042 |
| Leitura | Saúde de subsistemas internos. Utilizada para checar se as filas de indexação, agendador e discos estão em estado |
043 |
| Leitura | Inventário de aplicativos e add-ons (TAs). Utilizada para verificar quais pacotes e add-ons estão instalados e habilitados no Splunk. |
044 |
| Leitura | Detalhes cadastrais de um aplicativo. Utilizada em auditorias de conformidade para checar versão, autor, pasta e visibilidade de um app específico. |
045 |
| Leitura | Auditoria de contas de usuários. Utilizada para listar todos os usuários locais e integrados (AD/LDAP/SAML) com seus respectivos papéis de acesso. |
046 |
| Leitura | Inspeção de perfil de usuário. Utilizada em investigações para checar papéis, e-mail, fuso horário e último acesso de uma conta suspeita. |
047 |
| Leitura | Catálogo de funções e perfis RBAC. Utilizada para auditar a estrutura de privilégios de acesso do ambiente ( |
048 |
| Leitura | Inspeção de permissões granulares de uma função. Utilizada para verificar se determinado perfil possui permissões críticas como exclusão ou edição. |
049 |
| Leitura | Listagem de arquivos |
050 |
| Leitura | Leitura de diretivas de arquivos |
6. Domínio F: Monitoramento de Ingestão & Forwarders (051 a 060)
# | Ferramenta | Permissão | Para que serve / Quando usar |
051 |
| Leitura | Mapeamento de portas e canais de entrada. Utilizada para verificar quais monitores de log, portas de rede (TCP/UDP) e tokens HEC estão ativos. |
052 |
| Leitura | Diagnóstico de canal de entrada de dados. Utilizada para checar diretórios monitorados, índices de destino e expressões regulares de filtragem de arquivo. |
053 |
| Leitura | Auditoria do parque de Universal Forwarders. Utilizada para listar computadores clientes conectados com SO, versão do agente e volume transmitido em MB. |
054 |
| Leitura | Checagem de status de forwarder individual. Utilizada para verificar se um servidor específico está ativo ou se deixou de enviar telemetria. |
055 |
| Leitura | Detector de forwarders offline. Utilizada pelo SOC para alertar automaticamente quando endpoints ultrapassam um limite de tolerância de inatividade. |
056 |
| Leitura | Métricas de taxa de transferência e EPS. Utilizada para acompanhar a vazão de dados em KB/s e eventos por segundo sendo ingeridos no momento. |
057 |
| Leitura | Cálculo de atraso de ingestão (latência). Utilizada para diagnosticar represamento de rede ou relógios desincronizados entre servidores e Splunk (NTP). |
058 |
| Leitura | Varredura de erros de formatação de log. Utilizada para detectar falhas de timestamp ou quebra inadequada de eventos multilinhas no indexador. |
059 |
| Leitura | Auditoria de cobertura de fontes obrigatórias. Utilizada para validar se 100% dos servidores esperados estão ativamente gravando dados nos índices. |
060 |
| Leitura | Diagnóstico unificado de ingestão. Utilizada como ferramenta central de triagem quando eventos estiverem demorando para aparecer nas pesquisas. |
7. Domínio G: Segurança, SIEM & Caça a Ameaças (SOC) (061 a 070)
# | Ferramenta | Permissão | Para que serve / Quando usar |
061 |
| Leitura | Consolidação de falhas de autenticação. Utilizada para correlacionar eventos de senha incorreta em Windows ( |
062 |
| Leitura | Detecção heurística de força bruta. Utilizada para identificar ataques automatizados ou tentativas sucessivas de invasão (password spraying). |
063 |
| Leitura | Investigação forense 360° de endereço IP. Utilizada para correlacionar conexões de rede, acessos web e bloqueios de firewall originados de um IP suspeito. |
064 |
| Leitura | Auditoria de comportamento de usuário. Utilizada em investigações de credencial comprometida ou ameaça interna (insider threat). |
065 |
| Leitura | Análise forense de endpoint / servidor. Utilizada na resposta a incidentes para inspecionar processos executados e acessos no host comprometido. |
066 |
| Leitura | Varredura de Indicadores de Comprometimento (IOC). Utilizada para pesquisar hashes de malware (MD5/SHA256), domínios maliciosos ou IPs na base inteira. |
067 |
| Leitura | Correlação multi-fonte de eventos suspeitos. Utilizada para reconstruir a cadeia de ataque (cyber kill chain) ligando eventos de VPN, firewall e Active Directory. |
068 |
| Leitura | Detecção de anomalias estatísticas. Utilizada em Threat Hunting para descobrir picos incomuns de tráfego ou desvios de linha de base não cobertos por alertas. |
069 |
| Leitura | Fila de chamados de segurança pendentes. Utilizada para alimentar a esteira de triagem de analistas de segurança de primeiro e segundo nível. |
070 |
| Leitura | Reconstrução cronológica de incidente. Utilizada para gerar a linha do tempo comprobatória antes, durante e após o ataque para relatórios periciais. |
8. Domínio H: Performance & Capacidade do Cluster (071 a 080)
# | Ferramenta | Permissão | Para que serve / Quando usar |
071 |
| Leitura | Eficiência e tempo de resposta do Search Head. Utilizada para identificar quais usuários ou consultas estão sobrecarregando o cluster de buscas. |
072 |
| Leitura | Isolamento de buscas lentas e ineficientes. Utilizada para localizar queries que excedem 30 segundos ou consomem mais de 1GB de memória RAM. |
073 |
| Leitura | Monitor de limites de concorrência simultânea. Utilizada para verificar se o Splunk está enfileirando buscas por esgotamento de slots de CPU. |
074 |
| Leitura | Auditoria de buscas agendadas puladas (skipped searches). Utilizada para diagnosticar atrasos na execução de relatórios automáticos. |
075 |
| Leitura | Consolidação de falhas e erros críticos no |
076 |
| Leitura | Monitoramento diário de consumo de licença. Utilizada para prevenir violações (license warnings) que bloqueiam a execução de buscas por estouro de cota. |
077 |
| Leitura | Auditoria de espaço em disco e partições |
078 |
| Leitura | Saúde de clusters de Search Head e Indexadores. Utilizada em arquiteturas distribuídas para validar a sincronização entre nós. |
079 |
| Leitura | Checagem de Fatores de Replicação e Busca (RF/SF). Utilizada para assegurar a redundância e tolerância a falhas dos buckets de dados no cluster. |
080 |
| Leitura | Diagnóstico central de lentidão sistêmica. Utilizada para correlacionar consumo de CPU, I/O de disco e filas quando houver lentidão na plataforma. |
9. Domínio I: Ações Operacionais & Modificações (081 a 090)
# | Ferramenta | Permissão | Para que serve / Quando usar |
081 |
| Escrita | Criação programática de novos índices. Utilizada no provisionamento de bases de dados dedicadas para novos projetos ou sistemas corporativos. |
082 |
| Escrita | Ajuste de retenção e congelamento de buckets. Utilizada para estender o tempo de guarda histórica de logs de auditoria ou arquivar dados. |
083 |
| Escrita | Habilitação ou desabilitação de entradas de dados. Utilizada para pausar a coleta de arquivos durante janelas de manutenção de infraestrutura. |
084 |
| Escrita + Confirmação | Gestão de credenciais de usuários. Utilizada na automação de criação e desligamento de contas no Splunk com confirmação de segurança. |
085 |
| Escrita + Confirmação | Gestão de papéis e permissões RBAC. Utilizada para criar novos perfis de acesso com restrições granulares por índice. |
086 |
| Escrita + Confirmação | Gestão de ciclo de vida de aplicativos. Utilizada para habilitar ou desabilitar complementos e TAs com proteção humana. |
087 |
| Leitura | Validação sintática com |
088 |
| Leitura | Exportação estruturada em JSON ou CSV. Utilizada para alimentar Data Lakes externos ou gerar cópias de segurança de evidências periciais. |
089 |
| Escrita | Injeção de eventos sintéticos via REST ou HEC. Utilizada para testar pipelines de coleta e simular ataques para validação de regras de detecção. |
090 |
| Leitura | Reexecução retroativa de buscas salvas. Utilizada em auditorias para reaplicar a lógica de um relatório em janelas temporais do passado. |
10. Domínio J: Inteligência Analítica & Workflows (091 a 100)
# | Ferramenta | Permissão | Para que serve / Quando usar |
091 |
| Leitura | Tradução de linguagem natural para SPL. Utilizada para transformar perguntas humanas em buscas SPL otimizadas sem precisar memorizar comandos. |
092 |
| Leitura | Refatoração e otimização de consultas SPL. Utilizada para reescrever buscas pesadas, reduzindo o tempo de resposta e poupando CPU dos indexadores. |
093 |
| Leitura | Interpretação semântica de resultados. Utilizada para responder a dúvidas analíticas do operador e gerar resumos executivos claros sobre os dados. |
094 |
| Leitura | Comparação temporal quantitativa. Utilizada para medir variações percentuais de métricas entre duas janelas (ex: hoje vs ontem, ou pré vs pós-incidente). |
095 |
| Leitura | Auditoria de qualidade e anomalias de schema. Utilizada para detectar campos com excesso de valores nulos ou discrepâncias de formato nos índices. |
096 |
| Leitura | Geração de relatório executivo em Markdown. Utilizada para emitir relatórios consolidados de saúde da infraestrutura para passagem de turno. |
097 |
| Leitura / Escrita | Orquestração de pipelines automatizadas. Utilizada na triagem sequencial de incidentes ( |
098 |
| Leitura | Simulação prévia de risco (dry-run). Utilizada antes de ações administrativas críticas para avaliar previamente dependências e impactos. |
099 |
| Leitura | Consulta à trilha de auditoria em memória. Utilizada para auditar em tempo real as ações executadas pelo assistente de IA durante a sessão. |
100 |
| Leitura | Teste diagnóstico de conectividade ponta a ponta. Utilizada para validar handshake HTTP/HTTPS, latência de rede, TLS, autenticação e versão do Splunk. |
Guia de Início Rápido
1. Clonar o Repositório
git clone https://github.com/nks1097/Splunk_Enterprice_MCP.git
cd Splunk_Enterprice_MCP2. Criar e Ativar o Ambiente Virtual
No Windows (PowerShell):
Caso o PowerShell bloqueie a execução de scripts (running scripts is disabled on this system), libere a permissão para o usuário atual antes de ativar o ambiente:
No terminal do PowerShell, libere a execução de scripts para o seu usuário:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser(Pressione S ou A para confirmar caso solicitado).
Crie e ative o ambiente virtual normalmente:
python -m venv .venv
.\.venv\Scripts\activate(O prefixo (.venv) aparecerá no início da linha do terminal).
Instale o pacote em modo de desenvolvimento com as dependências:
pip install -e ".[dev]"No Linux / macOS:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"3. Configurar as Variáveis de Ambiente
Copie o arquivo de exemplo .env.example para .env:
# Windows
copy .env.example .env
# Linux / macOS
cp .env.example .envEdite o arquivo .env com os dados da sua instância do Splunk:
# Configuração de Conexão com o Splunk Enterprise
SPLUNK_HOST=192.168.0.107
SPLUNK_PORT=8000
SPLUNK_SCHEME=http
# Credenciais de Acesso (ou use SPLUNK_TOKEN para Bearer Token)
SPLUNK_USERNAME=admin
SPLUNK_PASSWORD=sua_senha_aqui
# SPLUNK_TOKEN=seu_token_jwt_aqui
# Validação de Certificado TLS (defina false para certificados autoassinados)
SPLUNK_VERIFY_TLS=false
# Políticas de Governança e Segurança
MCP_READ_ONLY=false
MCP_TRANSPORT=stdioExemplo 1 das configurações do arquivo .env

Exemplo 2 das configurações do arquivo .env

Configuração nos Clientes MCP
Claude Desktop
Adicione ao arquivo de configuração:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"splunk": {
"command": "C:/caminho/para/Splunk_Enterprice_MCP/.venv/Scripts/python.exe",
"args": ["-m", "splunk_mcp.server", "--transport", "stdio"],
"cwd": "C:/caminho/para/Splunk_Enterprice_MCP",
"env": {
"SPLUNK_HOST": "192.168.0.107",
"SPLUNK_PORT": "8000",
"SPLUNK_SCHEME": "http",
"SPLUNK_USERNAME": "admin",
"SPLUNK_PASSWORD": "sua_senha_aqui",
"SPLUNK_VERIFY_TLS": "false",
"MCP_READ_ONLY": "false"
}
}
}
}Antigravity IDE (mcp_config.json)
{
"mcpServers": {
"splunk": {
"command": "C:/caminho/para/Splunk_Enterprice_MCP/.venv/Scripts/python.exe",
"args": ["-m", "splunk_mcp.server", "--transport", "stdio"],
"cwd": "C:/caminho/para/Splunk_Enterprice_MCP"
}
}
}imagem de Exemplo de configuração mcp_config.json para o Antigravity IDE

Cursor (.cursor/mcp.json)
{
"mcpServers": {
"splunk": {
"command": "python",
"args": ["-m", "splunk_mcp.server", "--transport", "stdio"],
"env": {
"SPLUNK_HOST": "192.168.0.107",
"SPLUNK_PORT": "8000",
"SPLUNK_SCHEME": "http",
"SPLUNK_USERNAME": "admin",
"SPLUNK_PASSWORD": "sua_senha_aqui",
"SPLUNK_VERIFY_TLS": "false"
}
}
}
}Execução via Docker & Docker Compose
Para rodar como um microserviço HTTP/SSE containerizado em Kubernetes ou Docker:
# Inicializar o container em segundo plano
docker compose up -d
# Verificar a integridade do serviço
curl -I http://localhost:8001/sseValidação e Bateria de Testes
O repositório inclui suítes completas de testes unitários e de integração:
# Executar os 24 testes unitários com mocks offline
pytest tests/unit -v
# Executar os testes de integração ao vivo contra o Splunk
pytest tests/integration/test_live_splunk.py -v -sVIDEO DE CONFIGURAÇÃO DE FORMA SIMPLIFICADA USANDO ANTIGRAVITY IDE
▶️ Clique aqui para assistir ao vídeo completo no Google Drive Assiste em Full Hd (1080P)
Documentação Técnica Aprofundada
Licença
Distribuído sob a licença de código aberto Apache License, Version 2.0.
Available Tools
100 toolssplunk_acknowledge_alertB
Acknowledge or update status of an alert finding (requires write mode).
Args: alert_id: Fired alert ID. comment: Operational acknowledgement comment.
| Name | Required | Description | Default |
|---|---|---|---|
| comment | No | ||
| alert_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that write mode is required, but does not describe the effect of acknowledgement, whether the operation is idempotent, permission requirements beyond write mode, or what happens to the alert state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the main action and write-mode requirement. The Args section is efficient and there is no unnecessary text, though the docstring-style formatting is slightly less polished than a tightly written prose definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. For a mutation tool with no annotations, however, the description is only minimally complete: it omits workflow context, state-change semantics, and alternative operations, which matter for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain both parameters briefly: alert_id as the fired alert ID and comment as an operational acknowledgement comment. However, it does not clarify that comment is optional or provide format expectations, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: acknowledging or updating the status of an alert finding. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as splunk_manage_alert_suppression or splunk_get_alert_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that write mode is required, which is a useful prerequisite. However, it does not explain when to use this tool versus alternatives like alert suppression, alert history retrieval, or listing alerts, leaving usage largely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_audit_tool_activityA
Query recent MCP server tool invocations, execution duration, and audit logs.
Args: limit: Number of audit records to retrieve (default 50). tool_filter: Optional tool name filter. only_failures: Only retrieve failed tool executions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| tool_filter | No | ||
| only_failures | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. 'Query' implies a read-only operation and the description notes that execution duration and audit logs are returned plus a failure-only filter, but it does not cover permissions, retention window, rate limits, or what 'recent' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core purpose, and follows with a compact parameter list. Every sentence and argument description serves a clear function without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so the description need not document return values, and it explains all three parameters adequately. The main gap is the lack of annotation coverage and the vague 'recent' time scope, but for a simple audit-query tool the description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by documenting all three parameters in prose: limit as the number of audit records with a default of 50, tool_filter as an optional tool-name filter, and only_failures as a failure-only switch. This adds clear meaning beyond the bare schema types, though it does not explain accepted values or bounds for tool_filter or limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Query') and clearly identifies the resource as recent MCP server tool invocations, execution duration, and audit logs. It does not explicitly differentiate itself from siblings such as splunk_search_history or splunk_get_search_performance, but the MCP-tool-activity scope is distinctive enough for an agent to understand the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its opening scope and the only_failures filter, which supports failure-analysis scenarios. However, it gives no explicit when-to-use guidance, no exclusions, and no comparison to alternative tools, leaving usage largely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_build_incident_timelineC
Composite tool: construct a high-fidelity chronological timeline for an incident entity.
Args: entity_type: Type of entity ('ip', 'user', or 'host'). entity_value: The entity string (e.g. '10.0.0.5', 'jsmith', 'srv-db-01'). earliest_time: Incident timeline start. latest_time: Incident timeline end. max_events: Maximum chronological timeline events.
| Name | Required | Description | Default |
|---|---|---|---|
| max_events | No | ||
| entity_type | Yes | ||
| latest_time | No | now | |
| entity_value | Yes | ||
| earliest_time | No | -12h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses only that this is a 'composite tool' — a useful hint that multiple searches are dispatched and cost is therefore higher. It says nothing about read-only vs. mutating behavior, latency/cost, which data sources are correlated, or how 'high-fidelity' is achieved. Output schema existing removes the need to explain return values, but the operational profile is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded and efficient, but the indented Args block is largely a restatement of parameter names ('max_events: Maximum chronological timeline events', 'earliest_time: Incident timeline start'). Length is acceptable, yet several lines earn nothing beyond what the schema title already says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the safety profile is undeclared, so the remaining burden is modest, but a composite/orchestrating tool with five parameters and zero annotation coverage should state at minimum what it aggregates and that it is a read-only, higher-cost call. The description leaves the agent guessing how it differs from single-entity investigation tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does enumerate all five parameters. Crucially it supplies the entity_type enum ('ip', 'user', 'host') and value examples that the schema lacks entirely, which is real added meaning. However, earliest_time/latest_time are described only as "Incident timeline start/end" without Splunk relative-time syntax, and max_events merely restates its own name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Construct a high-fidelity chronological timeline for an incident entity" gives a specific verb and resource, and the "Composite tool" prefix signals it orchestrates multiple underlying queries rather than a single search. It does not name which sibling it replaces (e.g., splunk_investigate_ip/host/user or splunk_correlate_events), so the boundary is only weakly drawn.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no exclusion, and no named alternative among heavily overlapping siblings like splunk_investigate_ip, splunk_correlate_events, or splunk_search_events. The agent must infer that a 'composite' timeline is the post-investigation aggregation step rather than the first call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_check_forwarder_connectivityA
Detect missing forwarders that stopped transmitting data beyond expected threshold.
Args: threshold_minutes: Minutes without data before flagging as disconnected (default 15).
| Name | Required | Description | Default |
|---|---|---|---|
| threshold_minutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the flagging semantics (disconnected = no data within threshold) but says nothing about permissions, whether the check is read-only, scope (all forwarders? all indexes?), or whether it triggers notifications. Reasonable but thin for a no-annotation diagnostic tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of purpose followed by parameter detail, with the core detection behavior front-loaded. The docstring-style 'Args:' block is slightly raw but adds real information rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described. However, with no annotations and no mention of scope or what qualifies as a 'missing' forwarder (never-registered vs. gone-silent), the definition leaves gaps an agent would want filled before relying on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description explains the single parameter meaningfully: minutes without data before a forwarder is flagged, with the default restated. That is exactly the semantic the schema's bare 'integer' title lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: detects forwarders that stopped transmitting past a threshold. It is distinguishable in spirit from splunk_list_forwarders and splunk_get_forwarder_status, but the description never names or contrasts those siblings, so differentiation relies on inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use for connectivity monitoring is implied by 'stopped transmitting data beyond expected threshold,' but there is no explicit when-to-use, when-not-to-use, or pointer to alternatives such as splunk_get_data_freshness or splunk_get_ingestion_lag, which overlap in intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_check_source_coverageC
Verify that expected data sources are active and currently indexing data.
Args: expected_sources: List of expected source or sourcetype strings. index: Target index. lookback: Time interval to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | main | |
| lookback | No | -4h | |
| expected_sources | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only diagnostic check, but it doesn't state the required permissions, whether it runs a background search that could be expensive, how 'active' is determined, or what happens to expected sources that are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence comes first, and the Args block is terse, with no filler. The Args block mostly duplicates schema titles, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema covers return values, but with zero schema coverage and zero annotations, the description should explain matching behavior: exact versus wildcard source matching, case sensitivity, and the semantics of the lookback window. It omits all of these for a three-parameter verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only restates parameter titles. It usefully clarifies that expected_sources accepts source or sourcetype strings, which is real added meaning, but 'lookback: Time interval to inspect' never explains the '-4h' relative-time syntax or the accepted formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Verify that expected data sources are active and currently indexing data.' That clearly separates it from listing tools like splunk_list_sources or splunk_list_sourcetypes, but it never names a sibling or says what makes it different from splunk_get_data_freshness or splunk_search_data_gaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but never says when to call it instead of alternatives, or which prerequisites must be met first. There is no exclusion or routing guidance at all, even though several sibling tools cover overlapping monitoring intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_compare_time_periodsC
Compare event volume or metric values between two distinct time periods.
Args: metric_spl: Search query ending in stats count or metric. period1_earliest: Current period start. period1_latest: Current period end. period2_earliest: Comparison period start. period2_latest: Comparison period end.
| Name | Required | Description | Default |
|---|---|---|---|
| metric_spl | Yes | ||
| period1_latest | No | now | |
| period2_latest | No | -24h@h | |
| period1_earliest | No | -24h@h | |
| period2_earliest | No | -48h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but discloses little: nothing about permissions/index access needed, whether the two periods must be non-overlapping, whether this is read-only, or how large the result may be. The one useful behavioral hint is that metric_spl must end in a stats count or metric clause, but that is a parameter constraint rather than tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded purpose sentence followed by an args block — no filler. The docstring-style listing is slightly terse and the one-line param glosses could be a bit richer without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and the purpose plus param list cover the bare minimum. Missing pieces are the time-format conventions, overlap/default behavior, and any hint about the comparison result shape, which an agent must guess for a two-period diff tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (all properties are title-only), so the description must compensate, and it does partially by naming each of the five params and their role. However, it never explains the timestamp format Splunk expects (relative strings like '-24h@h' vs ISO), nor the meaning of the defaults, nor what 'current' vs 'comparison' period means for pairing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
First sentence gives a specific verb and resource — 'Compare event volume or metric values between two distinct time periods' — which is clearly distinct from sibling search tools like splunk_search or splunk_search_events. It falls short of 5 because it doesn't explicitly name the alternative it replaces (e.g., running two searches manually).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus splunk_search, splunk_detect_anomalies, or splunk_search_data_gaps. The only guidance is the implicit requirement that metric_spl end in a stats count/metric, which constrains the query but doesn't tell an agent when the tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_correlate_eventsB
Correlate multi-source events occurring within a synchronized time window around an entity.
Args: entity_value: Target identifier (e.g. IP, username, hostname). window_minutes: Time window in minutes before and after timestamp. timestamp: Anchor epoch or ISO timestamp (default current time).
| Name | Required | Description | Default |
|---|---|---|---|
| timestamp | No | ||
| entity_value | Yes | ||
| window_minutes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It explains the time-window behavior and default timestamp but does not state whether the operation is read-only, what permissions are required, whether it is expensive, which data sources are correlated, or any limits on the correlation search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the purpose appears first, followed by a concise Args section. Every sentence and parameter note contributes useful information with no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values. However, with no annotations and a broad correlation purpose in a dense sibling set, the description is only minimally complete: it explains the parameters but omits operational context such as data sources, performance expectations, permissions, and when to prefer this tool over nearby investigation or timeline tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It documents all three parameters meaningfully: entity_value as an IP/username/hostname identifier, window_minutes as the before-and-after window, and timestamp as an epoch or ISO anchor with current time as default. Minor gaps remain, such as not restating the window_minutes default of 30 or describing boundary inclusivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: correlate multi-source events within a synchronized time window around an entity. It is clear what the tool does, though it does not explicitly differentiate itself from related siblings such as splunk_investigate_ip, splunk_investigate_user, or splunk_build_incident_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it state exclusions or prerequisites. Usage is only implied by the purpose statement and parameter list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_create_dashboardA
Create a new Simple XML or Dashboard Studio dashboard (requires write mode).
Args: name: Unique dashboard view ID. label: Display title of dashboard. xml_data: XML or JSON dashboard definition. app: App namespace (default 'search').
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | search | |
| name | Yes | ||
| label | Yes | ||
| xml_data | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the write-mode requirement and that the payload may be either Simple XML or Dashboard Studio JSON, which is genuinely useful. It does not say whether a duplicate 'name' overwrites or errors, nor anything about permissions beyond write mode, so key mutation risk remains undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose sentence followed by a compact Args block; no filler. The small cost is that the Args block is the only structural element and the purpose line does not preview the prerequisite prominently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. But for a mutation tool with zero annotations, the definition omits collision/overwrite behavior and error conditions an agent should anticipate before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it clarifies 'name' is a unique view ID, 'label' is the display title, 'app' defaults to 'search', and critically that 'xml_data' accepts either XML or JSON despite its name. Minor remaining ambiguity (how label behaves on duplicate, whether xml_data is validated) keeps it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new Simple XML or Dashboard Studio dashboard'), which clearly separates it from sibling mutators like splunk_update_dashboard and splunk_delete_dashboard. It does not explicitly name those siblings, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(requires write mode)' gives a real prerequisite, which is useful gating information. However, there is no guidance on when to create vs. update an existing dashboard, or what to do if the name already exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_create_indexA
Create a new Splunk index with storage capacity and retention limits (requires write mode).
Args: name: Unique name of the new index. max_size_mb: Maximum index size in Megabytes (default 10,000 MB). frozen_retention_days: Optional retention window in days before aging to frozen.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| max_size_mb | No | ||
| frozen_retention_days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the write-mode requirement and states the aging-to-frozen behavior, which is meaningful context for a mutating tool, but it omits failure modes (duplicate name), irreversibility, and permission scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and the write-mode constraint are front-loaded in one sentence, followed by a tight Args list. The Args entries slightly restate the schema's defaults, but each still earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and all three parameters are documented. A creation tool with no annotations would ideally state duplicate-name behavior and permission requirements, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block does the work: it explains that name must be unique, that max_size_mb is in megabytes with a 10,000 MB default, and that frozen_retention_days is the window before aging to frozen. All three parameters gain meaning beyond the bare schema types, though units for the retention field could be restated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new Splunk index') plus the dimensions it controls (storage capacity, retention limits), which distinguishes it from the read-side siblings like splunk_get_index and splunk_list_indexes. It stops short of explicitly naming splunk_update_index_settings as the alternative for existing indexes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'(requires write mode)' gives one real precondition for use. There is no guidance on when to prefer this over splunk_update_index_settings, no mention of admin/permission prerequisites, and no statement about what happens if the index name already exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_create_saved_searchA
Create a new saved search or scheduled report (requires write mode).
Args: name: Unique name for the saved search. search: SPL search query. description: Description of the report/saved search. cron_schedule: Cron expression (e.g. '0 * * * *'). is_scheduled: Whether to enable automatic schedule. app: App namespace (default 'search').
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | search | |
| name | Yes | ||
| search | Yes | ||
| description | No | ||
| is_scheduled | No | ||
| cron_schedule | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it does contribute one important behavioral fact: write mode is required. Beyond that it says nothing about duplicate-name handling, whether the search executes on creation, or what errors to expect, which are material gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose sentence before the parameter list, so the agent gets the essential action immediately. The args block is appropriately sized for six undocumented parameters, though a few entries restate the parameter name without adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and all six parameters get some coverage. For a write operation with zero annotations, though, the definition omits failure modes (duplicate name, invalid cron, nonexistent app namespace) that an agent would need before committing a mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the docstring arg list does real work: it explains that 'search' is an SPL query, gives a cron syntax example, and states the 'app' default of 'search'. Some entries are near-tautological ('description: Description of the report/saved search'), and the is_scheduled/cron_schedule interaction is not clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new saved search or scheduled report'), which is immediately distinguishable from siblings like splunk_update_saved_search and splunk_list_saved_searches by verb alone. It never names those alternatives explicitly, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(requires write mode)' gives one concrete prerequisite for invoking the tool, which is genuinely useful. However, there is no guidance on when to create versus update or dispatch an existing saved search, and the relationship between is_scheduled and cron_schedule is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_delete_dashboardB
Delete a dashboard (requires write mode and human confirmation).
Args: name: Name of dashboard to delete. app: Optional app namespace. confirm: Confirmation flag.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| name | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose two meaningful traits: write mode is required and human confirmation is expected. What it omits matters for a destructive tool — that the deletion is irreversible, what happens if the name does not exist, and whether the delete is scoped to the app namespace or global. Partial disclosure for a destructive operation lands at 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative sentence comes first and is followed by a compact, scannable Args list with no filler or marketing language. Minor redundancy in restating parameter names that are already in the schema, but nothing is bloated. Front-loading the destructive nature before the parameters is the right structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the parameter list is fully enumerated. For a three-parameter destructive tool with no annotations, though, the description leaves out irreversibility, error behavior on a missing name, and app-scope semantics — gaps an agent would need filled before calling confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partly does via an Args block describing all three parameters. But the semantics are thin: "confirmation flag" restates the parameter name without saying it must be true for the call to succeed, and "optional app namespace" does not explain the default scope when omitted. Helpful but not sufficient given zero schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource ("Delete a dashboard") that unambiguously separates it from siblings like splunk_create_dashboard, splunk_update_dashboard, and splunk_get_dashboard. It also front-loads the two preconditions in the same sentence rather than burying them. It stops short of a 5 because it never names the sibling tool a caller might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Requires write mode and human confirmation" implicitly tells the agent this is only appropriate for an authenticated, user-sanctioned removal — a real usage constraint. However, there is no explicit guidance on when to delete versus archive or rename via splunk_update_dashboard, and no statement about what to do if the target is the wrong dashboard. Usage is implied, not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_delete_saved_searchA
Delete an existing saved search (requires write mode and human confirmation).
Args: name: Name of the saved search to delete. confirm: Confirmation flag.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the write-mode requirement and human confirmation, but it does not explain irreversibility, side effects, or how the confirm flag interacts with the confirmation requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded, direct, and free of filler. The key operation and its preconditions appear in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter destructive tool with no annotations but an output schema, the description covers the essential operational context: deletion, write mode, and human confirmation. It could be stronger by clarifying confirm semantics, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It names both parameters ('name' and 'confirm') but gives only minimal semantics, especially for 'confirm: Confirmation flag', which does not clarify that setting it to true is what actually authorizes deletion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Delete an existing saved search'. It is immediately distinguishable from sibling operations such as splunk_create_saved_search, splunk_update_saved_search, and splunk_get_saved_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear preconditions for use: 'requires write mode and human confirmation'. It does not explicitly name alternatives or when not to use it, but the delete operation is unambiguous against its create/update/get siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_detect_anomaliesC
Execute statistical anomaly detection (outliers based on standard deviation) over time series.
Args: index: Index to inspect. sourcetype: Optional sourcetype. field_to_analyze: Metric or field (default 'count'). time_span: Aggregation bucket (default '1h').
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | ||
| time_span | No | 1h | |
| sourcetype | No | ||
| field_to_analyze | No | count |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It discloses the statistical method (standard deviation outliers), which is genuinely useful, but says nothing about whether this runs a search job, cost/permission implications, read-only safety, or how many anomalies are returned. A mutation-free read tool still needs more than algorithm hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded with the core purpose and the Args list is compact, with no filler. Slightly weakened by the Args entries being near-verbatim parameter names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described. However, for a detection tool with zero annotations and no usage guidance, the definition leaves the agent unsure when to call it and what operational side effects to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block does real work: it explains that index is the index to inspect, sourcetype is optional, field_to_analyze defaults to 'count', and time_span is the aggregation bucket. It stops short of specifying time_span syntax (e.g. '1h', '5m') or the semantics of analyzing 'count' as a field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Execute statistical anomaly detection (outliers based on standard deviation) over time series,' and even names the technique. That is clear and actionable, but it never distinguishes itself from adjacent analytical siblings such as splunk_compare_time_periods or splunk_detect_data_quality_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only content beyond the opening line is an Args block that restates the parameters. There is no statement of when to prefer this over splunk_search or splunk_compare_time_periods, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_detect_brute_forceB
Detect potential brute force attacks or credential stuffing based on repeated failed logins.
Args: threshold: Minimum failed attempts to flag (default 5). time_window: Bin duration (default '15m'). earliest_time: Time range to analyze (default '-4h').
| Name | Required | Description | Default |
|---|---|---|---|
| threshold | No | ||
| time_window | No | 15m | |
| earliest_time | No | -4h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the detection logic (thresholding repeated failures over a binned window), but never states that this is a read-only analysis, what the grouping dimension is (per user, per IP, per host), or how expensive the underlying search is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One-sentence purpose followed by a compact Args block with defaults; no filler and the objective is front-loaded. The Args list is functional but thin relative to the schema it mirrors.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described. Still, for a security detection tool with zero annotations, the definition omits the detection scope (which log sources/fields, group-by key) and whether the agent can expect distinct entities or raw bins.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description documents all three parameters with defaults and intent, which compensates well. It is slightly weaker on 'time_window: Bin duration', which doesn't clarify the accepted format or what the bin is grouped by.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and detection objective ('Detect potential brute force attacks or credential stuffing based on repeated failed logins'), which is clear enough to act on. It does not, however, differentiate itself from the sibling splunk_detect_failed_logins, which sounds like an adjacent/overlapping tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this versus splunk_detect_failed_logins, splunk_investigate_ip, or the general search tools. The only implicit cue is 'repeated failed logins,' which leaves the agent to infer the aggregation/threshold distinction on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_detect_data_quality_issuesB
Audit an index and sourcetype for null values, timestamp skew, and format discrepancies.
Args: index: Index to audit. sourcetype: Optional sourcetype filter.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | ||
| sourcetype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the audit targets (nulls, timestamp skew, format discrepancies), which is useful, but it does not state whether the operation is read-only, what permissions are required, how much data is scanned, or whether there are time-range defaults or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the audit purpose and checks come first, followed by concise parameter notes. There is little wasted text, though the Args block mostly repeats the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for an audit tool with no annotations and zero schema-description coverage, the description is only minimally complete: it lacks when-to-use guidance, read-only behavior, and any default time-range or scan-scope context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does identify the two parameters and marks sourcetype as optional, which is minimally helpful, but the explanations ('Index to audit', 'Optional sourcetype filter') are largely tautological and add little beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (audit) and resource (index/sourcetype), and enumerates the exact checks performed: null values, timestamp skew, and format discrepancies. It is clear what the tool does, though it does not explicitly differentiate itself from nearby data-diagnosis siblings such as splunk_get_parsing_errors or splunk_check_source_coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the audit framing and optional sourcetype filter, but there is no explicit guidance on when to choose this tool over alternatives like splunk_diagnose_ingestion or splunk_get_field_summary. The agent must infer that this is for data-quality auditing rather than broader ingestion diagnosis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_detect_failed_loginsB
Detect and aggregate failed authentication events across Splunk audit, Windows, and Linux logs.
Args: index: Optional specific index (defaults to searching _audit and default indexes). earliest_time: Earliest search window (default '-24h@h'). count: Maximum aggregated rows to return.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | No | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden, yet it says nothing about permissions, cost/timeouts, or how 'aggregate' works (grouped by user, host, source?). It hints at cross-source scoping but leaves the key aggregation behavior opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, followed by a compact Args breakdown. No wasted text; the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A full output schema exists so return values needn't be explained, and all three params are covered. However, the description omits the aggregation grouping semantics and when-to-use context, which matter for interpreting results of a detection tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well: it explains index defaults to _audit and default indexes (beyond the schema's null default), gives the earliest_time default, and defines count as max aggregated rows. This adds real meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Detect and aggregate') and resource ('failed authentication events') across named sources (Splunk audit, Windows, Linux logs). It is clearly distinguishable from generic search tools, but it does not explicitly contrast itself with the nearby splunk_detect_brute_force sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives such as splunk_detect_brute_force, splunk_investigate_user, or splunk_search. Prerequisites and selection criteria are left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_detect_slow_searchesC
Identify slow or expensive searches exceeding duration threshold.
Args: min_duration_seconds: Threshold in seconds to flag (default 30). earliest_time: Search window. count: Maximum slow searches to list.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| earliest_time | No | -24h@h | |
| min_duration_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It doesn't say what data source is queried (job history vs. search endpoint), whether it requires admin permissions, or what 'expensive' is measured by beyond duration. Only the read-only nature is implied by 'Identify'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One summary sentence plus a short args list; front-loaded and free of padding. The Args block is functional, though terse enough that some entries read as labels rather than explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained. But for a diagnostics tool with zero annotations and 0% schema coverage, the description should at least clarify the time-format convention and the notion of 'expensive' — those gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description does compensate by explaining all three parameters. However 'earliest_time: Search window' gives no format hint (the schema default '-24h@h' is unexplained) and 'count' is described only as 'Maximum slow searches to list', so the compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific verb+resource: identifies slow/expensive searches above a duration threshold. This distinguishes it reasonably from siblings like splunk_get_search_performance or splunk_search_history, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus splunk_get_search_performance, splunk_get_search_concurrency, or splunk_search_history, all of which overlap in the 'search cost/perf' space. The agent must infer the choice from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_diagnose_ingestionB
Composite diagnostic: evaluate overall pipeline health, queue sizes, drop rates, and bottlenecks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that this is a composite evaluation of several ingestion-health signals, which is useful, but it does not explicitly state that it is read-only, whether it runs heavy queries, or what permissions/timeouts apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted text. It efficiently names the tool type and the specific health dimensions being evaluated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description is complete enough to invoke safely, and it indicates the scope of the diagnostic. However, in a large ecosystem of ingestion-specific siblings, it does not fully explain when this composite tool is preferable to the granular alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain input semantics, and the empty schema is consistent with a no-argument diagnostic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (evaluate) and resource (overall pipeline health) and lists concrete diagnostic aspects: queue sizes, drop rates, and bottlenecks. The word 'composite' signals it is an aggregate diagnostic rather than a granular metric fetch, though it does not explicitly name the sibling tools it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. 'Composite diagnostic' implies a broad overview, but the description never tells the agent to choose this over granular siblings such as splunk_get_ingestion_metrics, splunk_get_ingestion_lag, or splunk_get_parsing_errors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_diagnose_performanceB
Composite tool: multi-dimensional assessment of CPU, memory, scheduler, disk, and search latency.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral-disclosure burden. It lists assessed dimensions but says nothing about whether the tool is read-only, how expensive the multi-dimensional assessment is, what permissions are needed, or whether it triggers searches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It immediately communicates the composite nature and the dimensions assessed, wasting no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. The description adequately names the dimensions, but it lacks guidance on when this composite tool is preferable to targeted sibling diagnostics and omits behavioral context such as cost or safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics to document. The baseline score of 4 applies because the schema is trivially complete and the description does not need to compensate for undocumented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a composite performance assessment covering CPU, memory, scheduler, disk, and search latency. This distinguishes it from single-domain siblings like splunk_get_scheduler_health and splunk_get_search_performance, though the phrasing is a noun phrase rather than a direct verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only implies broad use by calling it a 'Composite tool' and listing dimensions. It does not state when to choose this over targeted siblings such as splunk_get_scheduler_health or splunk_get_server_health, nor does it provide exclusions or triage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_dispatch_saved_searchB
Dispatch and immediately run a saved search, returning its newly generated job SID.
Args: name: Name of the saved search. trigger_actions: Whether to fire configured alert actions (e.g. email, webhook).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| trigger_actions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It usefully states that the tool immediately runs the search, returns a newly generated job SID, and that trigger_actions can fire configured alert actions, but it omits permissions, job lifecycle/async behavior, and any side effects beyond alert actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence front-loads the action and return value, and the short Args section documents the two parameters without unnecessary padding. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an action-oriented tool with no annotations and low schema description coverage, the definition covers the parameters and return value adequately. However, it lacks guidance on alternatives, permissions, and job lifecycle behavior, which leaves meaningful gaps for an agent deciding whether and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does explain both parameters: name identifies the saved search, and trigger_actions controls whether configured alert actions fire, with examples. The only minor gap is that it does not restate the default for trigger_actions, though the schema provides it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: dispatch/run a saved search, plus the return value (newly generated job SID). It is clear what the tool does, but it does not differentiate itself from closely related siblings such as splunk_replay_saved_search, splunk_search_async, or splunk_run_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The usage is only implied by the purpose statement, leaving the agent to infer when dispatching a saved search is preferable to replaying one or launching an async search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_execute_workflowB
Execute an automated investigation or operational workflow pipeline.
Args: workflow_name: Workflow to run ('incident_triage', 'ingestion_audit', 'capacity_review'). parameters: Workflow specific parameters (e.g. {'entity': '10.0.0.1'}).
| Name | Required | Description | Default |
|---|---|---|---|
| parameters | No | ||
| workflow_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden, and it says nothing about side effects, permissions required, whether workflows mutate state, expected runtime, or whether execution is synchronous. 'Execute' strongly implies a potentially consequential action, and for a tool with zero annotation coverage that is a material gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sections, front-loaded with the action and followed by argument guidance; no filler sentences. The Args formatting is slightly redundant with the schema structure but the content itself is dense and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the two inputs are addressed. What is missing is behavioral context around execution — side effects, duration, and per-workflow parameter contracts — which matters for a tool that runs multi-step pipelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does reasonably well: it enumerates the three valid workflow_name values (information absent from the schema, which merely types it as a string) and gives a concrete example shape for the free-form parameters object. The parameters field remains open-ended, so an agent still cannot know which keys a given workflow expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Execute) and resource (automated investigation or operational workflow pipeline), and the Args section enumerates the concrete workflows available, which makes the tool's domain tangible. It does not, however, distinguish this meta-workflow from narrower siblings like splunk_investigate_ip or splunk_diagnose_ingestion that cover overlapping investigative territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Naming 'incident_triage', 'ingestion_audit' and 'capacity_review' implicitly tells an agent what situations fit, but there is no explicit when-to-use/when-not, no prerequisites, and no statement about how this differs from chaining the individual detector tools that already exist as siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_explain_search_resultsA
Interpret search results, highlight statistical distributions, and summarize key findings.
Args: results: Array of result dictionaries from a search. question: Optional analytical question being answered.
| Name | Required | Description | Default |
|---|---|---|---|
| results | Yes | ||
| question | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the analytical transformations (interpretation, distribution highlighting, summarization), but does not state whether the operation is read-only, whether it re-runs or accesses Splunk, or any privacy/rate-limit considerations. The output schema covers return structure, but key behavioral context is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded, compact, and free of filler. The Args section maps cleanly to the two parameters without repeating schema boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters, an output schema, and no annotations, the description covers the core purpose and both inputs adequately. However, it is not complete enough to help an agent confidently select this tool over the many related analysis siblings, and it omits behavioral details such as read-only nature or whether it performs any Splunk-side operations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does explain both parameters: `results` is an array of result dictionaries from a search, and `question` is an optional analytical question. This is meaningful beyond the bare schema titles, though it does not specify result array size or shape constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb set and resource: interpret search results, highlight statistical distributions, and summarize findings. It is clear that this is a post-processing/analysis tool over an existing results array. However, it does not differentiate itself from nearby analysis siblings such as splunk_search_explain, splunk_get_field_summary, or splunk_detect_anomalies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the required `results` parameter: call this after obtaining search results to interpret them. The optional `question` parameter hints at answering a specific analytical question. There is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_export_search_resultsC
Export search results in structured format (JSON, CSV, or raw events).
Args: spl: SPL search query. output_format: 'json', 'csv', or 'raw'. earliest_time: Optional earliest time. count: Maximum count of events to export.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes | ||
| count | No | ||
| earliest_time | No | ||
| output_format | No | json |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It mentions output formats and a maximum event count but does not disclose whether the tool executes a new search, whether it is read-only, what permissions are required, or any execution limits or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, followed by a compact argument list. It is efficient, though the Args list repeats parameter names already present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for a tool with no annotations and four parameters, the description should clarify execution semantics, permissions, and limits; it covers the parameter surface but leaves important behavioral context unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It documents each parameter name and adds some meaning, such as the allowed output_format values and the purpose of count and earliest_time, but it omits the default count value (500), the expected format of earliest_time, and any constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: exporting search results in JSON, CSV, or raw format. This clearly distinguishes it as an export tool, but it does not explicitly differentiate it from close siblings such as splunk_search_results or splunk_search_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like splunk_search_results or splunk_search_events. Usage is only implied by the word 'Export', leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_generate_operational_reportA
Generate an executive Markdown operational health report covering license, errors, and storage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does add useful behavior: the output is a Markdown-formatted executive report, not raw data. However, it says nothing about cost or latency (this presumably runs multiple internal searches), whether the timeframe is fixed or configurable, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the verb and outcome, names the output format, and enumerates coverage. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. But for a report-generation tool with no parameters, the description omits the reporting window (what time range the license/error/storage figures cover) and whether the report is expensive to produce — meaningful gaps for an agent deciding whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully described, so there is nothing for the description to disambiguate. Baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generate) and a concrete artifact (executive Markdown operational health report) plus the three domains it covers: license, errors, storage. This distinguishes it from the individual sibling tools like splunk_get_license_usage and splunk_get_internal_errors, which report single domains rather than an aggregated health report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'executive' and the multi-domain scope imply it should be chosen when a consolidated summary is wanted rather than individual lookups, but the description never states when to use this versus calling splunk_get_license_usage / splunk_get_internal_errors / splunk_get_storage_usage separately. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_alert_historyB
Retrieve historical fired alert events over a time window.
Args: alert_name: Optional name filter for specific alert. earliest_time: Earliest time range (default '-7d@d'). count: Maximum history events.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| alert_name | No | ||
| earliest_time | No | -7d@d |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read operation but says nothing about permissions required, pagination or result caps, whether the window implicitly ends 'now' (there is no latest_time), or ordering of returned events. The only behavioral hint is the default window '-7d@d'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two lines of purpose followed by a terse Args block; every sentence pays for itself and the core purpose is front-loaded. Nothing is padded or restated unnecessarily.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be explained, and all three parameters are at least named. But with no annotations and no required parameters, the description should still cover the time-window boundary semantics, result limits, and how this differs from listing configured alerts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does list all three parameters with brief meaning plus defaults. However the semantics are thin: 'count: Maximum history events' doesn't say whether it's total events or per-alert, and no time-syntax or range guidance is given beyond the '-7d@d' example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Retrieve historical fired alert events over a time window.' That is clearly distinct from configuration-oriented siblings like splunk_list_alerts or splunk_get_saved_search, though it never names those siblings explicitly. An agent can tell what it returns, just not the boundary against related alert tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement and no alternatives offered. In a sibling set containing splunk_list_alerts, splunk_get_security_alerts, splunk_acknowledge_alert and splunk_manage_alert_suppression, the agent is left to infer on its own that this tool is for past firing events rather than alert configuration or triage workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_app_detailsB
Get metadata, configurations, and permissions for a specific Splunk app.
Args: name: App folder name (e.g. 'search', 'SplunkForwarder').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the three information categories returned (metadata, configurations, permissions), which signals a read operation, but says nothing about permission requirements, behavior for a nonexistent app name, or whether the call can be expensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of purpose followed by a compact Args block; front-loaded and free of filler. The pseudo-Python arg formatting is slightly noisy but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and the lone parameter is covered. What remains missing is how to obtain a valid app name and how the tool behaves on an unknown name, which matters for a single-arg lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must define the single parameter — and it does, clarifying that 'name' is the app folder name rather than a display name, with concrete examples ('search', 'SplunkForwarder'). It could have added a pointer to splunk_list_apps for discovering valid names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get metadata, configurations, and permissions for a specific Splunk app'), which is clearly distinct from splunk_list_apps and splunk_manage_app. It doesn't explicitly name those siblings, so sibling differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this instead of splunk_list_apps (to discover app names) or splunk_manage_app (to change app settings). The agent must infer the read-vs-list-vs-mutate routing entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_cluster_healthA
Check health status of indexer cluster or search head cluster (or report standalone topology).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Check health status' implies a read-only operation, but there is no explicit statement about safety, side effects, permissions, or behavior for different topologies beyond a brief parenthetical. This leaves meaningful gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. The scope and the fallback case (standalone topology) are stated efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes no parameters and has an output schema, so the description needn't explain return values. It adequately covers the intended topologies (indexer cluster, search head cluster, standalone). Minor gap: it doesn't hint at what health aspects are reported, but the output schema fills that in.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description requires no parameter explanation and the schema is trivially complete, so this dimension is well satisfied by default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('health status of indexer cluster or search head cluster') and also covers standalone topology. An agent can distinguish this from siblings like splunk_get_server_health or splunk_get_replication_status without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (cluster health checks or standalone topology reporting), but gives no explicit guidance about alternatives or exclusions. It does not say when to prefer this over splunk_get_replication_status or splunk_get_server_health, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_configurationB
Read stanzas and properties from a configuration file with secrets scrubbed.
Args: conf_file: Name of conf file (e.g. 'server', 'props', 'transforms', 'inputs'). stanza: Optional specific stanza name.
| Name | Required | Description | Default |
|---|---|---|---|
| stanza | No | ||
| conf_file | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the safety disclosure burden. It helpfully states that secrets are scrubbed and implies a read operation, but it does not mention permissions, scope when stanza is omitted, or other operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the core purpose stated first and a compact Args block. Every sentence adds relevant information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values. It covers the two input parameters and discloses secret scrubbing, though it could better route the agent relative to sibling configuration tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names both parameters and gives useful conf_file examples, but stanza semantics are only minimally described as an optional specific stanza name, with no format or wildcard details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: read stanzas and properties from a configuration file, with secrets scrubbed. It is clear what the tool does, but it does not distinguish itself from related siblings such as splunk_list_configurations or splunk_validate_configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to use this tool versus splunk_list_configurations, splunk_validate_configuration, or other configuration-related tools. It only documents the arguments, leaving usage conditions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_dashboardC
Retrieve full XML or JSON definition of a dashboard.
Args: name: Dashboard view name/id. app: Optional app namespace.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and does it thinly. It implies a read-only fetch, but 'XML or JSON' suggests a selectable format with no corresponding parameter and no explanation of how the format is determined — a genuine ambiguity for the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus a short Args block, front-loaded with the core action. No filler, though the Args block largely duplicates what the schema already declares.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be described, and the tool is a simple 2-param read. Still, the XML/JSON format question and the missing-namespace behavior are unresolved, and with zero annotations the description should be doing more of that work.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate; it does partially by glossing 'name' as 'Dashboard view name/id' and 'app' as 'Optional app namespace'. However it does not explain what happens when 'app' is omitted (default namespace?) or what form the name/id takes, leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb ('Retrieve') and resource ('dashboard') with scope ('full XML or JSON definition'), which distinguishes it from siblings like splunk_list_dashboards (summaries) and splunk_update_dashboard (writes). It stops short of naming an alternative explicitly, but the distinction is still inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus splunk_list_dashboards or splunk_get_app_details, and no prerequisites or follow-up steps mentioned. The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_data_freshnessC
Evaluate data recency, latest event timestamp, and ingestion latency.
Args: index: Target index. sourcetype: Optional sourcetype.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | ||
| sourcetype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations at all, so the description carries the full burden. It names the three metrics evaluated, which is mild useful context, but says nothing about permissions required, whether the index must exist, how time ranges are determined, or any latency/cost implications of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: the capability sentence comes first and the args block is minimal. Little waste, though the parameter lines add nearly zero information for the tokens spent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, but for a diagnostic tool in a crowded ingestion-diagnostics family the description should at least distinguish its role from splunk_get_ingestion_lag and splunk_get_ingestion_metrics. With no annotations and 0% schema coverage, the remaining gaps are substantial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does not. 'index: Target index' and 'sourcetype: Optional sourcetype' are tautological restatements of the names with no format hints (exact name vs. pattern, wildcard support, whether sourcetype affects the freshness window).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Evaluate') and resource (data recency, latest event timestamp, ingestion latency), so the agent knows what the tool returns. However it offers no differentiation from close siblings like splunk_get_ingestion_lag, splunk_get_ingestion_metrics, or splunk_check_source_coverage, which overlap heavily in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many ingestion-related siblings (lag, metrics, source coverage, diagnose_ingestion). No prerequisites, no exclusions, no context about what scenario makes this the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_field_summaryB
Obtain statistical distribution of fields and top values for an index and sourcetype.
Args: index: Target index name. sourcetype: Optional sourcetype filter. sample_count: Number of events to sample for summary.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | ||
| sourcetype | No | ||
| sample_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose that the summary is based on sampled events via sample_count and that it returns statistical distributions and top values, which is useful. However, it omits permissions, cost/rate-limit implications, and whether the operation is strictly read-only or executes a search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, and the Args block is compact. There is little waste, though the parameter list could be formatted more cleanly for machine parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values need not be explained, and the description covers the basic inputs. Still, with no annotations and 0% schema coverage, it lacks enough behavioral and usage context to be fully complete for an agent choosing between this and related search/sampling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all three parameters. It does briefly document every parameter (index, sourcetype filter, sample_count), but it omits important semantics such as default value, allowed ranges, and exact sourcetype matching behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: obtain statistical distribution of fields and top values for an index and sourcetype. It is clear what the tool does, but it does not explicitly distinguish itself from adjacent tools like splunk_sample_events or splunk_search, which could also surface field/value information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no when-not-to-use condition, and no named alternative. The description implies it is for field distribution summaries, but an agent must infer when this is preferable to splunk_sample_events, splunk_search, or splunk_list_sourcetypes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_forwarder_statusB
Inspect transmission volume, connection drops, and status for a specific forwarder.
Args: hostname: Forwarder hostname.
| Name | Required | Description | Default |
|---|---|---|---|
| hostname | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; it does signal a read-only inspection by naming observable metrics (volume, drops, status) rather than actions. However, it says nothing about permissions/authentication needed, whether the data is real-time or historical, or how transmission volume is measured, which leaves meaningful behavioral gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operative sentence is front-loaded and free of padding. The 'Args:' block adds little since the single parameter is already named identically in the schema, so there is minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with an output schema (return values needn't be explained), this is close to adequate, but it omits how to obtain a valid hostname (e.g., via splunk_list_forwarders) and whether results reflect current or historical forwarder state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only one parameter and 0% schema description coverage, the description must compensate, and 'hostname: Forwarder hostname' merely restates the field name. It does not say whether an FQDN, short name, or splunkd server name is expected, nor whether case matters — the kind of detail that prevents a failed or empty call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Inspect') and a concrete set of resources (transmission volume, connection drops, status) scoped to 'a specific forwarder', which is more informative than the name alone. It stops short of differentiating itself from close siblings such as splunk_list_forwarders and splunk_check_forwarder_connectivity, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this versus splunk_list_forwarders (all forwarders) or splunk_check_forwarder_connectivity (reachability). The phrase 'for a specific forwarder' hints at per-host usage, but no exclusion or condition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_indexB
Query configuration, retention policies, and storage paths for a specific index.
Args: name: Index name (e.g. 'main', '_internal', 'wineventlog').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden; 'Query' does imply a read-only operation, which is the correct safety signal. But it doesn't say what happens when the index doesn't exist, whether elevated roles are required, or what access scope is needed — meaningful gaps for an unannotated tool. An output schema is present, so omitting return-value detail is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact lines with the capability front-loaded and the parameter after it. The 'Args:' block is slightly formal for a single parameter but costs almost nothing; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with an output schema and required 'name' documented with examples, an agent has what it needs to call it. The only real omission is what to do when the index is unknown and how it relates to list_indexes, which is a routing concern rather than a calling one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does, giving both the meaning ('Index name') and concrete examples ('main', '_internal', 'wineventlog') that go beyond the bare {type: string, title: Name} property. That is enough to invoke correctly; only whitespace/case-sensitivity conventions are absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Query configuration, retention policies, and storage paths for a specific index'), naming exactly what data comes back, which is more informative than a bare 'get index'. It implicitly distinguishes itself from list-style siblings by scoping to 'a specific index', but never names splunk_list_indexes or splunk_index_stats, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite guidance. An agent would have to deduce on its own that splunk_list_indexes is the way to discover a valid index name first, and there's no signal about when to prefer splunk_index_stats or splunk_get_configuration over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_ingestion_lagB
Measure pipeline processing lag between event occurrence timestamp and indexing time.
Args: index: Index to evaluate. sourcetype: Optional sourcetype filter. count: Sample size of events.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | Yes | ||
| sourcetype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses little. It hints at sampling via 'Sample size of events' but says nothing about query cost, time-range assumptions, required permissions, or whether the measurement is a single statistic or per-stage breakdown. The presence of an output schema offsets some of this, but the behavioral profile of a search-backed diagnostic remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core definition is one tight, front-loaded sentence, followed by a compact Args block. The docstring formatting is slightly verbose relative to the content but nothing is wasted or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values need not be explained because an output schema exists, and all three parameters are glossed. What is missing is the operational context a diagnostic tool needs: what a 'high' lag means, whether it queries a fixed time window, and how it relates to the sibling ingestion tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: 'index' is the index to evaluate, 'sourcetype' is an optional filter, and 'count' is the number of events sampled. That last gloss is the valuable one, since the bare 'Count' title could otherwise mean a result limit rather than a sample size. It omits the default of 100 and any bounds on count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and measurable resource: it measures pipeline lag between event occurrence timestamp and indexing time. That is far more precise than the sibling 'splunk_get_data_freshness' or 'splunk_get_ingestion_metrics', but it never names those siblings to make the distinction unambiguous for an agent choosing between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus splunk_get_data_freshness, splunk_get_ingestion_metrics, or splunk_diagnose_ingestion, all of which live in the same troubleshooting territory. Only the parameter list is given, leaving the selection decision entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_ingestion_metricsA
Retrieve historical ingestion throughput (MB/hour) broken down by index.
Args: time_span: Bucket span (e.g. '15m', '1h'). earliest_time: Earliest search window.
| Name | Required | Description | Default |
|---|---|---|---|
| time_span | No | 1h | |
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies read-only behavior via 'Retrieve' and specifies units (MB/hour) and granularity, but omits details like permissions, search cost, or aggregation method.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded: one sentence defines the tool, followed by two terse parameter explanations. No wasted words, though the 'Args:' format is slightly raw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and zero annotations, the description covers purpose and parameters but lacks context on when to use this tool versus related ingestion diagnostics. It is adequate but incomplete for routing in a large toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains both parameters: time_span as bucket span (with examples '15m', '1h') and earliest_time as the earliest search window. The latter is vague on format but still adds meaning beyond the empty schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Retrieve historical ingestion throughput (MB/hour) broken down by index.' This clearly distinguishes it from most siblings, though it does not explicitly name alternatives like splunk_get_ingestion_lag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies usage for monitoring ingestion volume, but there is no explicit guidance on when to use this versus splunk_get_ingestion_lag, splunk_get_parsing_errors, or splunk_index_stats. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_inputA
Get configuration and status of a specific input stanza.
Args: input_type: Input type (e.g. 'monitor', 'tcp/raw', 'http', 'script'). name: Stanza name or port.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| input_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'Get' signals a read operation, which is the key safety signal, but there is no statement about required permissions, whether a missing stanza errors or returns empty, or any rate/consistency caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One-sentence purpose followed by a compact Args block; nothing is padded. The args list is slightly boilerplate but each line carries semantic value the schema lacks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be described, and both parameters are covered. However, for a tool with 70+ siblings, the absence of any routing guidance to splunk_list_inputs vs splunk_manage_input leaves a real gap in an otherwise adequate definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameters, and it does: input_type is explained with concrete examples ('monitor', 'tcp/raw', 'http', 'script') and name is clarified as 'stanza name or port'. What's missing is the relationship between the two (that name's form depends on input_type) and any case/format rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieve configuration and status of one input stanza, with 'specific' implicitly contrasting with splunk_list_inputs. It is clear what the tool does, but it never names the sibling tools (list_inputs / manage_input) that an agent would otherwise confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'specific input stanza' – the agent can infer this is the single-item read versus splunk_list_inputs for enumeration. There is no explicit when-to-use, no prerequisite, and no exclusion (e.g. that manage_input should be used to change a stanza).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_internal_errorsA
Query recent internal daemon errors and warnings from index=_internal.
Args: log_level: Log severity filter ('ERROR', 'WARN', 'FATAL'). earliest_time: Time window (default '-4h'). count: Maximum errors to return.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| log_level | No | ERROR | |
| earliest_time | No | -4h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose useful behavior: the default time window is '-4h' and count caps returned results, implying bounded, read-only retrieval. It does not state permission requirements, hard limits on log_level values actually accepted (e.g. INFO), or whether results are sorted or truncated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the Args block is compact and scannable. Every line earns its place with no redundancy, though the Args section is slightly duplicative of the parameter names rather than adding syntax detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and the three parameters are covered. What's missing is anything an agent needs to trust the call: that this is a read-only internal-index query, whether it requires admin privileges to read index=_internal, and whether results are capped by server limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and largely does: it documents all three parameters (log_level as a severity filter with example values, earliest_time as a time window with default, count as a max). Minor gap: count's default of 50 and accepted time-format options (relative vs epoch) are not stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: query internal daemon errors and warnings scoped to index=_internal. That index scope distinguishes it from generic siblings like splunk_search or splunk_get_parsing_errors, though it never explicitly contrasts with those. Clear enough that an agent knows what it returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the phrase 'internal daemon errors', suggesting troubleshooting of Splunk's own runtime rather than data-level issues. No explicit when-to-use or when-to-prefer-alternatives guidance is given, and no mention of how it differs from splunk_get_parsing_errors or splunk_diagnose_performance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_license_usageA
Retrieve daily license quota, consumed bytes, warnings, and pool allocations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the categories of data returned (quota, consumed bytes, warnings, pool allocations) and 'Retrieve' implies a read-only operation, but it says nothing about required permissions, freshness of the daily figure, or whether pools are per-license-type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the verb and enumerates the returned content with no filler or repetition. Nothing could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema present, the description needn't explain return structure, and it usefully sketches the scope ('daily') and field categories. A note on required role/capability or what 'pool allocations' covers would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The schema is empty and nothing in the description needs to compensate for undocumented inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieve') and resource ('daily license quota, consumed bytes, warnings, and pool allocations'), so the agent knows exactly what data comes back. It is distinct from monitoring siblings like splunk_get_storage_usage or splunk_get_ingestion_metrics by naming license-specific fields, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus splunk_get_storage_usage or splunk_get_ingestion_metrics, and no prerequisites or exclusions. The only hint is the word 'daily', which at best implies a routine license-consumption check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_parsing_errorsB
Detect timestamp parsing, line-breaking, and regex extraction errors recorded in _internal.
Args: earliest_time: Search window (default '-24h@h').
| Name | Required | Description | Default |
|---|---|---|---|
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the source index (_internal), implying a read-only diagnostic query and hinting at required index access. But it says nothing about permissions, volume, or result shape, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence of purpose plus one line of parameter info, front-loaded and free of filler. The 'Args:' block is slightly mechanical but costs nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the single parameter is covered. What's missing is disambiguation from the closely-named sibling diagnostic tools and any note on scope or cost of querying _internal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does: earliest_time is described as the search window and its default '-24h@h' is restated in prose. It still doesn't give the expected time-modifier syntax, but the single parameter is usable from this text alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Detect') plus enumerated resource categories (timestamp parsing, line-breaking, regex extraction errors) and the data source (_internal), which is genuinely informative. It does not, however, differentiate itself from the very similar sibling splunk_get_internal_errors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus splunk_get_internal_errors, splunk_diagnose_ingestion, or splunk_detect_data_quality_issues, all of which overlap. Only an implicit 'use it for parsing troubleshooting' can be inferred from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_replication_statusB
Check bucket replication status, cluster fix-up tasks, and peer synchronizations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Check' implies a read-only operation, but the description omits permission requirements, whether it requires a cluster master, expected runtime, and any side effects or limitations. It lacks substantive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence lists the three checks efficiently with no wasted words. It is appropriately sized for a zero-parameter diagnostic tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described. However, with no annotations and no parameter schema, the description could do more to clarify prerequisites (e.g., cluster master access) and how to interpret the three checks. It is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly lists the aspects checked, and no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and names three concrete resources: bucket replication status, cluster fix-up tasks, and peer synchronizations. It clearly identifies the tool's diagnostic purpose, though it does not explicitly distinguish itself from the sibling splunk_get_cluster_health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but provides no guidance on when to use it versus alternatives, no preconditions, and no exclusions. An agent must infer its usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_role_capabilitiesB
Get granular capabilities and restrictions assigned to a specific role.
Args: role_name: Name of the role (e.g. 'admin', 'user', 'power').
| Name | Required | Description | Default |
|---|---|---|---|
| role_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the safety burden; it implies a read-only inspection by saying it 'gets' capabilities and restrictions, but never states that explicitly. It also omits what happens for a nonexistent role (empty result vs. error) or any permission requirements. The return payload is covered by the output schema, which offsets part of the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence stating the action, followed by a short Args block; nothing is padded. The Args line largely duplicates the schema title, so it is efficient rather than exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema, the essentials are present: what it returns and an example role name. Missing are error/failure semantics for invalid role names and any pointer to the related list/manage role tools, which matter in a 90+ tool surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the schema only gives the title 'Role Name'. The description partially compensates by listing example values ('admin', 'user', 'power'), which clarifies expected format. It still leaves open exact-match vs. case sensitivity and whether built-in roles are the only valid input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('granular capabilities and restrictions assigned to a specific role'), so the agent knows exactly what data comes back. It does not, however, differentiate itself from nearby siblings like splunk_list_roles or splunk_manage_role, which an agent could confuse with this lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus splunk_list_roles (enumerate roles) or splunk_manage_role (mutate roles), and no prerequisites such as needing a role to already exist. Only the shape of the argument hints at usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_saved_searchA
Retrieve full configuration, search query, schedule, and actions of a saved search.
Args: name: Name of the saved search.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Retrieve' conveys read-only semantics and the field list signals the response shape, but it says nothing about required permissions, behavior when the name doesn't exist, or whether it includes app/owner scoping. The presence of an output schema lowers the bar for return-value detail, keeping this at 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and dense with useful specifics, and the Args block is compact. The only wasted space is the restated 'name' argument line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations are absent and output schema exists, so the description's job is to convey purpose, scope and the retrieved fields. It does that adequately for a single-parameter read tool; the remaining gaps (name formatting, not-found behavior) are minor. A score of 4 would also be defensible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. Its 'name: Name of the saved search.' only restates the schema title and omits the practically critical format (app-scoped/qualified names such as 'app/owner/name') and case sensitivity, adding minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieve') and resource ('saved search'), and enumerates the fields returned (configuration, query, schedule, actions), which distinguishes it from splunk_list_saved_searches and splunk_create_saved_search. It never explicitly names a sibling to contrast with, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: fetching a single saved search's full definition. There is no explicit statement of when to use this versus splunk_list_saved_searches, splunk_dispatch_saved_search, or splunk_replay_saved_search, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_scheduler_healthC
Inspect search scheduler health, skipped searches, delayed executions, and quota blocks.
Args: earliest_time: Scheduler audit window (default '-4h').
| Name | Required | Description | Default |
|---|---|---|---|
| earliest_time | No | -4h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden and does not deliver: the word 'Inspect' implies a read, but nothing states permissions required, whether this runs an expensive audit search, or how far/wide the scan reaches beyond the single window parameter. Beyond the default window, no behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main sentence is front-loaded and dense with concrete nouns; nothing is wasted. The appended 'Args:' block is slightly awkward for a single defaulted parameter but does not bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and a single optional parameter keeps the surface small. However, with no annotations and no guidance on interpreting or scoping the audit, the definition is only minimally sufficient for an agent to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does clarify that earliest_time is a 'scheduler audit window' defaulting to '-4h', which adds meaning beyond the bare typed field, but it does not explain the accepted time format (relative vs. epoch vs. ISO) or how widening the window affects cost/output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Inspect') and resource ('search scheduler health') and enumerates the observable symptoms it covers: skipped searches, delayed executions, quota blocks. It is distinguishable from likely siblings such as splunk_get_search_performance or splunk_get_search_concurrency, though it never explicitly says so.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication is given of when to reach for this tool versus adjacent diagnostics like splunk_search_status, splunk_get_search_performance, or splunk_detect_slow_searches. The only additional text is an argument default, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_search_concurrencyB
Inspect active concurrent historical and real-time searches against system limits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. 'Inspect' implies a read-only operation and the phrase 'against system limits' hints that the response compares usage to configured thresholds, but the description does not state read-only behavior, permission needs, or whether limits are configurable. For a zero-parameter inspection tool with an output schema this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler, and the key qualifiers ('active', 'concurrent', 'against system limits') are front-loaded. It could be marginally sharper by naming the output's usage-vs-limit framing, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an existing output schema, the description needn't explain return values or argument syntax. It accurately frames the scope of the snapshot; only the absence of any usage routing keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly presents this as an unfiltered system-wide snapshot rather than implying any scoping arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Inspect') and a well-defined resource: active concurrent historical and real-time searches measured against system limits. This is distinguishable from nearby siblings such as splunk_get_search_performance and splunk_detect_slow_searches, though the description never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to reach for this tool versus splunk_get_search_performance, splunk_detect_slow_searches, or splunk_get_scheduler_health. The concurrency-checking context is only implied by the resource name, and no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_search_performanceC
Inspect search head performance, execution times, and resource utilization.
Args: earliest_time: Search audit window (default '-4h').
| Name | Required | Description | Default |
|---|---|---|---|
| earliest_time | No | -4h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral load; "Inspect" implies a read but this is inference, not disclosure. It says nothing about required permissions, result size/limits, or which search-head components are covered, though the output schema partially relieves the need to describe return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence plus a compact Args block; the purpose is front-loaded and nothing is padded. Minor awkwardness from the empty title and lone-arg Args formatting.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with an output schema, the basics are covered. Missing is any statement of scope (per-search-head vs cluster-wide) or the conditions under which the tool returns sparse data, which an operator troubleshooting performance would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates for the single parameter by explaining earliest_time as the "Search audit window" and restating the '-4h' default. It adds meaning, but not accepted time syntaxes or behavior when the window exceeds retention.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Inspect") and resource ("search head performance, execution times, and resource utilization"), so the agent knows this is a read-only performance inspection. It does not distinguish itself from nearby siblings like splunk_detect_slow_searches, splunk_get_search_concurrency, or splunk_diagnose_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the several performance-related siblings, and no stated prerequisites or exclusions. The only usage hint is the default time window.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_security_alertsB
Query security alerts, high-severity trigger events, and findings.
Args: severity: Optional severity filter ('critical', 'high', 'medium'). earliest_time: Time window (default '-24h@h'). count: Maximum alert items.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| severity | No | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Query' implies a read-only operation and the default time window ('-24h@h') is disclosed, but there is no mention of required permissions, whether results are paginated, or any rate limits. A return schema exists, which offsets some of the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence front-loads the tool's purpose, and the argument list is compact. Slight redundancy from restating parameters in an 'Args:' block, but nothing is wasted at length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained. The description is adequate for invocation but omits sibling differentiation and any indication of permissions or result limits, leaving an agent to guess in a crowded alert-related tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it largely does: it names all three parameters, gives the accepted severity values ('critical', 'high', 'medium'), and states the default time window. It stops short of explaining Splunk time syntax or what 'count' actually caps, so it is not a full 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Query security alerts, high-severity trigger events, and findings.' An agent knows it retrieves security alert data. However, it does not differentiate itself from close siblings like splunk_list_alerts or splunk_get_alert_history, which read as overlapping alert-retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as splunk_list_alerts, splunk_get_alert_history, or splunk_acknowledge_alert. The description only lists parameters, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_server_healthB
Retrieve Splunk system health report, status features, and subsystem warnings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not state that this is a read-only operation, whether it requires special permissions, whether results are current or cached, or what 'status features' and 'subsystem warnings' include. It only lists content categories.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a no-parameter health-check tool, though the phrase 'status features' is slightly vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, and the absence of parameters keeps the call simple. However, with no annotations and many health-related siblings, the description should clarify read-only behavior and scope to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify. The baseline for a no-parameter tool applies, and the description appropriately avoids inventing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Retrieve') and names the resource ('Splunk system health report, status features, and subsystem warnings'). It is understandable on its own, but it does not differentiate this tool from close siblings like splunk_get_cluster_health, splunk_get_scheduler_health, or splunk_get_server_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as splunk_get_server_info, splunk_get_cluster_health, or splunk_search_status. The agent can infer that it is for health checks, but the description does not state scope, exclusions, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_server_infoA
Retrieve Splunk server runtime info, version, OS, license state, and topology roles.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the disclosure burden. 'Retrieve' implies a read-only operation, but it doesn't state permission requirements, whether license/topology data can be slow or costly to gather, or anything about the response shape (which the output schema covers).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that names the action first and then the returned fields. Zero waste, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read tool with an output schema, the description covers what is needed to select and call it. The remaining gap is routing guidance against the sibling health/license/topology tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is nothing about arguments for the description to clarify, and it correctly stays silent on inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb (Retrieve) plus resource (Splunk server runtime info) with an enumerated payload: version, OS, license state, topology roles. That distinguishes it reasonably well from splunk_get_server_health and splunk_get_license_usage, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus splunk_get_server_health, splunk_get_license_usage, or splunk_get_cluster_health, which overlap on license and topology content. Usage is at best inferable from the returned fields; no conditions or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_storage_usageA
Inspect filesystem disk partitions, storage volume in $SPLUNK_DB, and retention capacities.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the whole burden; 'Inspect' implies a read-only operation, which is useful, and it scopes the data to partitions, $SPLUNK_DB volume and retention. It does not disclose cost/freshness of the collection, permission requirements, or whether the check is local-only versus cluster-wide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names all three scopes with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description needn't explain return values, so the remaining burden is small. It adequately covers the three inspection targets, though a note on read-only nature and freshness would close the last gap given the lack of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to disambiguate and the baseline of 4 applies. The description adds nothing misleading about invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Inspect') and names concrete resources: filesystem disk partitions, the $SPLUNK_DB storage volume, and retention capacities. This is distinguishable from capacity-adjacent siblings such as splunk_get_license_usage or splunk_index_stats, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says only what is inspected, never when to reach for this tool versus splunk_get_server_health, splunk_index_stats, or splunk_get_license_usage when investigating disk pressure. No prerequisite conditions, no exclusions, no alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_get_userA
Get details, assigned roles, and permissions of a specific user.
Args: username: Username to inspect.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It communicates that the tool returns details, roles, and permissions and the verb "get" implies a read-only operation, but it does not mention permission requirements, whether inherited roles are included, or any access constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded: the purpose is stated first, followed by the single argument. There is no wasted language and it is appropriately sized for a one-parameter read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter and an output schema present, the definition is nearly complete for an agent to invoke the tool. The remaining gap is modest: it lacks explicit guidance on sibling selection and permission behavior, but the core invocation information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It identifies the sole parameter as the username to inspect, which is minimally adequate, but it adds little beyond the schema property name and does not clarify format or case sensitivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: get details, assigned roles, and permissions for a specific user. It clearly distinguishes itself from a list operation by saying "specific user," but it does not explicitly differentiate from nearby siblings such as splunk_investigate_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the read-oriented wording and the phrase "specific user," suggesting it is for inspecting one user rather than listing users. However, there is no explicit when-to-use guidance, no exclusions, and no named alternative such as splunk_investigate_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_index_statsB
Retrieve aggregate storage volume and event statistics across all accessible indexes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that results are aggregate and span all accessible indexes, but it does not mention permissions, read-only nature, rate limits, or any other operational context beyond the basic scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It communicates the core action and scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 with zero parameters the schema is simple. However, the absence of annotations and the presence of overlapping sibling tools mean the description should do more to clarify scope and preferred use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to document. The baseline for zero parameters is 4, and nothing in the description misrepresents this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Retrieve') and resource ('aggregate storage volume and event statistics across all accessible indexes'), making the tool's function clear. It does not explicitly differentiate itself from overlapping siblings such as splunk_get_storage_usage or splunk_get_ingestion_metrics, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of alternatives, no exclusions, and no mention of prerequisites. The description only states what it retrieves, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_investigate_hostB
Investigate system logs, processes, network connections, and errors for a host.
Args: hostname: Target host name or FQDN. earliest_time: Earliest search window. count: Maximum events.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| hostname | Yes | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the data domains the investigation spans (logs, processes, network, errors), which usefully implies multiple underlying searches and a read-only profile, but it says nothing about required permissions, time-range behavior, or result caps beyond the schema defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the args list is compact with no wasted prose. The Args block largely restates parameter names, but its brevity keeps the whole definition tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and the one-required-parameter shape is simple. Still, a three-parameter investigation tool with zero annotations and zero schema descriptions leaves the agent without usage guidance or time-syntax detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully document parameters and largely does not. 'Earliest search window' gives no hint that the default '-24h@h' is Splunk relative-time syntax, and 'Maximum events' omits any cap/rationale; only 'host name or FQDN' adds genuine clarity over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (investigate) and a concrete scope: system logs, processes, network connections, and errors for a single host. The resource restriction to 'a host' implicitly distinguishes it from splunk_investigate_ip and splunk_investigate_user, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus splunk_investigate_ip, splunk_investigate_user, splunk_search_events, or splunk_list_hosts, and no prerequisites. The agent must infer selection from the word 'host' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_investigate_ipA
Forensic investigation of an IP address across firewall, proxy, authentication, and web logs.
Args: ip_address: Target IP address to investigate. earliest_time: Time window to scan (default '-24h@h'). count: Maximum events to return.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| ip_address | Yes | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the log sources queried, which is real behavioral context, but never states that this is a read-only operation, what permissions are needed, or how costly a multi-sourcetype scan may be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence of purpose followed by a compact args block. No filler, and the structure makes the required vs. optional distinction immediately visible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. But for a forensic-investigation tool with zero annotations, the description omits read-only status, the kind of correlation performed across sources, and any performance expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and does: it names all three parameters and explains each ('earliest_time' as the scan window with its default, 'count' as the event cap). It falls short of documenting Splunk time-modifier syntax or acceptable ranges for count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: forensic investigation of an IP address, and adds the distinctive scope of scanning firewall, proxy, authentication, and web logs. It is distinguishable from splunk_investigate_user and splunk_investigate_host by name, but the description never explicitly contrasts them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Forensic investigation' implies an incident-response/triage context, but there is no explicit when-to-use or when-not guidance. Alternatives that overlap heavily (splunk_search_ioc, splunk_investigate_host, splunk_detect_brute_force) are never mentioned, leaving the agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_investigate_userB
Audit user actions, accessed resources, IP origins, and privilege usage.
Args: username: Target username. earliest_time: Time range to audit. count: Maximum results.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| username | Yes | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the classes of evidence returned (actions, resources, IPs, privilege usage), implying a read-only audit, but says nothing about permissions required, cost/latency of a wide time range, or result-volume behavior. Output schema covers return shape, which limits the gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded purpose sentence followed by a compact Args list; nothing is padded. The Args formatting is slightly redundant with the schema but still earns its space given zero schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A minimal but workable definition for a 3-parameter read tool with an output schema. It is missing the routing information (when to pick this over splunk_get_user or splunk_investigate_ip) and any note on time-range cost that an agent would need to call it well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and parameters carry only bare titles, so any description helps. The Args block gives one-line glosses for all three ('Target username', 'Time range to audit', 'Maximum results') and adds the audit-framing of earliest_time, but omits accepted time syntax (e.g. -24h@h) and count limits already defaulted in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audit) and a concrete scope for the resource: user actions, accessed resources, IP origins, privilege usage. That distinguishes it in spirit from splunk_get_user/splunk_list_users, but the description never names those siblings to make the boundary explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, no pointer to alternatives such as splunk_get_user (profile details), splunk_investigate_ip, or splunk_detect_failed_logins. The agent must infer from the name alone that this is the activity-audit path rather than the user-lookup path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_alertsB
List configured alerts and recent fired alert records.
Args: count: Maximum number of alerts to return.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read operation but does not explicitly state read-only behavior, permission requirements, ordering, recency definition, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and wastes no words. The Args section is minimal and directly tied to the only parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details need not be described. Still, the description leaves ambiguity around how this tool overlaps with alert-history and security-alert siblings, and it does not define "recent" fired records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates for the sole parameter by explaining that count is the maximum number of alerts to return. It still omits range or default details, though the default is visible in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: list configured alerts and recent fired alert records. However, it does not distinguish this tool from closely related siblings such as splunk_get_alert_history or splunk_get_security_alerts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. An agent must infer whether to use it for configured alerts, fired-alert records, history, or security-alert workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_appsB
List installed Splunk apps and add-ons with versions and status.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. 'List' implies a read-only operation and the description names the returned fields, but it says nothing about permission requirements, pagination, or what 'status' means (enabled/disabled vs running state).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with zero filler. Nothing to trim and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is covered and this is fundamentally a simple list tool. Still, the undocumented count parameter and absent annotations leave an agent without guidance on result-volume behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'count' (default 100) has 0% schema description coverage and the description never mentions it. Whether it caps returned apps, triggers pagination, or how to retrieve more than the default is left completely unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'List' plus resource 'installed Splunk apps and add-ons' and the returned attributes (versions, status). It is distinguishable from splunk_get_app_details by being the collection-level read, though that sibling relationship is only implied by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus splunk_get_app_details, splunk_manage_app, or splunk_get_server_info, and no prerequisites. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_configurationsB
List available .conf configuration files accessible through REST properties.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It implies a read-only listing operation and mentions REST properties, but does not disclose permissions required, whether all .conf files are listed or only a subset, pagination behavior, or sensitivity of returned configuration data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It states the action and scope immediately, which is appropriate for a simple discovery tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because the tool has no parameters and an output schema exists, the description need not explain return values. However, for a configuration-listing tool it omits useful context about scope, permissions, and how this differs from nearby configuration tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the empty schema is consistent with this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (list) and resource (.conf configuration files), which clearly distinguishes this from splunk_get_configuration. It does not explicitly distinguish itself from splunk_validate_configuration, but the list-vs-get distinction is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as splunk_get_configuration or splunk_validate_configuration. The agent must infer that this is a discovery tool for configuration files before fetching a specific one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_dashboardsB
List dashboards (Simple XML or Dashboard Studio) in the Splunk instance.
Args: app: Optional Splunk app filter. count: Number of dashboards to retrieve. offset: Pagination offset.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| count | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, yet it discloses nothing about permissions required, whether the listing is complete across apps by default, ordering of results, or pagination behavior. The only behavioral hint is that both dashboard formats are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the Args block is compact with no filler. The parenthetical about dashboard formats is arguably optional but adds discriminating information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, but with zero annotation coverage and zero schema descriptions, the description should still say more about the paging model (count default/max, how offset interacts) and the app filter's accepted values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the terse Args block does real work: it clarifies that app is an app filter, count is the number of dashboards to retrieve, and offset is the pagination offset — none of which are documented in the schema itself. Still missing are any bounds on count and what values app accepts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List dashboards in the Splunk instance") and adds a distinguishing detail that the listing covers both Simple XML and Dashboard Studio dashboards. It never explicitly contrasts with splunk_get_dashboard or splunk_search, but the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent of listing is implied by the description, and the 'app' arg hints at narrowing scope, but there is no statement of when to use this versus splunk_get_dashboard (single fetch), splunk_list_reports, or search-based discovery, and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_eventtypesB
List eventtypes, classifications, and search patterns.
Args: count: Maximum number of eventtypes.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description has to carry the behavior on its own, and it discloses almost nothing. It does not say whether the call is read-only, whether it requires admin capabilities, what happens when count exceeds the number of eventtypes, or whether results are paginated. For a no-annotation tool, these omissions are real gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose statement comes first and is a single sentence, then the param note. Nothing is padded, though the 'Args:' block format is slightly awkward for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so the return values need no explanation, and the single parameter is described. What is still missing is the default value (100, visible only in the schema), any pagination or truncation behavior, and any note on capabilities needed to read eventtype configurations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, with a single param 'count' typed as integer with default 100 and no description. The description compensates: 'count: Maximum number of eventtypes' tells the agent that the value is a cap rather than a total or an offset, which the schema alone would not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List eventtypes, classifications, and search patterns.' That is more informative than the bare tool name because it names the extra objects returned. No sibling covers eventtypes, so there is no ambiguity to resolve, but the description also does not explicitly separate this tool from the larger family of splunk_list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to call this tool, what prerequisite knowledge it serves, or which sibling to use instead (for example, splunk_list_tags or splunk_list_macros). The only implicit cue is the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_forwardersB
List connected Universal and Heavy Forwarders observed in the indexing pipeline.
Args: count: Maximum number of forwarders.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'List' implies a read-only operation, and 'connected' plus 'observed in the indexing pipeline' narrows the scope, but it does not state required permissions, whether disconnected forwarders are excluded, or pagination behavior beyond the optional count limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences plus a compact Args line, with the core purpose front-loaded and no redundant phrasing. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and an output schema, the description covers the core purpose and parameter meaning adequately. However, with no annotations and no usage guidance relative to the many sibling forwarder/status tools, it leaves some context for correct tool selection unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the single 'count' parameter. It does so by defining count as 'Maximum number of forwarders,' which clarifies that it is a result limit rather than an offset or filter; it omits the default of 100, but that is already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('Universal and Heavy Forwarders') and scopes it to forwarders 'observed in the indexing pipeline.' It distinguishes the tool from status/connectivity siblings implicitly by focusing on inventory, though it does not name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as splunk_get_forwarder_status or splunk_check_forwarder_connectivity. The description gives no when-not conditions or prerequisites, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_hostsA
Discover hosts reporting data into Splunk with event counts and latest observed timestamp.
Args: index: Optional index filter. count: Maximum number of hosts to list.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It usefully mentions returned fields (event counts and latest observed timestamp), but it does not explicitly state read-only/non-destructive behavior, permission requirements, pagination behavior, or count default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with the tool purpose first and parameter explanations in a short Args block. There is no unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read/list tool with an output schema, the description provides enough context to call it correctly: purpose, returned fields, and parameter meanings. The main omission is explicit guidance on sibling alternatives and safety/auth behavior, but the core call context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to explain both parameters, and it does: index is an optional index filter and count is the maximum number of hosts to list. It could add useful detail such as the default count of 100, but the core semantics are covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: discovering Splunk hosts that report data, including event counts and latest observed timestamp. It is clear what the tool returns, but it does not explicitly differentiate from related siblings such as splunk_list_forwarders or splunk_investigate_host.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'Discover hosts reporting data into Splunk', and the optional index filter suggests a scoped discovery workflow. However, the description does not state when to use this instead of sibling tools like splunk_list_forwarders, splunk_list_inputs, or splunk_investigate_host.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_indexesA
List accessible Splunk indexes with disk size, event count, and disabled status.
Args: count: Number of indexes to list. offset: Pagination offset.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that only accessible indexes are listed and that disk size, event count, and disabled status are included, but it does not discuss read-only behavior, permission scoping beyond 'accessible', or pagination behavior beyond naming the offset parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and return fields, then gives a short Args section. There is little waste, though the Args formatting is slightly more verbose than a single compact sentence would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-style listing tool with an output schema, both optional parameters documented, and a clear statement of returned fields, the description is largely complete. It could be stronger with explicit sibling differentiation and pagination behavior, but the essential context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It briefly explains both parameters: count as the number of indexes to list and offset as the pagination offset. That covers both parameters but adds only minimal semantic depth and no constraints or interaction details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List accessible Splunk indexes' and names the returned fields (disk size, event count, disabled status). It is clear what the tool does, though it does not explicitly distinguish itself from nearby tools such as splunk_get_index or splunk_index_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The implied usage is to enumerate indexes, but the description gives no explicit when-to-use guidance or alternatives. With siblings like splunk_get_index and splunk_index_stats, an agent could benefit from knowing when list-indexes is preferred over those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_inputsC
List configured data inputs (TCP, UDP, monitor, scripts, HTTP Event Collector).
Args: count: Maximum number of inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the kinds of inputs listed but says nothing about read-only status, required permissions, pagination, or result ordering, leaving significant gaps for an agent to infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, leading with the purpose and then documenting the single argument. The 'Args:' block is slightly informal but does not waste space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, with no annotations and no usage guidance, the description is only minimally complete for an agent choosing between list, get, and manage operations on inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It defines 'count' as the maximum number of inputs, which adds meaning beyond the bare schema property, but it omits how the default of 100 applies or what happens when count is omitted, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List configured data inputs', and enumerates the input types (TCP, UDP, monitor, scripts, HTTP Event Collector). It does not distinguish itself from sibling tools like splunk_get_input or splunk_manage_input, so it stays at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as splunk_get_input (for a single input) or splunk_manage_input (for changes). The description only states what the tool does, leaving selection entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_macrosC
List configured search macros, arguments, and definition strings.
Args: count: Maximum number of macros.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden and only weakly delivers. 'List' implies a read, but there is no disclosure of permissions needed, pagination/truncation behavior when count is exceeded, or ordering; the only substantive note is that macro arguments and definition strings are included in results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-sentence purpose is front-loaded and free of filler. The trailing 'Args:' block is somewhat boilerplate for a single parameter but is not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and a one-parameter list tool is low complexity. Still, the absence of annotations means the description should say more about read-only nature and result limits than it does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema only shows 'Count' as an integer with default 100 and no meaning. The description compensates partially by defining it as 'Maximum number of macros,' which resolves the ambiguity about what is being counted, but it omits the default and what happens when the limit is reached.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') plus a specific resource ('configured search macros') and enumerates what is returned (arguments, definition strings). No sibling tool deals with macros, so differentiation is implicit rather than stated, which keeps it just below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or what alternative to prefer (e.g., splunk_get_configuration or splunk_list_configurations for configuration inspection). The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_reportsC
List scheduled and ad-hoc reports in the environment.
Args: app: Optional app filter. count: Maximum number of reports to retrieve.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about pagination, sort order, permission requirements, or whether the listing includes disabled/unscheduled reports; only the implicit read-only nature of 'List' hints at behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action in the first sentence, followed by a compact Args block. There is minor redundancy in restating parameter names, but each line adds value and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the two parameters are covered. Still, for a listing tool with no annotations and no differentiation from several sibling listers, the definition leaves gaps around result scope, pagination, and how 'reports' relates to 'saved searches' and 'alerts'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does partially: 'app: Optional app filter' and 'count: Maximum number of reports to retrieve' add real meaning over bare titles and defaults. However, it does not clarify whether 'app' expects an app name or ID, whether it accepts wildcards, or what the default count behavior is beyond the schema's default of 100.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List scheduled and ad-hoc reports in the environment.' It is clear what the tool returns, but it never distinguishes 'reports' from sibling tools like splunk_list_saved_searches, splunk_list_alerts, and splunk_run_report, which an agent must disambiguate among.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and does not name any alternative tool. The 'Args' block documents parameters but provides no context about when this listing should be preferred over splunk_list_saved_searches or splunk_get_scheduler_health.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_rolesC
List configured roles, inherited roles, and allowed search indexes.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. 'List' implies read-only, but nothing is said about pagination, whether results are truncated, permission/auth requirements, or how the count parameter affects the result set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though it is arguably too short given the missing usage and parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for a tool with an undocumented count/pagination parameter and no annotations, the description leaves gaps an agent must guess at to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter (count, default 100) with 0% schema description coverage, and the description says nothing about it — not what it limits, nor whether truncation occurs. The description therefore does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (roles) plus the scope of what is returned: configured roles, inherited roles, and allowed search indexes. This distinguishes it from the mutation sibling splunk_manage_role and from splunk_get_role_capabilities, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives are named. An agent must infer that this is the read path vs splunk_manage_role and splunk_get_role_capabilities entirely from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_saved_searchesB
List saved searches, scheduled reports, and alerts.
Args: app: Optional Splunk app context (e.g. 'search'). count: Number of saved searches to list. offset: Pagination offset.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| count | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. The word 'List' implies a read-only operation and the parameter docs mention pagination, but permissions, default limits, and any app-context behavior are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the purpose stated first and parameters documented directly afterward. Every sentence contributes to understanding the call, with no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with an output schema, the core purpose and parameters are present. However, with zero annotation coverage and zero schema description coverage, the description should say more about read-only behavior, pagination defaults, and how results relate to dedicated alert and report list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names all three parameters and adds brief meaning such as 'Optional Splunk app context' and 'Pagination offset', but does not explain count limits, default values beyond the schema, or precise app scoping.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific list operation over saved searches, scheduled reports, and alerts. It is clear what the tool does, but it does not distinguish itself from sibling tools such as splunk_list_alerts or splunk_list_reports, which appear to overlap in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool instead of splunk_list_alerts, splunk_list_reports, or splunk_get_saved_search. There are no exclusions, prerequisites, or alternative-selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_sourcesB
Discover event sources across indexes with event counts.
Args: index: Optional index filter. count: Maximum number of sources to list.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. "Discover" and "list" imply a read-only operation and the phrase "with event counts" tells the agent what each result row carries, but ordering/aggregation behavior, whether counts are time-bounded, and the cost of scanning all indexes are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One descriptive sentence followed by a compact Args block – front-loaded with the outcome, then the inputs. No padding, though the Args prose is nearly redundant with the parameter names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be described, and both inputs are covered. However, for a discovery tool whose usefulness depends on knowing how results are ordered (e.g. by event count) and whether counts are scoped to a time window, those omissions leave a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the Args block is the only documentation for both parameters: it explains that index is a filter (implying all indexes when omitted) and that count caps the number of sources. Only the default of 100 is left to the schema, which is minor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Discover event sources across indexes with event counts"), which is clearly distinct from siblings like splunk_list_sourcetypes and splunk_list_hosts. It doesn't explicitly name those siblings, so the differentiation is by inference rather than by routing language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over splunk_list_sourcetypes, splunk_list_hosts, splunk_check_source_coverage, or splunk_get_field_summary, which all overlap on source discovery. The agent must infer the intended use case from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_sourcetypesB
Discover sourcetypes with event count and last seen recency.
Args: index: Optional index filter (e.g. 'main', '_internal'). count: Maximum number of sourcetypes to retrieve.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the return shape (event counts, recency) and that it is a discovery/read operation, but says nothing about the default scope (does it query all indexes?), whether results are paginated or sorted, or any performance cost of enumerating over a large index.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded summary sentence followed by a tight Args block — no filler. The Args duplication of the schema is slightly redundant given an output schema exists, but it stays small.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema is present so return values needn't be explained, and both parameters are covered. However, for a tool with no annotations, the description leaves the default index scope and result ordering undefined, which an agent needs to interpret the output correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: 'index' is explained as an optional index filter with concrete examples ('main', '_internal'), and 'count' is described as a maximum number of sourcetypes. It omits the defaults (100 and null) and what happens when count is exceeded, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Discover sourcetypes') and adds the returned fields (event count, last seen recency), which distinguishes it from siblings like splunk_list_sources or splunk_list_hosts. It stops short of explicitly naming those adjacent discovery tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus splunk_list_indexes, splunk_list_sources, or a full splunk_search. The index parameter's example values hint at scoping use, but an agent must infer the selection criteria entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_tagsA
List tags assigned to fields and event classifications.
Args: count: Maximum number of tags.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'List' implies a read-only operation and 'Maximum number of tags' hints at result limiting, but it does not explicitly confirm safety, permissions, ordering, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then documents the only argument in one short line. It contains no unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and the description covers what is listed and the one argument. It is nearly complete, though additional context about tag ordering or result limiting would help an agent interpret the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the single parameter. It does so adequately by defining count as the maximum number of tags, adding meaning beyond the schema's bare 'Count' title and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: list tags assigned to fields and event classifications. It is clear what the tool returns, though it does not explicitly differentiate itself from the many other list/get sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only defines the operation, leaving usage decisions entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_list_usersB
List configured user accounts, roles, realnames, and authentication types with secrets redacted.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does add one genuinely useful behavioral fact — 'secrets redacted' tells the agent credential material will not be returned — but says nothing about permissions needed, result-set truncation, or whether the listing is paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource first and the distinguishing qualifier ('secrets redacted') last. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and an output schema exists, so return-shape explanation is rightly omitted. Still, the only argument is undocumented and there is no hint of the account volume or default cap, leaving the agent without enough to call it confidently at scale.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('count') with 0% schema description coverage and only a default of 100. The description never mentions limiting or paging results, so an agent gets no guidance on how many users come back or what the default cap means for completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource ('List configured user accounts') with the returned fields enumerated (roles, realnames, authentication types). It implicitly contrasts with splunk_get_user / splunk_list_roles by being a broad list, but never names them, so distinctness is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's purpose implies when to use it (enumerating accounts for auditing/inventory), but there is no explicit when-to-use guidance, no exclusions, and no pointer to splunk_get_user for single-account lookups or splunk_list_roles for role listing. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_manage_alert_suppressionB
Configure or inspect suppression windows for an alert to prevent notification storms.
Args: alert_name: Name of saved search alert. suppression_period: Time duration to suppress (e.g. '1h', '30m'). enabled: Enable or disable suppression.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | ||
| alert_name | Yes | ||
| suppression_period | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It partially helps by signalling the tool both reads and writes ('configure or inspect'), but it never says whether configuring overwrites existing windows, what permissions are needed, or how enabled=false interacts with suppression_period — significant gaps for an unannotated mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in a single sentence, followed by a compact Args block. The Args block restates schema fields but earns its place by adding duration syntax examples; little waste overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 parameters are described. Still missing for a mutating tool with no annotations: permission requirements and the conditional relationship between enabled and suppression_period.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all three parameters are named, and suppression_period gains format examples ('1h', '30m') not present in the schema. It stops short of explaining the default/null semantics of suppression_period or what disabling means without a period.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (configure/inspect) and resource (suppression windows for an alert), plus the rationale (prevent notification storms). No sibling tool touches suppression, so it is easily distinguished from splunk_list_alerts and splunk_acknowledge_alert, though it doesn't say so explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'prevent notification storms' and the parameter list, but there is no explicit when-to-use guidance, no prerequisites (e.g. does the alert need to exist?), and no mention of alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_manage_appA
Enable or disable a Splunk application (requires write mode and human confirmation).
Args: app_name: Target app folder name. action: 'enable' or 'disable'. confirm: Confirmation flag.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | enable | |
| confirm | No | ||
| app_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose that this is a state-changing operation gated by write mode and human confirmation, which is valuable. It stops short of stating consequences of disabling an app (ingestion stopping, dependent searches failing) or whether the change is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the operational precondition in parentheses, followed by a compact args list. Nearly every line earns its place; the structured Args block is slightly verbose for three short fields but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and the auth/confirmation gating is covered. However, for a mutation tool with zero annotation coverage, the description should say what disabling an app actually does to the running system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description documents all three parameters and crucially supplies the allowed values 'enable' or 'disable' for action, which the schema does not enumerate. Only 'confirm' remains thin ('Confirmation flag' doesn't say it must be true for the action to apply).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair and resource: 'Enable or disable a Splunk application'. This clearly separates it from read-oriented siblings like splunk_list_apps and splunk_get_app_details, but the description never names those siblings or their boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives prerequisites ('requires write mode and human confirmation') which sets invocation context, but offers no when-not conditions or explicit alternatives (e.g. use splunk_get_app_details to inspect an app first). Usage is implied rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_manage_inputA
Enable or disable a configured data input stanza (requires write mode).
Args: input_type: Type of input (e.g. 'monitor', 'tcp/raw', 'http'). name: Name or port of the input stanza. action: 'enable' or 'disable'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| action | No | enable | |
| input_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that the operation is a mutation requiring write mode, but it does not explain the effects of disabling an input, idempotency, permissions beyond write mode, or error behavior if the stanza does not exist. The output schema helps with return values, reducing some burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the primary action comes first, followed by a short Args list. Every sentence maps to a parameter or prerequisite, with little wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation tool with no annotations and zero schema description coverage, the description gives the basic call shape and write-mode requirement. It still leaves gaps around valid input_type values, operational consequences of enabling/disabling, and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It documents all three parameters, giving examples for input_type and listing enable/disable for action, though it does not provide exhaustive allowed values or enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: enable or disable a configured data input stanza. It is clear what the tool does, but it does not explicitly distinguish itself from sibling tools like splunk_list_inputs or splunk_get_input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that it requires write mode, which is a useful prerequisite. However, it does not state when to use this tool versus alternatives such as splunk_list_inputs or splunk_get_input, nor does it give explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_manage_roleB
Create, modify, or delete a security role (requires write mode and human confirmation).
Args: role_name: Role identifier. action: 'create', 'update', or 'delete'. capabilities: List of granted capabilities. allowed_indexes: Allowed searchable indexes. confirm: Confirmation flag.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | create | |
| confirm | No | ||
| role_name | Yes | ||
| capabilities | No | ||
| allowed_indexes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It helpfully states that write mode and human confirmation are required and lists the create/update/delete actions, but it does not explain the effects of each action, whether changes are reversible, or what happens to unspecified fields during an update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action and key prerequisite. The Args section is somewhat repetitive of the schema, but useful because the schema has no parameter descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations and 0% schema description coverage, so the description needs to carry substantial context. It covers the main action and confirmation requirement, and an output schema exists so return values need not be described, but it still lacks detail about update semantics and destructive behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain all five parameters. It identifies each parameter and gives brief meanings, including the action values create/update/delete, but it remains thin on formats and edge cases, such as how capabilities and allowed_indexes are interpreted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb set and resource: create, modify, or delete a security role. It is clear enough to distinguish this from read-only siblings like splunk_list_roles and splunk_get_role_capabilities, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an important usage prerequisite: it requires write mode and human confirmation. However, it does not explicitly say when to use this tool versus sibling role tools or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_manage_userA
Create, update, or remove a Splunk user (requires write mode and human confirmation).
Args: username: Target username. action: 'create', 'update', or 'delete'. roles: List of roles to assign (e.g. ['user', 'power']). password: User password for creation/update (scrubbed from audit logs). realname: Optional display real name. email: Optional email address. confirm: Confirmation flag for user management.
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| roles | No | ||
| action | No | create | |
| confirm | No | ||
| password | No | ||
| realname | No | ||
| username | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it does disclose meaningful traits: the operation is mutating and destructive (delete), requires write mode plus human confirmation, and the password is scrubbed from audit logs. It stops short of stating irreversibility, side effects of deletion (e.g. whether the user's roles/knowledge objects are removed), or failure behavior when confirm=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-sentence summary with prerequisites in parentheses, followed by a compact Args list. Most lines earn their place, though the trivial parameter glosses (realname, email) add little and lengthen the entry without adding decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter mutation tool with no annotations, the description covers action, targets, roles, credentials, and required confirmation privileges, and an output schema exists so return values need not be explained. The remaining gap is what confirm=false actually does and what happens on partial failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it documents all seven parameters including a role example (['user', 'power']) and the enumeration of valid action values that the schema does not constrain. Some entries are near-tautological ('email: Optional email address') and it does not explain the interaction between confirm and action, keeping it below a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb set (create, update, remove) and resource (Splunk user), and the action enum ('create', 'update', or 'delete') pins the exact scope. Against siblings like splunk_list_users and splunk_get_user, an agent can immediately tell this is the mutation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the two operating prerequisites ('requires write mode and human confirmation'), which is genuinely useful context for selecting the tool. However, it never says when to choose this over siblings such as splunk_manage_role, nor what to do when the user already exists, so usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_natural_language_to_splB
Convert natural language questions or operational requirements into secure, optimized SPL.
Args: prompt: User's analytical goal (e.g. 'top 10 IP addresses by failed login count'). target_index: Optional target index hint (e.g. '_audit', 'main', 'firewall'). time_range: Intended time window (default '-24h@h').
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| time_range | No | -24h@h | |
| target_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says the output is 'secure, optimized SPL' but does not clarify whether the tool only generates SPL or executes it, what permissions are needed, or other operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the core purpose stated first and parameter notes following in a compact Args section. Every part contributes directly to correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values need not be explained, and the description covers the parameters adequately. However, it leaves important behavioral and usage context unspecified for a tool that generates SPL in a complex search ecosystem.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates well by explaining all three parameters with examples and the default time range. It adds meaningful semantics beyond the bare schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and transformation: convert natural language questions or operational requirements into SPL. It is clearly distinct from search execution siblings, though it does not explicitly differentiate itself from splunk_optimize_spl or mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives examples of inputs but does not state when to use this tool versus alternatives such as splunk_optimize_spl or splunk_search_explain. There is no explicit when/when-not guidance or workflow placement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_optimize_splB
Analyze an SPL query, detect performance anti-patterns, and generate an optimized version.
Args: spl: SPL search string to optimize.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and does not meet it. It never says whether the query is actually executed against the index (a cost/impact question), whether the operation is read-only, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and waste-free. The separate Args block largely duplicates what the schema already declares, but the overall length is small.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter and an output schema present, the definition covers the essentials: what goes in, what comes out conceptually. The remaining gap is the execution/impact behavior, a meaningful but not fatal omission for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the only meaning comes from the description's line 'spl: SPL search string to optimize', which does clarify the expected content and intent. It adds nothing about form, e.g., whether a leading pipe, time-range clause, or generating command is accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb chain and resource: analyze an SPL query, detect anti-patterns, and emit an optimized version. That is far more informative than the tool name alone. It stops short of distinguishing itself from the many SPL-adjacent siblings (splunk_search_explain, splunk_natural_language_to_spl, splunk_detect_slow_searches).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this rather than splunk_search_explain or a plain search, and no prerequisites (e.g., does the query get executed, does it need a time range). A reader is left to infer the trigger condition from the verb 'optimize'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_preview_changeB
Preview the impact of a configuration or administrative modification before executing it.
Args: operation: Operation type (e.g. 'update_index', 'delete_saved_search', 'modify_role'). target: Target resource identifier. proposed_settings: Proposed parameter values to evaluate.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| operation | Yes | ||
| proposed_settings | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden, and it does imply a non-mutating dry-run by calling itself a 'preview'. However, it never explicitly confirms that no changes are applied, whether the preview has side effects or quotas, or what permissions the operator needs, which is a real gap for an admin-scoped tool. Return values are covered by the existing output schema, so that omission is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core statement is a single front-loaded sentence with zero filler, followed by a compact Args block. The structure is efficient, though the Args section restates schema titles almost verbatim rather than adding density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a three-required-parameter, nested-object tool with no annotations and 0% schema description coverage, so the description should do considerably more heavy lifting. An agent still cannot tell which operation strings are accepted, what a valid target looks like per operation, or how proposed_settings should be keyed — all of which are prerequisites for a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all three parameters, and it only offers minimal glosses: 'target' as 'Target resource identifier' and 'proposed_settings' as 'Proposed parameter values to evaluate'. It gives three example operation values but no enumeration of valid operations, no target-format convention per operation, and no indication of what shape proposed_settings must take despite the schema declaring a free-form nested object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('preview the impact') applied to a clear resource (a configuration or administrative modification), which makes the intent obvious. It does not, however, differentiate itself from related siblings such as splunk_validate_configuration or the actual mutation tools (splunk_update_index_settings, splunk_manage_role), which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before executing it' implies a dry-run workflow, which gives the agent a usable trigger condition. But it never names an alternative (e.g. splunk_validate_configuration for schema validation vs. this tool for impact preview) nor states when the tool should be skipped, so the guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_replay_saved_searchB
Replay and re-execute a saved search query over a custom historical time range.
Args: name: Saved search name. earliest_time: Historical start time (e.g. '-7d@d', '1710000000'). latest_time: Historical end time (e.g. 'now', '-1d@d').
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| latest_time | No | now | |
| earliest_time | No | -7d@d |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does not disclose whether the replay blocks until completion, returns a job/sid, consumes scheduler/concurrency resources, or whether it requires the saved search to be enabled — all material for a tool that launches a search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core sentence is front-loaded and wastes no words; the Args block is compact and example-driven. Slightly redundant with the schema's parameter list, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained, and parameters are documented. What's missing for a re-execution tool is disclosure of execution behavior (blocking, job handle, result retrieval) and how it relates to sibling search-dispatch tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: each of the three parameters is explained, and both time parameters get concrete format examples ('-7d@d', '1710000000', 'now', '-1d@d') that the bare schema lacks. Defaults are only in the schema, but the semantics are well covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair ('Replay and re-execute') and resource ('saved search query') with a scope qualifier ('custom historical time range'), so the action is unambiguous. However, it gives no differentiation from close siblings such as splunk_dispatch_saved_search, which presumably also executes a saved search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'over a custom historical time range' implies the use case (backfilling/re-running against past data) versus a normal live run, but the description never says when to prefer this over splunk_dispatch_saved_search or splunk_search. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_run_reportB
Execute a named report and retrieve its generated results.
Args: name: Name of the report/saved search. count: Maximum results to return.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool executes a report and retrieves results, but omits details such as whether the call is blocking or asynchronous, required permissions, side effects, rate limits, or error behavior. The existence of an output schema covers return format, but critical behavioral traits remain undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: the first sentence states the core action, followed by a concise Args list. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, return values are covered. However, the description lacks behavioral context such as whether the execution is synchronous, whether it affects report scheduling, or what permissions are needed. For an agent to call it correctly, more transparency is needed despite the simple parameter set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides basic meaning for both parameters: 'name' as the report/saved search name and 'count' as the maximum results. However, it lacks details like case sensitivity for 'name' or default behavior for 'count' (though the schema supplies a default). The semantics are adequate but minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Execute a named report and retrieve its generated results.' It is clear what the tool does, but it does not differentiate from siblings like splunk_dispatch_saved_search or splunk_replay_saved_search, which likely have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when-not to use it, nor does it name any sibling tools as alternatives. Usage is only implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_sample_eventsA
Retrieve representative raw event samples without full table scans.
Args: index: Target index. sourcetype: Optional sourcetype filter. count: Number of sample events (default 10, max 100).
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| index | Yes | ||
| sourcetype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose a meaningful behavioral trait – sampling rather than full scanning, implying results are representative/partial, not exhaustive – but says nothing about read-only safety, required permissions, or whether sample selection is random.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One purpose sentence front-loaded, followed by a compact args block. No filler. The Args formatting is slightly terse but each line earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for a zero-annotation tool with many sibling search/event tools, the description leaves the caller without guidance on how sampling differs from splunk_search_events or what 'representative' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it marks index as required, sourcetype as an optional filter, and documents count's default (10) and ceiling (100), which the schema omits entirely. Only the 'anyOf string|null' nature of sourcetype is left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieve raw event samples from Splunk, plus the distinguishing scope 'without full table scans'. It is distinguishable from heavyweight siblings like splunk_search and splunk_search_events in spirit, but never names them, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without full table scans' implies a lightweight preview/inspection use case, but there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. splunk_search_events for full result sets). Usage is only indirectly signalled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_searchA
Execute a synchronous blocking SPL search within an explicit time window.
Args: spl: SPL search string (e.g. 'index=_internal | stats count by sourcetype'). earliest_time: Earliest time bound (e.g. '-24h@h', '-15m', '1710000000'). latest_time: Latest time bound (e.g. 'now', '@h'). count: Maximum number of results to retrieve (capped by SPLUNK_MAX_RESULTS). offset: Offset index for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes | ||
| count | No | ||
| offset | No | ||
| latest_time | No | ||
| earliest_time | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that execution is synchronous and blocking, that count is capped by SPLUNK_MAX_RESULTS, and that offset supports pagination. However, it omits timeout behavior, permission/auth requirements, performance implications, and what happens with excessively broad searches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the most important behavioral detail, synchronous blocking execution, before moving into parameter notes. It is compact and every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex and has no annotations, but the description covers the core execution model, all parameters, result count limits, and pagination. Because an output schema exists, return-value documentation is not required. The main missing context is explicit routing guidance versus sibling search tools and timeout behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all five parameters are explained. It provides SPL and time-bound examples, clarifies that count is a maximum capped by SPLUNK_MAX_RESULTS, and identifies offset as the pagination index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: execute an SPL search. It also adds the key scope qualifier that the search is synchronous and blocking within an explicit time window. It does not explicitly differentiate this tool from siblings such as splunk_search_async, splunk_search_stream, or splunk_search_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'synchronous blocking' and 'explicit time window' imply when this tool is appropriate, but there are no explicit when-to-use or when-not-to-use guidelines. It also does not name alternatives like async, streaming, or preview searches, which is a notable gap given the many search-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_asyncB
Initiate an asynchronous search job in the background and return its Job SID immediately.
Args: spl: SPL query. earliest_time: Earliest time bound. latest_time: Latest time bound. max_count: Optional maximum count limit.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes | ||
| max_count | No | ||
| latest_time | No | ||
| earliest_time | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does carry the key behavioral fact: the job runs in the background and no results are returned, only a SID. That is genuinely useful. It omits what an agent would also want for a job-creating write-like operation: permission requirements, job lifetime/expiry, concurrency or resource limits, and how the SID is subsequently consumed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening sentence is front-loaded and efficient, but the four-line Args block is pure duplication of schema titles and consumes roughly half the text for zero informational gain. Appropriately short overall, but with wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 needn't be explained and the description correctly just says a Job SID comes back. The gaps are in usage routing and parameter formats rather than return semantics. For a 4-parameter tool with 0% schema coverage, though, more should be said about time-bound syntax.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does not: the Args block merely restates parameter names ("earliest_time: Earliest time bound") with no accepted formats (relative like -24h vs epoch), no max_count interaction with result pagination, and no note on whether time bounds are optional. It adds almost nothing over the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Initiate an asynchronous search job") plus the outcome ("return its Job SID immediately"), which distinguishes it from the synchronous splunk_search and from splunk_search_status/results. It stops short of naming the sibling alternatives explicitly, which is what a 5 would require.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The asynchronous, background framing implies when this is appropriate (long-running queries) and the immediate Job SID return implies a follow-up call, but neither the alternative (splunk_search for short queries) nor the polling tool (splunk_search_status / splunk_search_results) is named. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_cancelC
Cancel an active authorized search job.
Args: sid: Search Job ID to cancel. confirm: Confirmation flag for cancellation.
| Name | Required | Description | Default |
|---|---|---|---|
| sid | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it does not say whether cancellation is irreversible, whether partial results are preserved, what happens if the job is already finished, or what role/permission is required ('authorized' is asserted but unexplained).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded with the action stated first. The Args block duplicates the schema titles but is the only parameter documentation present, so it earns most of its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive/irreversible-style operation with no annotations, an output schema that covers the return value, but critical gaps remain around the confirm flag semantics and preconditions. For a mutation tool with zero annotation coverage, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names both params but adds almost no meaning: 'sid: Search Job ID to cancel' restates the title, and 'confirm: Confirmation flag for cancellation' leaves the decisive question unanswered — must confirm be true for the cancellation to occur, and what happens when it is false?
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource: cancels an active search job. It is distinguishable from siblings like splunk_search_status or splunk_search_results by the 'cancel' action, though the description never explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to cancel versus let a job finish, no mention of prerequisites (job must be running), and no reference to splunk_search_status for checking state before cancelling. The agent must infer all usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_data_gapsB
Detect time gaps in ingested data streams where expected events are missing.
Args: index: Index to analyze. sourcetype: Optional sourcetype filter. time_span: Bucket duration for binning (e.g. '15m', '1h'). earliest_time: Earliest search window.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | ||
| time_span | No | 1h | |
| sourcetype | No | ||
| earliest_time | No | -24h@h |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-style search over an index and mentions time-span binning, but does not disclose permissions, search cost/performance implications, whether the operation is read-only, or how the search is executed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then uses a compact Args block to attach parameter-specific context. There is no filler, and every sentence or argument note contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values. However, for a search tool with no annotations, the definition is incomplete regarding when to use it versus alternatives, search cost/permissions, and full parameter formats. It is adequate but leaves meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does: 'sourcetype' is marked optional and 'time_span' includes useful examples like '15m' and '1h'. However, 'index: Index to analyze' is near-tautological, and 'earliest_time: Earliest search window' omits format and default details such as '-24h@h'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Detect time gaps in ingested data streams where expected events are missing.' This clearly identifies the tool as a gap-detection search rather than a general search or ingestion-health check, but it does not explicitly differentiate itself from related siblings such as splunk_check_source_coverage or splunk_get_data_freshness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool's purpose but provides no explicit guidance on when to use it versus alternatives, no prerequisites, and no exclusions. The Args section lists parameters only, leaving the agent to infer the operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_eventsC
Retrieve raw events associated with a Search Job.
Args: sid: Search Job ID. offset: Offset into events. count: Number of events to fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| sid | Yes | ||
| count | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only discloses that it retrieves events and supports offset/count pagination. It does not state whether the operation is read-only, whether it has side effects, permission requirements, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, followed by a compact parameter list. It avoids redundancy with the schema's defaults, though the 'Args:' formatting is slightly raw and could be more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, output schema provided) and the absence of annotations, the description covers the basics but omits critical context like differentiation from the many sibling search tools and any behavioral constraints. It is minimally complete but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides a brief one-line explanation for each parameter (sid, offset, count), which is adequate but lacks detail on formats, valid ranges, or default behavior (defaults are only in the schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Retrieve') and resource ('raw events associated with a Search Job'), making the core purpose immediately understandable. However, it does not differentiate this tool from sibling tools like splunk_search_results or splunk_search_preview, which likely also return search data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It only lists parameters, leaving the agent to infer that it should be used after obtaining a Search Job ID, with no mention of prerequisites or sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_explainB
Validate SPL structure, analyze risk, performance anti-patterns, and cost estimation.
Args: spl: SPL query to analyze. earliest_time: Optional earliest time bound.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes | ||
| earliest_time | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the analytical dimensions (structure validation, risk, anti-patterns, cost estimation), which implies a non-executing, read-only operation. But it never explicitly states that the SPL is not run against the index, nor does it mention resource cost of the analysis itself, permissions required, or whether cost estimation uses historical data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in a single dense sentence, and the Args block is terse. There is mild waste in duplicating the schema parameter names verbatim, and a truncated trailing newline, but nothing that meaningfully dilutes the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 there are only two parameters. The critical gap is behavioral: for a tool that could be confused with execution-oriented siblings (splunk_search, splunk_search_preview, splunk_optimize_spl), the definition never clarifies non-execution or its relationship to them, and with zero annotations there is no structured fallback.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate — and it does address both parameters ('spl: SPL query to analyze', 'earliest_time: Optional earliest time bound'), which is better than nothing. But it adds no format detail: the expected Splunk relative-time syntax for earliest_time (e.g., '-24h@h') and whether it affects cost estimation are unstated, and 'SPL query to analyze' restates the name more than it explains it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Validate SPL structure, analyze risk, performance anti-patterns, and cost estimation.' An agent can immediately tell this is a static-analysis tool for SPL. However, it never differentiates itself from close siblings like splunk_optimize_spl, splunk_search_preview, or splunk_explain_search_results, so the boundary is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when this tool should be used versus alternatives such as splunk_optimize_spl (which also concerns SPL quality) or splunk_search (which executes). No prerequisites, no exclusions, and no mention of a workflow context (e.g., 'run before splunk_search to check cost'). The agent must guess the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_historyB
Query recent search history and jobs dispatched by the current user.
Args: count: Maximum number of history jobs to list.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It usefully discloses that results are scoped to the current user and that it queries history/jobs, implying a read operation, but it does not clarify time-window semantics, ordering, pagination, or whether jobs include running versus completed searches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and compact: one sentence states the purpose, followed by a direct explanation of the only parameter. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and the only parameter is explained, so the core description is adequate. However, 'recent' is undefined and there is no usage context for choosing this over related search tools, leaving a meaningful gap for an agent selecting among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the sole parameter, but the description compensates by explaining that 'count' is the maximum number of history jobs to list. The default value is available in the schema, so this is sufficient parameter semantics for a one-parameter read tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: query recent search history and jobs dispatched by the current user. It is clear what the tool returns, though it does not explicitly distinguish itself from nearby siblings such as splunk_search_status or splunk_get_search_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no explicit when-to-use or when-not-to-use guidance and does not name an alternative sibling. The intended use is only implied by the name and the phrase 'recent search history.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_iocA
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').
| Name | Required | Description | Default |
|---|---|---|---|
| ioc_type | No | ||
| ioc_value | Yes | ||
| earliest_time | No | -7d@d |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
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.
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.
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.
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.
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.
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.
splunk_search_previewB
Retrieve preliminary preview results for an in-progress search job.
Args: sid: Search Job ID. count: Number of preview results to fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| sid | Yes | ||
| count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Preliminary/preview' usefully signals partial or provisional data, but it omits what happens if the job has already completed, whether an empty set is normal before preview generation, and any permission or rate constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences plus a terse Args block. Nothing is wasted, though the Args block largely restates the schema titles rather than adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, one required) and an output schema exists, so return values needn't be explained. Still, for a job-lifecycle tool the description lacks the state context an agent needs — what job states preview is valid in and how it relates to results/cancel siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does minimally by glossing both params (sid = Search Job ID, count = number of preview results). However, it gives no format guidance for sid (which ID — presumably the one from splunk_search_async) and no upper bound or default note for count.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Retrieve preliminary preview results for an in-progress search job.' This clearly separates it from a plain results fetch, though it never names the sibling it is not (e.g. splunk_search_results for completed jobs), leaving that distinction implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'For an in-progress search job' implies the usage window, but there is no explicit when-to-use/when-not guidance and no mention of splunk_search_results as the alternative once the job finishes. The agent must infer the routing rule from the word 'in-progress' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_resultsB
Retrieve paginated results for a completed or running Search Job.
Args: sid: Search Job ID. offset: Offset into results. count: Number of results to fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| sid | Yes | ||
| count | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose that running jobs are allowed (implying possibly partial/incomplete result sets), but says nothing about job/results expiry, result caps, or what happens when offset exceeds available results — all material for a paginated retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-sentence purpose followed by a compact three-line Args block; nothing is padded or repeated. The Args section partially restates schema fields but earns its place given zero schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be described, and purpose plus all three parameters are covered. What's missing is operational context for a stateful, expiring resource — job lifetime, paging strategy, and result-size limits — which matters for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the Args block is the only source of parameter meaning; it usefully expands 'sid' to 'Search Job ID' and explains offset/count. It adds no constraints though — no max count, no note that offset is ignored/zero-indexed relative to result set, and the schema's 100/0 defaults are the only numeric guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource ('Retrieve paginated results') and ties it to a Search Job, which distinguishes it from job-control siblings like splunk_search_status or splunk_search_cancel. It does not, however, differentiate from the closest alternatives (splunk_search_preview, splunk_search_events, splunk_export_search_results), so an agent still has to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'for a completed or running Search Job' implies the prerequisite (a job must exist, sid required) but usage is only implied. There is no explicit when-to-use vs. splunk_search_preview or splunk_export_search_results, and no statement about what to do when the job is not yet done or has expired.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_statusB
Query execution status, progress percentage, and statistics of a Search Job by SID.
Args: sid: Search Job ID.
| Name | Required | Description | Default |
|---|---|---|---|
| sid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The word 'Query' implies a read-only status lookup, and the description names the returned information (status, progress, statistics). With no annotations, however, it does not explicitly state read-only behavior, permissions, error handling for invalid SIDs, or whether polling is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a single useful sentence and a compact Args section. There is no filler or repetition, making it easy for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not explain the return structure. For a simple one-parameter status tool it covers the essential call surface, but it lacks context about obtaining the SID from an async search and when polling this status is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the only parameter is documented in the description as 'Search Job ID', which adds meaningful semantic context beyond the schema's bare 'Sid' string field. The meaning is clear, though no format or example is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: querying execution status, progress percentage, and statistics of a Search Job by SID. This is clear enough to distinguish it from result-fetching or cancellation siblings, though it does not explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It says what the tool does and that a SID is required, but gives no explicit guidance on when to use it versus splunk_search_results, splunk_search_async, or splunk_search_cancel. The usage context is only weakly implied by 'Search Job by SID'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_search_streamB
Stream search results progressively via the Splunk export endpoint.
Args: spl: SPL search string. earliest_time: Earliest time bound. latest_time: Latest time bound. count: Maximum number of events to stream.
| Name | Required | Description | Default |
|---|---|---|---|
| spl | Yes | ||
| count | No | ||
| latest_time | No | ||
| earliest_time | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It discloses progressive streaming through the export endpoint and that count caps the number of events, but does not state read-only/non-destructive behavior, permissions/auth requirements, or cancellation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded and free of wasted prose, with the core behavior in the first sentence and parameters listed compactly. It is appropriately concise, though the terse Args block leaves little room for necessary clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema description coverage, four parameters, and many similar search siblings, the description is not complete enough. The output schema covers return values, but time formats, count default behavior, streaming details, and safety context are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names all four parameters with minimal meanings, but omits critical details such as Splunk time format syntax for earliest_time/latest_time and whether null has special behavior; this is insufficient for reliable invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb, resource, and method: stream search results progressively via the Splunk export endpoint. Clear enough to identify the tool, but among many search siblings (splunk_search, splunk_search_async, splunk_export_search_results) it does not explicitly differentiate when this variant should be chosen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'stream search results progressively' implies the streaming use case, but there is no explicit guidance on when to use this tool instead of sibling search tools, nor any exclusions or prerequisites. Usage is only inferred from the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_submit_eventA
Submit a synthetic test log event into a Splunk index via receiver endpoint (requires write mode).
Args: event_data: Raw log text or JSON payload. index: Destination index (default 'main'). sourcetype: Sourcetype marker. host: Optional origin host string.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | ||
| index | No | main | |
| event_data | Yes | ||
| sourcetype | No | mcp_synthetic_event |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the write-mode requirement and the receiver endpoint used. It omits important mutation traits: that events become indexed/searchable and are not easily reversible, that the target index must already exist, and what failure modes (permission, unknown index) look like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key scoping sentence (purpose + write-mode requirement) is front-loaded, and the Args block is compact with no filler. The Args list duplicates parameter titles already in the schema, which costs a little, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the parameter list is covered. For a mutating ingestion tool with zero annotations, though, the definition should say more about side effects, indexing/irreversibility, and the write-mode permission implication than a single parenthetical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description has to compensate, and it does annotate all four parameters, notably clarifying that event_data accepts 'Raw log text or JSON payload' rather than only a string name. Gaps remain: the sourcetype default of 'mcp_synthetic_event' is never stated and 'Sourcetype marker' is close to tautological.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb (Submit), a specific resource (synthetic test log event), a destination (Splunk index), and the transport (receiver endpoint), which is far more than a restatement of the name. The word 'synthetic' usefully separates it from real ingestion siblings such as splunk_manage_input, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(requires write mode)' communicates a prerequisite, and 'synthetic test log event' implies the intended use case is testing rather than production data ingestion. However, it never says when to prefer this over e.g. splunk_sample_events or splunk_manage_input, nor warns against submitting production data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_test_connectionA
Verify end-to-end connectivity, TLS, authentication, server version, and operational permissions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add real substance by naming the five dimensions probed (TLS, auth, version, permissions), which is more than the name alone. However, it never states that the call is read-only/non-mutating, nor how failures surface (exception vs. per-check status in the response), which matters for a connectivity probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every clause names a distinct thing that is verified, so nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and with zero parameters there is no input surface to cover. What remains thin is the absence of any statement about read-only safety and how failures are reported, but for a no-arg probe this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. No parameter semantics are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Verify') plus an enumerated list of what is verified: connectivity, TLS, authentication, server version, permissions. The domain is unambiguous and clearly a diagnostic/health-check concern. It stops short of distinguishing itself from near-neighbours like splunk_get_server_health or splunk_check_forwarder_connectivity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumeration of five checks signals 'run this to confirm the connection is healthy before relying on other tools.' There is no explicit when-to-use, no when-not-to-use, and no mention of the sibling diagnostics (splunk_get_server_health, splunk_get_server_info, splunk_check_forwarder_connectivity) an agent must choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_update_dashboardA
Update an existing dashboard definition (requires write mode).
Args: name: Name of dashboard to update. xml_data: Updated XML/JSON definition. label: Optional new display title. app: Optional app namespace.
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | ||
| name | Yes | ||
| label | No | ||
| xml_data | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that this is a mutation requiring write mode, but it does not specify whether the XML/JSON update replaces the whole definition, what happens to omitted fields, or what permissions beyond write mode 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and prerequisite, followed by a concise argument list. Every sentence and parameter note serves a purpose without unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values need not be explained. However, for a mutation tool with no annotations and 0% schema descriptions, the definition should say more about overwrite behavior and side effects to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must document parameters. It describes all four arguments: name, xml_data, label, and app, though it does not add format details for xml_data beyond 'Updated XML/JSON definition.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: update an existing dashboard definition. This distinguishes it from sibling tools such as create_dashboard, get_dashboard, and delete_dashboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies that the dashboard must already exist and that write mode is required, giving clear usage context. It does not explicitly point to create_dashboard as the alternative for new dashboards, but the implied distinction is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_update_index_settingsA
Update settings, quotas, or disable/enable an index (requires write mode).
Args: name: Name of index to update. max_size_mb: Optional new maximum size in Megabytes. frozen_retention_days: Optional new retention in days. disabled: Set index disabled or enabled.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| disabled | No | ||
| max_size_mb | No | ||
| frozen_retention_days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that this is a write-mode mutation and can disable/enable an index, but it does not warn about operational impact such as ingestion disruption when disabling an index or data freezing/deletion when reducing retention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, with parameters listed compactly afterward. The Args list is useful and not padded, though the formatting is slightly verbose rather than maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. For a mutation tool with no annotations, the description should provide more about side effects and prerequisites; it does give write mode and all parameter meanings, which is minimally adequate but leaves operational impact gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all four parameters are named and given meaning, including units for max_size_mb and frozen_retention_days. It could still clarify optional/default behavior, but it adds substantial value beyond the schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: update settings, quotas, or disable/enable an index. It is clearly distinct from sibling tools like splunk_create_index and splunk_get_index, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a useful prerequisite, '(requires write mode)', which implies this is a mutation tool. However, it does not say when to use this rather than splunk_create_index, splunk_get_index, or splunk_list_indexes, nor does it describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_update_saved_searchB
Update settings or query of an existing saved search.
Args: name: Name of saved search to update. search: Optional new SPL query. description: Optional new description. cron_schedule: Optional new cron expression. is_scheduled: Enable/disable scheduled execution. disabled: Enable/disable the saved search.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| search | No | ||
| disabled | No | ||
| description | No | ||
| is_scheduled | No | ||
| cron_schedule | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a mutation operation. It does not disclose permissions required, whether updates are partial or replace existing values, how omitted fields are handled, or the effects of the disabled/is_scheduled flags beyond a minimal field listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in a single sentence, followed by a compact argument list. Every sentence contributes useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus output schema is sufficient to identify the operation and its parameters, but for a mutation tool with no annotations it omits important context about permissions, update semantics, and side effects. It is adequate but has clear behavioral gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does document all six parameters with meaning beyond their titles, including optionality and the intended use of each field. The distinction between is_scheduled and disabled could be clearer, and cron/SPL formats are not specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource: update an existing saved search's settings or query. It is clear enough to distinguish this from siblings like create/delete saved search by the verb, but it does not explicitly differentiate update from related actions such as dispatch or replay.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when modifying an existing saved search, but gives no explicit when-to-use guidance, prerequisites, or alternatives. It does not mention sibling tools such as splunk_create_saved_search or splunk_dispatch_saved_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
splunk_validate_configurationA
Audit and validate a configuration file for syntax errors or stanza duplicates.
Args: conf_file: Configuration file name (e.g. 'props', 'transforms', 'inputs').
| Name | Required | Description | Default |
|---|---|---|---|
| conf_file | No | props |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | Output payload or results |
| error | No | Error message if execution failed |
| success | No | Whether the tool execution succeeded |
| metadata | No | Execution timing, pagination and environment details |
| warnings | No | Operational warnings or notices |
| request_id | No | Correlation ID for audit trail and observability |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Audit and validate' implies a read-only check, which is useful, but it doesn't say whether the operation touches the live file, which app/context it reads from, how it behaves when the file is missing, or how errors are surfaced. An output schema exists, so return shape is covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single purpose sentence followed by a compact Args block; nothing is wasted. The Args formatting is slightly ceremonial for a single parameter but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema, but the description leaves gaps around app/namespace scoping and permission requirements for a validation tool in a large sibling set. Adequate, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema only supplies a default of 'props', so the description adds real value by naming the param and giving concrete examples ('props', 'transforms', 'inputs'). It still doesn't state whether arbitrary/custom conf names are accepted or what the valid universe is.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Audit and validate a configuration file') and even names the failure modes it checks for (syntax errors, stanza duplicates). It is distinguishable from the read-oriented siblings splunk_get_configuration and splunk_list_configurations, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent (pre-flight validation of a conf file) is implied by 'audit and validate', but there is no explicit when-to-use, when-not-to-use, or pointer to the neighbouring get/list configuration tools. An agent must infer the workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
100 tool updates
v1.0.0- First observed
splunk_acknowledge_alert - First observed
splunk_audit_tool_activity - First observed
splunk_build_incident_timeline - First observed
splunk_check_forwarder_connectivity - First observed
splunk_check_source_coverage - First observed
splunk_compare_time_periods - First observed
splunk_correlate_events - First observed
splunk_create_dashboard - First observed
splunk_create_index - First observed
splunk_create_saved_search - First observed
splunk_delete_dashboard - First observed
splunk_delete_saved_search - First observed
splunk_detect_anomalies - First observed
splunk_detect_brute_force - First observed
splunk_detect_data_quality_issues - First observed
splunk_detect_failed_logins - First observed
splunk_detect_slow_searches - First observed
splunk_diagnose_ingestion - First observed
splunk_diagnose_performance - First observed
splunk_dispatch_saved_search - First observed
splunk_execute_workflow - First observed
splunk_explain_search_results - First observed
splunk_export_search_results - First observed
splunk_generate_operational_report - First observed
splunk_get_alert_history - First observed
splunk_get_app_details - First observed
splunk_get_cluster_health - First observed
splunk_get_configuration - First observed
splunk_get_dashboard - First observed
splunk_get_data_freshness - First observed
splunk_get_field_summary - First observed
splunk_get_forwarder_status - First observed
splunk_get_index - First observed
splunk_get_ingestion_lag - First observed
splunk_get_ingestion_metrics - First observed
splunk_get_input - First observed
splunk_get_internal_errors - First observed
splunk_get_license_usage - First observed
splunk_get_parsing_errors - First observed
splunk_get_replication_status - First observed
splunk_get_role_capabilities - First observed
splunk_get_saved_search - First observed
splunk_get_scheduler_health - First observed
splunk_get_search_concurrency - First observed
splunk_get_search_performance - First observed
splunk_get_security_alerts - First observed
splunk_get_server_health - First observed
splunk_get_server_info - First observed
splunk_get_storage_usage - First observed
splunk_get_user - First observed
splunk_index_stats - First observed
splunk_investigate_host - First observed
splunk_investigate_ip - First observed
splunk_investigate_user - First observed
splunk_list_alerts - First observed
splunk_list_apps - First observed
splunk_list_configurations - First observed
splunk_list_dashboards - First observed
splunk_list_eventtypes - First observed
splunk_list_forwarders - First observed
splunk_list_hosts - First observed
splunk_list_indexes - First observed
splunk_list_inputs - First observed
splunk_list_macros - First observed
splunk_list_reports - First observed
splunk_list_roles - First observed
splunk_list_saved_searches - First observed
splunk_list_sources - First observed
splunk_list_sourcetypes - First observed
splunk_list_tags - First observed
splunk_list_users - First observed
splunk_manage_alert_suppression - First observed
splunk_manage_app - First observed
splunk_manage_input - First observed
splunk_manage_role - First observed
splunk_manage_user - First observed
splunk_natural_language_to_spl - First observed
splunk_optimize_spl - First observed
splunk_preview_change - First observed
splunk_replay_saved_search - First observed
splunk_run_report - First observed
splunk_sample_events - First observed
splunk_search - First observed
splunk_search_async - First observed
splunk_search_cancel - First observed
splunk_search_data_gaps - First observed
splunk_search_events - First observed
splunk_search_explain - First observed
splunk_search_history - First observed
splunk_search_ioc - First observed
splunk_search_preview - First observed
splunk_search_results - First observed
splunk_search_status - First observed
splunk_search_stream - First observed
splunk_submit_event - First observed
splunk_test_connection - First observed
splunk_update_dashboard - First observed
splunk_update_index_settings - First observed
splunk_update_saved_search - First observed
splunk_validate_configuration
TDQS
Scored across 100 tools
The tool set has many overlapping areas: synchronous, async, streaming, exported, previewed, and saved-search execution tools all coexist, as do composite diagnostics and their granular component tools. Descriptions and predictable names help, but an agent can easily choose the wrong search, alert, report, or investigation tool among the roughly 100 options.
Almost every tool uses the splunk_ prefix and snake_case, with mostly verb_noun patterns such as splunk_get_saved_search, splunk_create_index, and splunk_detect_brute_force. Minor deviations appear in noun-oriented names like splunk_search_status and splunk_index_stats, and some overloaded verbs like manage are broader than others.
A total of 100 tools is an extreme mismatch for a single MCP surface, far beyond the typical 3-15 well-scoped range. Although Splunk is a broad platform, exposing nearly every operation as a separate tool creates a high cognitive and selection burden.
Coverage is unusually broad: search lifecycle, saved searches, alerts, indexes, dashboards, users, roles, apps, ingestion diagnostics, security investigations, performance, and audit are all represented. Some lifecycle gaps remain, such as creating or modifying inputs/configuration, installing apps, and lookup or data model management, but most core workflows are covered.
Maintenance
Related MCP Connectors
- ElaichiOAuthai.elaichi
Governed AI agents for the software your company already runs. 400+ connectors, one endpoint.
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Agent-native security, trust, reliability, data and procurement tools for AI workflows.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Splunk Enterprise and Splunk Cloud instances through standardized MCP interface. Supports executing SPL queries, managing indexes and saved searches, listing applications, and retrieving server information with flexible authentication options.-
- AlicenseBqualityAmaintenanceEnables AI agents to interact seamlessly with Splunk environments through 20+ tools for search, analytics, data discovery, administration, and health monitoring. Features AI-powered troubleshooting workflows and supports multiple Splunk instances with production-ready security.5727Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI-driven SOC investigations by providing automated Splunk querying, threat intelligence enrichment, and response actions through natural language. Includes tools for IP pivoting, lateral movement detection, and label harvesting.311Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Splunk SIEM and TheHive SOAR through a unified MCP interface, providing 12 tools for alert triage, case management, and security operations.MIT