Ionhour

Permita que agentes de IA monitorem e gerenciem sua infraestrutura através do Model Context Protocol. Consulte, crie e resolva — tudo em linguagem natural.

Documentação

@ionhour/mcp-server

Conecte assistentes de IA ao seu workspace de monitoramento de uptime Ionhour usando o Model Context Protocol.

Início Rápido

# Option 1: Interactive login (recommended)
npx @ionhour/mcp-server login

# Option 2: Set your API key manually
export IONHOUR_API_KEY=ionh_your_key_here

# Run the MCP server
npx @ionhour/mcp-server

Configuração com Assistentes de IA

Smithery

smithery badge

npx -y @smithery/cli install @ionhour/mcp-server --client claude

Claude Code

claude mcp add ionhour -- npx @ionhour/mcp-server

Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "ionhour": {
      "command": "npx",
      "args": ["@ionhour/mcp-server"],
      "env": {
        "IONHOUR_API_KEY": "ionh_your_key_here"
      }
    }
  }
}

Cursor

Adicione ao seu .cursor/mcp.json:

{
  "mcpServers": {
    "ionhour": {
      "command": "npx",
      "args": ["@ionhour/mcp-server"],
      "env": {
        "IONHOUR_API_KEY": "ionh_your_key_here"
      }
    }
  }
}

VS Code (Copilot)

Adicione ao seu .vscode/mcp.json:

{
  "servers": {
    "ionhour": {
      "command": "npx",
      "args": ["@ionhour/mcp-server"],
      "env": {
        "IONHOUR_API_KEY": "ionh_your_key_here"
      }
    }
  }
}

Windsurf

Adicione ao seu ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ionhour": {
      "command": "npx",
      "args": ["@ionhour/mcp-server"],
      "env": {
        "IONHOUR_API_KEY": "ionh_your_key_here"
      }
    }
  }
}

Obtendo uma Chave de API

  1. Acesse as configurações do seu workspace Ionhour em Configurações > Chaves de API
  2. Crie uma nova chave com permissão Leitura e Escrita ou Somente Leitura
  3. Copie a chave (começa com ionh_)

Ferramentas Disponíveis (49)

Workspace

  • get_workspace - Obter detalhes do workspace
  • whoami - Obter informações da chave de API (workspace, usuário, nível de permissão)
  • get_workspace_summary - Visão geral de projetos, verificações por status e incidentes ativos
  • get_workspace_reliability - Uptime, contagem de incidentes e MTTR ao longo de N dias
  • list_team_members - Listar membros do workspace e funções
  • send_invitation - Convidar usuários para o workspace

Projetos

  • list_projects / create_project / update_project

Verificações (Sondas HTTP de Saída)

O Ionhour sonda uma URL que você possui em um agendamento e alerta em caso de falha.

  • create_check - Criar uma verificação de saída (aceita intervalos legíveis como "a cada 5 minutos" ou "por hora")
  • list_checks / list_checks_by_status / find_check_by_name
  • get_check_status - Status detalhado com resultados recentes de sondagem
  • get_check_uptime - Percentual de uptime com intervalos diários
  • run_check_probe - Sondar a verificação sob demanda
  • pause_check / resume_check
  • delete_check - Excluir permanentemente uma verificação e seus dados

register_check é um marcador obsoleto: ele não cria nada. Use register_job para um monitor de heartbeat ou create_check para uma sonda de saída.

Jobs (Monitores de Heartbeat de Entrada)

Seu cron/worker envia um ping ao Ionhour; o Ionhour alerta se um ping estiver atrasado ou ausente.

  • register_job - Criar um Job e obter seu token de heartbeat (aceita intervalos legíveis)
  • list_jobs / find_job_by_name
  • get_job_status - Status detalhado com heartbeats recentes
  • get_job_uptime - Percentual de uptime com intervalos diários
  • pause_job / resume_job
  • delete_job - Excluir um job e seus dados

Sinais (Pings de Heartbeat)

  • send_heartbeat - Enviar um sinal de sucesso
  • send_failure_signal - Reportar uma falha
  • list_signals - Visualizar histórico de sinais

Incidentes

  • list_incidents / search_incidents / get_incident
  • get_incident_timeline - Histórico de incidentes para uma verificação ou job
  • create_incident / acknowledge_incident / resolve_incident
  • add_incident_note

