MCP Server
Conecte o Claude Code, Claude Desktop, Cursor, VS Code e outros assistentes de IA ao OpsScript em poucos comandos e opere chamados, alertas, sprints e integrações por linguagem natural
O MCP Server do OpsScript expõe a plataforma como ferramentas padronizadas do Model Context Protocol (MCP). Qualquer cliente de IA compatível — Claude Code, Claude Desktop, Cursor, VS Code, Windsurf, Gemini CLI e outros — passa a consultar e operar o OpsScript em linguagem natural: "quais alertas críticos estão disparando?", "abra um chamado de incidente e me atribua", "o que tem no sprint atual?", "quanto de CPU o deployment X usa?".
Cada ação roda com a sua conta e as suas permissões: a IA nunca faz mais do que você mesmo poderia fazer na interface.
Esta página é sobre o OpsScript como servidor MCP (clientes de IA externos operam o OpsScript). Para conectar os seus próprios servidores MCP (logs, métricas, runbooks) e usá-los como contexto na análise de alertas e chamados, veja Integrações → MCP Servers.
Endereço do servidor
| Item | Valor |
|---|---|
| URL (Streamable HTTP) | https://mcp.opsscript.io/mcp |
| Autenticação | OAuth no navegador (recomendado) ou token pessoal ops_pat_… no header X-OpsScript-Token |
| Plano | Recurso MCP Server do plano Enterprise. Alertas, políticas e integrações exigem também os recursos Integrações e Kubernetes Agent da sua assinatura |
Configuração rápida por cliente
Em todos os casos o fluxo é o mesmo: adicione a URL, o cliente abre o OpsScript no navegador, você entra, escolhe a organização e clica em Autorizar. Nenhum token é copiado manualmente.
Claude Code
claude mcp add --transport http opsscript https://mcp.opsscript.io/mcp
# na primeira chamada: /mcp → opsscript → AuthenticatePara disponibilizar o servidor a todos os seus projetos, acrescente --scope user. Para versionar no repositório da equipe, use --scope project (gera .mcp.json).
Claude Desktop e claude.ai
Configurações → Conectores → Adicionar conector personalizado, informe o nome OpsScript e a URL https://mcp.opsscript.io/mcp. Ao conectar, autorize no navegador.
Cursor
Crie (ou edite) .cursor/mcp.json no projeto, ou ~/.cursor/mcp.json para todos os projetos:
{
"mcpServers": {
"opsscript": { "url": "https://mcp.opsscript.io/mcp" }
}
}Em Settings → MCP, clique em Login/Authenticate ao lado do servidor.
VS Code (GitHub Copilot)
.vscode/mcp.json no workspace:
{
"servers": {
"opsscript": { "type": "http", "url": "https://mcp.opsscript.io/mcp" }
}
}Ou pela paleta: MCP: Add Server → HTTP e cole a URL.
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"opsscript": { "serverUrl": "https://mcp.opsscript.io/mcp" }
}
}Gemini CLI
gemini mcp add --transport http opsscript https://mcp.opsscript.io/mcpOutros clientes
Qualquer cliente com suporte a Streamable HTTP + OAuth 2.1 (PKCE) funciona informando só a URL. Clientes que aceitam apenas stdio podem usar a ponte mcp-remote:
{
"mcpServers": {
"opsscript": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.opsscript.io/mcp"]
}
}
}Alternativa: token pessoal (sem OAuth)
Para automações ou clientes sem login pelo navegador, gere um token em Configurações → Tokens de acesso (API) (escopos de chamados, comentários, tempo e anexos) e envie-o no header X-OpsScript-Token:
{
"mcpServers": {
"opsscript": {
"url": "https://mcp.opsscript.io/mcp",
"headers": { "X-OpsScript-Token": "ops_pat_..." }
}
}
}O token pessoal cobre apenas chamados, comentários, tempo e anexos. Projetos, sprints, alertas, escalonamento, políticas de alerta e integrações só estão disponíveis pela sessão OAuth — com token, essas ferramentas respondem PAT_002/401 e explicam o motivo.
O que a IA pode fazer
São 86 ferramentas, organizadas por domínio. Leituras são list_*/get_*; escritas ficam agrupadas em manage_<recurso> com um parâmetro action (ex.: manage_project com create, update ou delete).
| Domínio | Exemplos de pedidos | Ferramentas |
|---|---|---|
| Chamados | "meus chamados abertos", "abra um incidente prioridade alta", "assuma o #1042 pra mim", "feche esses três", "atribua ao Pedro" | list_tickets, get_ticket, create_ticket, update_ticket, assume_ticket, assign_tickets, open_close_ticket, archive_ticket, complete_many_tickets, catálogos de prioridade/status/tipo |
| Comentários | "o que o cliente respondeu?", "responda que já estamos atuando", "deixe uma nota interna" | list_comments, get_comment, create_comment |
| Tempo | "inicie o timer no #1042", "lancei 1h30 ontem nesse chamado", "horas faturáveis do cliente X em setembro" | start_ticket_timer, stop_ticket_timer, add_time_entry, list_time_entries, ticket_time_report… |
| Anexos | "tem screenshot nesse chamado?", "me dê o link do log anexado" | list_ticket_attachments, get_attachment_url… |
| Projetos | "projetos ativos da Acme", "crie o projeto Migração GKE", "arquive o projeto X" | list_projects, get_project, manage_project |
| Sprints | "o que tem no sprint atual?", "coloque esses chamados no sprint e estime 4h", "feche o sprint", "relatório do sprint por projeto" | list_sprints, get_sprint, manage_sprint, manage_sprint_tickets |
| Alertas (NOC) | "o que está disparando?", "alertas críticos do cluster prod", "dê ack nesse alerta", "analise a causa raiz com IA", "silencie por 2h", "histórico desse alerta" | list_alerts, alert_counters, get_alert, get_alert_history, alert_action |
| Escalonamento | "quem é o nível 2 da política?", "escale esse chamado agora", "crie uma política com 3 níveis" | list_escalation_policies, manage_escalation_policy, get_ticket_escalation, escalate_ticket |
| Políticas de alerta | "por que o Alertmanager não abriu chamado?", "monte o template a partir deste JSON", "janela de manutenção no namespace X até sexta", "regenere o token do webhook" | list_alert_policies, manage_alert_policy, suggest_alert_policy_template, list_alert_policy_events, manage_alert_policy_silence… |
| Integrações | "o Slack está conectado?", "notifique #ops quando abrir chamado", "a mensagem chegou no Teams?", "liste os MCP servers da IA" | list_integrations, manage_integration_trigger, list_integration_message_logs, list_mcp_servers, manage_mcp_server… |
| Kubernetes Agent | "o agente está online?", "deployments do namespace prod", "CPU do api-gateway nas últimas 24h", "crie um alerta quando o pod reiniciar mais de 3 vezes", "mute o alerta Watchdog", "o que a IA sugere alertar?" | get_agentscript_status, list_kubernetes_clusters, get_cluster_resources, get_workload_metrics, get_alertmanager_rules, manage_alertmanager_rule, manage_muted_alertnames, manage_alertmanager_suggestion, integrações Elastic… |
Por desenho, não existem ferramentas para revelar tokens/segredos, gerir tokens de acesso, assinatura/faturamento ou descobrir organizações. Instalar Slack/Teams continua sendo pelo navegador: a IA só devolve o link.
Limites de caracteres
As ferramentas aplicam os mesmos limites de caracteres da API (ex.: assunto do chamado com 200, comentário com 20.000). Texto acima do limite retorna erro GEN_019 com o campo e o máximo permitido, para a IA ajustar e reenviar.
Buscar na documentação: search_docs
A ferramenta search_docs (em lançamento) busca na documentação oficial e devolve links das páginas relevantes. Útil para a IA responder dúvidas de uso citando a fonte. A lista completa de páginas também está em /docs/llms.txt.
Economizando contexto: filter e fields
Toda ferramenta aceita dois parâmetros opcionais que a IA usa para devolver só o necessário:
filter— expressão regular (sem distinção de maiúsculas) testada em cada item da lista; só os que casam voltam.fields— campos a manter em cada item, separados por vírgula (aceita um nível com ponto, ex.:status.name).
Uma lista filtrada volta como { total, matched, items, … }. Em pedidos amplos ("liste todos os workloads do cluster"), sugira à IA filtrar: "mostre só os deployments com CrashLoop, campos nome, namespace e restarts".
Exemplos de conversa
Quais alertas críticos estão disparando agora? Agrupe por cluster.Abra um chamado de incidente "API fora do ar em produção", prioridade urgente,
me atribua e inicie o timer.Coloque os chamados #1042, #1043 e #1050 no sprint atual com 2h cada
e atribua ao João.O webhook do Grafana não está abrindo chamados. Veja os últimos eventos
da política e me diga o motivo.No cluster prod, crie uma regra que alerte quando um pod reiniciar
mais de 3 vezes em 10 minutos, severidade warning.Permissões, sessão e erros
- Permissões: a ferramenta só executa o que o seu cargo permite na organização escolhida no consentimento. Para atuar em outra organização, reconecte e escolha-a — ou informe
organization_idnas ferramentas que aceitam. - Sessão OAuth: fica ativa enquanto você usar o MCP (renovação automática em segundo plano). Nova autorização só após 30 dias sem uso, ao atingir o limite de 30 dias da autorização, ou se o acesso for revogado/assinatura bloqueada.
- Revogar: desconecte o servidor no cliente MCP. Para tokens pessoais, revogue em Configurações → Tokens de acesso (API).
| Mensagem | Significado | O que fazer |
|---|---|---|
session expired or revoked (401) | Sessão OAuth encerrada | Reconectar/autorizar de novo no cliente |
403 … MCP_002 | Endpoint ainda não liberado para o canal MCP neste ambiente | Avisar o administrador do OpsScript |
403 … PAT_002 ou 401 em projetos/alertas/integrações | Token pessoal não cobre esse domínio | Usar a sessão OAuth |
403 sem código MCP | Seu cargo não tem a permissão | Pedir a permissão ao administrador da organização |
ErrFeatureNotInPlan | Recurso fora do plano (MCP Server, Integrações, Kubernetes Agent) | Ver Planos |
202 {status: queued} | Análise de IA em andamento | Repetir a leitura (get_alert) em instantes |
Veja também
Tokens de acesso
Gere tokens pessoais para automações e clientes sem OAuth
Alertas
Como funcionam os episódios de alerta, ack, escalonamento e análise por IA
Kubernetes Agent
Instale o agente e gerencie regras do Alertmanager
MCP Servers da organização
Conecte seus servidores MCP como contexto para a IA do OpsScript