Arcjet
Arcjet é a plataforma de segurança em tempo de execução que acompanha seu código de IA.
Documentação
Arcjet é a plataforma de segurança em tempo de execução para agentes de IA. Descubra os agentes em execução na sua organização, aplique políticas em cada ação, prompt e chamada de ferramenta, e mantenha as evidências para comprovar o que aconteceu. Detecte injeção de prompt, autorize chamadas de ferramenta de agentes, remova PII e bloqueie bots e abusos.
O servidor MCP da Arcjet é um dos dois transportes que conectam as habilidades da Arcjet à API da Arcjet. O outro é a CLI da Arcjet. Use o servidor MCP com ferramentas de codificação de IA que não têm acesso ao shell, como ChatGPT e Claude Desktop. Ele também funciona com editores que têm suporte MCP integrado, como VS Code Copilot, Windsurf e Cursor. Use a CLI quando estiver trabalhando em uma sessão de terminal.
Ambos os transportes expõem a mesma superfície de plano de gerenciamento – equipes, sites, chaves, solicitações, decisões, análise de tráfego, detecção de anomalias, investigação de IP, briefings de segurança e gerenciamento remoto de regras. Para a referência completa, consulte Ferramentas disponíveis.
O servidor MCP está disponível em:
https://api.arcjet.com/mcp
Ele implementa a revisão de 2025-06-18 das especificações Autorização MCP e HTTP Streamable, com autenticação baseada em OAuth.
Clientes suportados
Qualquer cliente que suporte a especificação MCP de 2025-06-18 com transporte HTTP Streamable e autorização OAuth é suportado. Isso inclui:
Configuração
ChatGPT
- No ChatGPT, vá para Configurações.
- Navegue até Conectores e selecione Adicionar conexão.
- Digite
https://api.arcjet.com/mcpcomo URL do servidor. - Selecione OAuth para autenticação.
- Clique em Criar.
O ChatGPT lida com o fluxo OAuth automaticamente.
Claude Code
claude mcp add arcjet --transport http https://api.arcjet.com/mcp
O Claude Code abre um navegador para autenticação OAuth na primeira conexão. Após a autenticação, você pode usar o comando /mcp para verificar a conexão.
Codex CLI
codex mcp add arcjet --url https://api.arcjet.com/mcp
O Codex solicita que você autentique com a Arcjet quando se conecta ao servidor pela primeira vez.
Claude Desktop
- Abra Configurações na barra lateral.
- Navegue até Conectores e selecione Adicionar conector personalizado.
- Configure o conector:
- Nome:
Arcjet- URL:
https://api.arcjet.com/mcp
- URL:
- Nome:
Cursor
Adicione ao .cursor/mcp.json no seu projeto:
{
"mcpServers": {
"arcjet": {
"type": "streamable-http",
"url": "https://api.arcjet.com/mcp"
}
}
}
Depois de adicionar o servidor, o Cursor mostra um prompt Needs login. Clique nele para autorizar o Cursor a acessar sua conta da Arcjet.
VS Code com Copilot
Adicione ao seu .vscode/mcp.json no seu projeto ou nas configurações do usuário:
{
"servers": {
"arcjet": {
"type": "http",
"url": "https://api.arcjet.com/mcp"
}
}
}
Ou adicione pela paleta de comandos:
- Abra a Paleta de Comandos (Ctrl + Shift + P no Windows/Linux ou Cmd + Shift + P no macOS).
- Execute MCP: Add Server.
- Selecione HTTP.
- Digite a URL:
https://api.arcjet.com/mcp - Digite o nome:
Arcjet - Selecione Workspace ou User de acordo com sua preferência.
O VS Code solicita autenticação OAuth no primeiro uso.
Windsurf
Adicione ao seu arquivo mcp_config.json:
{
"mcpServers": {
"arcjet": {
"serverUrl": "https://api.arcjet.com/mcp"
}
}
}
Para mais detalhes, consulte a documentação MCP do Windsurf.
Ferramentas disponíveis
Uma vez conectado, as seguintes ferramentas estão disponíveis para seu assistente de IA:
list-teams– Lista as equipes às quais o usuário autenticado pertence.list-sites– Lista os sites dentro de uma equipe especificada.create-site– Cria um novo site dentro de uma equipe especificada.get-site-key– Retorna a chave do SDK (ARCJET_KEY) para um site específico.list-requests– Lista solicitações recentes de um site. Suporta filtragem por conclusão (ALLOW,DENY,ERROR) e paginação.get-request-details– Retorna detalhes completos de uma solicitação específica, incluindo cabeçalhos, regras executadas e informações de decisão.explain-decision– Explica por que a Arcjet permitiu ou negou uma solicitação específica. Retorna um resumo em linguagem natural, detalhamento por regra e próximos passos sugeridos.get-site-quota– Retorna o uso e os limites de cota para um site na janela de cobrança atual.analyze-traffic– Analisa o tráfego de solicitações em um período. Retorna total de solicitações, negações, taxa de negação, principais caminhos, principais IPs, principais motivos de negação e tendência em comparação com o período anterior.get-anomalies– Detecta padrões de segurança incomuns comparando o tráfego atual com o período anterior. Identifica picos de tráfego, mudanças geográficas, novas atividades de ameaças, novas assinaturas de bots, escalada de risco e padrões suspeitos de IP.investigate-ip– Investiga um endereço IP no contexto de um site. Retorna localização geográfica, inteligência de ameaças (tipo de rede, atividades de ameaças, classificação de entidade, nível de risco) e a atividade recente de solicitações do IP (detalhamento de conclusão, motivos de negação, caminhos direcionados, linha do tempo diária).get-dry-run-impact– Analisa o que aconteceria se regras de simulação (dry-run) fossem promovidas para produção. Mostra quantas solicitações permitidas cada tipo de regra teria bloqueado, quais IPs seriam mais afetados e uma estimativa de falsos positivos.get-security-briefing– Retorna um briefing de segurança abrangente: resumo de regras ativas, análise de tráfego, inteligência de ameaças, detecção de anomalias, prontidão para promoção de simulação, status de cota e recomendações acionáveis priorizadas. Projetado para consumo diário.list-rules– Lista todas as regras remotas configuradas para um site com seu ID, tipo, modo e resumo de configuração.create-rule– Cria uma nova regra remota para um site. Suporta tipos de regra de limite de taxa, bot, escudo e filtro.update-rule– Substitui uma configuração de regra remota existente. Todos os campos devem ser fornecidos (substituição completa).delete-rule– Exclui uma regra remota, interrompendo imediatamente sua avaliação.promote-rule– Promove uma regra remota do modoDRY_RUNparaLIVEapós verificação.list-guard-policies– Lista as políticas de proteção de agente do site com seus rótulos e contratos declarados.get-guard-policy– Retorna uma política, incluindo cada entrada declarada com seu tipo e exposição.validate-guard-policy– Compila uma política de rascunho e executa seus testes armazenados, relatando um resultado por teste.evaluate-guard-policy– Executa uma entrada de amostra através do avaliador oficial do Open Policy Agent.describe-guard-policy– Transforma uma descrição em inglês simples em uma política de rascunho.suggest-guard-policies– Propõe políticas a partir das formas de entrada que o tráfego do próprio site carrega.put-guard-policy– Cria ou substitui uma política.delete-guard-policy– Exclui uma política, interrompendo imediatamente sua avaliação.retry-guard-policy– Repete uma publicação com falha.
Políticas de proteção
As políticas de proteção de agente decidem se uma chamada de ferramenta ou outra ação é executada. Elas são selecionadas pelo label em uma chamada guard(), então alcançam trabalho que nunca chega via HTTP: um trabalho de fila, uma etapa de fluxo de trabalho, uma chamada de ferramenta.
As ferramentas dão suporte ao mesmo serviço que o Console da Arcjet usa, então um agente e o Console compilam e publicam através de uma única implementação. Um fluxo típico:
- Chame
get-guard-policypara ler o contrato da política – seu rótulo e cada entrada com seu tipo e exposição. Escreva a chamadaguard()a partir desse contrato, porque uma política não faz nada até que a aplicação envie valores exatamente sob os nomes que ela declara. - Chame
describe-guard-policycom um rótulo de proteção e uma descrição do que a ação deve recusar. O modelo emite uma especificação estruturada de construção, nunca o código-fonte da política, e cada candidato é compilado antes de retornar. - Chame
validate-guard-policypara compilar o rascunho e executar seus testes armazenados. Ele relata todas as falhas de uma vez. - Chame
put-guard-policypara publicar. Uma regra ativa não pode publicar sem pelo menos um teste armazenado.
Uma política que protege um agente de codificação declara sobre o que ela executa, chamada de ferramenta ou prompt, e o resumo relata isso como executeOn. Suas entradas são o contrato fixo do agente de codificação, então copie uma política inicial de Políticas para agentes de codificação em vez de declarar entradas manualmente. Publicá-la é o que a ativa.
Quando a criação é rejeitada, a ferramenta nomeia validate-guard-policy para o detalhe em vez de retransmitir a mensagem. Um diagnóstico do compilador cita o próprio código-fonte da política do autor, então ele viaja em um campo rotulado como não confiável.
Para o contrato da política, a linguagem e os portões de publicação, consulte Criar e publicar políticas.
Regras ou políticas
Os dois sistemas de configuração remota são separados por qual chamada do SDK os avalia. Uma regra remota é de todo o site e avaliada em cada chamada protect(). Uma política é selecionada por rótulo em uma chamada guard(). Ambas são configuradas remotamente e nenhuma precisa de implantação, mas uma regra remota só é executada onde a aplicação já chama protect().
Errar isso custa uma sessão inteira: um limite de taxa escrito como política precisa de uma chamada guard() que a aplicação não faz, e um limite de gastos escrito como regra de filtro não pode ver o valor.
Regras remotas
As regras remotas são gerenciadas através do servidor MCP ou do painel da Arcjet – sem mudanças de código ou reimplantação necessárias. Elas se aplicam globalmente a todas as solicitações de um site. Apenas os tipos de regra rate_limit, bot, shield e filter são suportados como regras remotas. Regras que precisam do conteúdo do corpo da solicitação analisado (email, sensitive_info, prompt_injection) exigem o SDK.
Consulte a documentação de regras remotas para a referência completa, incluindo como as regras remotas são avaliadas junto com as regras do SDK e quando usar cada uma.
O caso de uso mais comum para regras remotas é responder a um ataque ativo. Por exemplo, se você notar tráfego suspeito de um país, VPN ou endereço IP específico, você pode criar uma regra de filtro para bloqueá-lo imediatamente sem implantar novo código:
- Use
list-requestspara investigar o tráfego suspeito e identificar padrões (por exemplo, um país, faixa de IP ou uso de VPN específico). - Use
create-rulepara adicionar uma regra de filtro no modoDRY_RUNpara verificar se ela corresponde ao tráfego certo. Por exemplo, bloqueie um país específico:ip.src.country == "XX"(código de país ISO 3166-1 alfa-2, comoUS,CNouRU), bloqueie tráfego de VPN:ip.src.vpn, ou bloqueie uma faixa de IP:ip.src in { 1.2.3.0/24 }. - Use
list-requestsnovamente para confirmar que a regra está correspondendo ao tráfego esperado sem bloquear usuários legítimos. - Use
promote-rulepara alternar a regra deDRY_RUNparaLIVE, bloqueando imediatamente o tráfego do ataque. - Quando o ataque diminuir, use
delete-rulepara remover o bloqueio.
Monitoramento de segurança
Use as ferramentas de análise para manter a conscientização contínua de segurança:
- Briefing diário: Chame
get-security-briefingperiodicamente para uma visão geral abrangente da postura de segurança do seu site em uma única chamada. Ele cobre tendências de tráfego, panorama de ameaças, anomalias, prontidão de simulação, status de cota e recomendações priorizadas. - Análise de tráfego: Use
analyze-trafficpara entender padrões de solicitações, taxas de negação, principais caminhos e principais IPs. Isso fornece os mesmos dados que as análises do painel da Arcjet. - Detecção de anomalias: Use
get-anomaliespara detectar padrões incomuns comparando o tráfego atual com o período anterior – picos de tráfego, mudanças geográficas, novas atividades de ameaças ou comportamento suspeito de IP. - Investigação de IP: Quando você identificar um IP suspeito (de
analyze-trafficoulist-requests), useinvestigate-ippara obter contexto completo: localização geográfica, inteligência de ameaças e a atividade completa de solicitações do IP no seu site. - Validação de simulação: Antes de promover uma regra de
DRY_RUNparaLIVE, useget-dry-run-impactpara ver quantas solicitações permitidas seriam bloqueadas, quais IPs são mais afetados e uma estimativa de risco de falsos positivos.
Exemplos de uso
Investigar e bloquear tráfego suspeito
"Estou vendo um pico de solicitações negadas no meu site. Você pode investigar o que está acontecendo e me ajudar a bloquear a origem?" O assistente chama
analyze-trafficpara identificar o pico e, em seguida,list-requestsfiltrado porDENYpara destacar os principais IPs ofensores. Ele usainvestigate-ippara obter inteligência de ameaças para cada IP e, então, sugere uma regra de filtro. Usandocreate-rule, ele cria a regra no modoDRY_RUNpara que você possa verificar a correspondência antes de chamarpromote-rulepara ativá-la.
Obter um briefing diário de segurança
“Me dê um briefing de segurança para o meu site de produção.”
O assistente chama list-teams e list-sites para localizar seu site de produção e, em seguida, chama get-security-briefing. Ele retorna um resumo cobrindo regras ativas, tendências de tráfego comparadas ao período anterior, detecção de anomalias, destaques de inteligência de ameaças, prontidão para promoção em modo de teste, status de cota e recomendações priorizadas que você pode aplicar imediatamente.
Configurar proteção contra bots sem reimplantar
“Adicione proteção contra bots ao meu site de marketing – comece no modo de teste para que eu possa verificar se não está bloqueando usuários reais.”
O assistente chama list-teams e list-sites para encontrar o site e, em seguida, create-rule para adicionar uma regra bot com mode: DRY_RUN configurado para bloquear tráfego automatizado. Depois que o tráfego fluir, peça ao assistente para chamar get-dry-run-impact para ver quantas solicitações teriam sido bloqueadas e estimar o risco de falsos positivos. Quando estiver satisfeito, peça para chamar promote-rule para alternar a regra para LIVE.
Autenticação
O servidor MCP usa OAuth para autenticação. Quando você se conecta pela primeira vez a partir de qualquer cliente compatível, o Arcjet redireciona você para entrar com sua conta Arcjet. Uma vez autenticado, seu assistente de IA pode acessar com segurança os recursos da sua conta.
Segurança
- Verifique o endpoint – sempre confirme que você está se conectando a
https://api.arcjet.com/mcp. - Revise as chamadas de ferramentas – ative prompts de confirmação no seu cliente de IA para que você possa revisar as ações antes de executá-las.
- Somente clientes confiáveis – conecte-se apenas a clientes de IA em que você confia. Conectar concede à ferramenta de IA o mesmo acesso que sua conta Arcjet.