O que cycles-mcp-server faz?
MCP budget and risk authority for Cycles — runtime governance for Claude, Cursor, and Windsurf
Visão Geral
O runcycles/cycles-mcp-server é um servidor MCP que fornece governança de orçamento e risco para agentes de IA. Ele permite que você defina limites de custo, monitore gastos e controle ações de agentes em tempo real.
Recursos
- Limites de Orçamento: Defina limites de gastos para agentes em diferentes níveis (projeto, equipe, usuário)
- Avaliação de Risco: Configure regras para bloquear ou permitir ações com base em níveis de risco
- Monitoramento em Tempo Real: Veja o consumo de orçamento e ações dos agentes em tempo real
- Logs e Auditoria: Registre todas as ações dos agentes para auditoria posterior
Configuração
Variáveis de Ambiente
| Variável | Descrição | Obrigatório |
|---|---|---|
CYCLES_API_KEY | Chave de API para autenticação no Cycles | Sim |
CYCLES_BUDGET_LIMIT | Limite de orçamento total (em USD) | Não |
CYCLES_RISK_LEVEL | Nível de risco máximo permitido (low, medium, high) | Não |
Arquivo de Configuração
Você também pode usar um arquivo de configuração YAML ou JSON:
budget:
limit: 100.00
unit: USD
risk:
max_level: medium
rules:
- action: "*"
level: high
block: true
Uso
Com Claude Desktop
Adicione ao seu claude_desktop_config.json:
{
"mcpServers": {
"cycles": {
"command": "npx",
"args": ["-y", "@runcycles/cycles-mcp-server"],
"env": {
"CYCLES_API_KEY": "sua-chave-aqui",
"CYCLES_BUDGET_LIMIT": "50.00"
}
}
}
}
Com Cursor
Configure no arquivo .cursor/mcp.json:
{
"mcpServers": {
"cycles": {
"command": "npx",
"args": ["-y", "@runcycles/cycles-mcp-server"],
"env": {
"CYCLES_API_KEY": "sua-chave-aqui"
}
}
}
}
Com Windsurf
Consulte a documentação do Windsurf para configuração de servidores MCP.
Comandos
O servidor expõe as seguintes ferramentas MCP:
check_budget— Verifica o orçamento restantecheck_risk— Avalia o risco de uma açãolog_action— Registra uma ação para auditoriaget_usage— Obtém relatório de uso atual
Exemplo
# Exemplo de chamada via MCP
import mcp
client = mcp.MCPClient()
await client.connect("cycles")
# Verificar orçamento
budget = await client.tools.check_budget()
print(f"Orçamento restante: ${budget.remaining}")
# Avaliar risco de uma ação
risk = await client.tools.check_risk(action="deploy", context={"env": "production"})
if risk.level == "high":
print("Ação bloqueada por política de risco")
Licença
MIT