Implantações

  • create_deployment - Iniciar uma janela de implantação (pausa verificações automaticamente)
  • end_deployment - Encerrar implantação e retomar verificações
  • list_deployments

Dependências

  • list_dependencies / get_dependency / create_dependency
  • update_dependency_status
  • delete_dependency - Excluir uma dependência

Páginas de Status

  • list_status_pages / create_status_page / update_status_page
  • create_announcement - Publicar uma atualização de status

Canais de Alerta

  • list_alert_channels / create_alert_channel / update_alert_channel
  • delete_alert_channel - Excluir um canal de notificação

Regras de Escalonamento

  • list_escalation_rules / create_escalation_rule / update_escalation_rule
  • delete_escalation_rule - Excluir uma regra de escalonamento

Recursos

O servidor expõe dados de referência que assistentes de IA podem navegar sem chamar ferramentas:

URIDescrição
ionhour://enumsTodos os enums do Ionhour (status de verificação, estados de incidente, severidades, etc.)
ionhour://checks/schemaEsquema de criação de verificação com restrições de campo e ciclo de vida de status
ionhour://help/ping-formatsExemplos de integração de heartbeat (curl, Node, Python, cron, CI/CD)
ionhour://tools/catalogCatálogo de todas as ferramentas organizadas por domínio com descrições
ionhour://guides/workflowsPadrões de fluxo de trabalho comuns e melhores práticas

Prompts

Modelos de fluxo de trabalho pré-construídos que guiam assistentes de IA por operações de várias etapas:

PromptArgsDescrição
diagnose_incidentincidentIdInvestigação de incidentes passo a passo
setup_monitoringserviceNameConfiguração guiada de monitoramento de novos serviços
deployment_checklistprojectIdFluxo de trabalho pré/durante/pós-implantação
weekly_reliability_reportdaysBack?Gerar um resumo de confiabilidade
triage_all_incidents—Listar e triar todos os incidentes ativos
status_page_incidentincidentIdComunicar um incidente por meio de páginas de status
dependency_health_audit—Auditar todas as dependências e avaliar impacto na saúde

Comandos CLI

npx @ionhour/mcp-server [command] [options]

Commands:
  (default)     Start the MCP server (stdio proxy mode)
  setup         Interactive wizard — install MCP server into your editors
  login         Authenticate via browser and store API key
  logout        Remove stored credentials
  whoami        Show current authentication status

Options:
  --api-key KEY     Ionhour API key (or set IONHOUR_API_KEY env var)
  --base-url URL    MCP base URL (default: https://mcp.ionhour.com)
  --version, -v     Show version
  --help, -h        Show help

Environment Variables:
  IONHOUR_API_KEY   API key for authentication
  IONHOUR_BASE_URL  Base URL override
  IONHOUR_AUTH_URL  Keycloak auth server URL (for login)
  IONHOUR_REALM     Keycloak realm name (for login)

setup

Assistente interativo que detecta editores instalados (Cursor, Claude Desktop, VS Code, Claude Code, Windsurf) e escreve a configuração do servidor MCP do Ionhour em cada um deles. Solicita login se não houver credenciais armazenadas:

npx @ionhour/mcp-server setup

login

Abre seu navegador para autenticar com o Ionhour e, em seguida, cria e armazena automaticamente uma chave de API:

npx @ionhour/mcp-server login

As credenciais são armazenadas em ~/.config/ionhour/credentials.json (permissões de arquivo: 600). Após o login, você pode executar o servidor MCP sem definir IONHOUR_API_KEY.

logout

Remove as credenciais armazenadas de ~/.config/ionhour/credentials.json:

npx @ionhour/mcp-server logout

whoami

Mostra o status de autenticação atual — o workspace, o usuário e o nível de permissão associados à chave de API armazenada:

npx @ionhour/mcp-server whoami

Como Funciona

Este pacote executa um servidor MCP local via stdio que faz proxy de solicitações para a API do Ionhour. Seu assistente de IA se comunica com este servidor local, que encaminha chamadas de ferramentas para o seu workspace Ionhour.

AI Assistant <--stdio--> @ionhour/mcp-server <--HTTPS--> Ionhour API

Documentação

Requisitos

  • Node.js >= 18
  • Uma conta Ionhour com chave de API

Licença

MIT