Agentify

Um sistema de monitoramento e controle de agente de IA multicliente com detecção automática de conclusão de tarefas.

Documentação

Servidor MCP Agentify

npm version License: MIT Node.js Version

🤖 Um servidor MCP simples para rastreamento de tarefas de IA e notificações via webhook

Acompanhe quando a IA inicia e conclui tarefas, com notificações via webhook em tempo real para todas as atividades.

🚀 Recursos

  • task-started - Ferramenta para chamar ao iniciar qualquer tarefa
  • auto-task-tracker - Rastreamento automático para tarefas de longa duração
  • task-completed - Ferramenta para chamar ao concluir qualquer tarefa
  • Notificações via Webhook - Entrega de webhook em tempo real para todas as chamadas de ferramentas
  • Configuração por Variáveis de Ambiente - Gerenciamento dinâmico de URL de webhook

📦 Instalação

# Global installation
npm install -g agentify-mcp

# Or run with npx
npx agentify-mcp

⚙️ Configuração do Webhook

1. Usando Webhook.site (Recomendado)

  1. Visite webhook.site
  2. Copie a URL única gerada automaticamente
  3. Configure usando um dos métodos abaixo

2. Configuração de Variável de Ambiente

export AGENTIFY_WEBHOOK_URL="https://webhook.site/your-unique-id"
# or
export WEBHOOK_URL="https://webhook.site/your-unique-id"

agentify-mcp

3. Injeção de Variável de Ambiente na Configuração do MCP

O claude_desktop_config.json do Claude Desktop:

{
  "mcpServers": {
    "agentify": {
      "command": "agentify-mcp",
      "env": {
        "AGENTIFY_WEBHOOK_URL": "https://webhook.site/your-unique-id",
        "LOG_LEVEL": "info"
      }
    }
  }
}

4. Localizações dos Arquivos de Configuração

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

🔧 Uso

Exemplos de Chamadas de Ferramentas da IA

A IA chamará automaticamente ferramentas assim:

// When starting a task
task_started({
  taskDescription: 'Starting React component refactoring',
});

// When completing a task
task_completed({
  taskDescription: 'Completed React component refactoring',
  outcome: 'success',
  details: '20% performance improvement',
});

Verificação de Status em Tempo de Execução

Quando o servidor inicia, você pode ver o status:

🚀 Agentify MCP Server
📋 Webhook: ✅ Enabled      # When URL is configured
📝 Log Level: info

Ou:

📋 Webhook: ❌ Disabled     # When URL is not configured

📡 Payload do Webhook

Todas as chamadas de ferramentas enviam webhooks neste formato:

{
  "timestamp": "2024-01-01T12:00:00.000Z",
  "event": "tool_called",
  "toolName": "task-started",
  "arguments": {
    "taskDescription": "Starting React component refactoring"
  }
}
{
  "timestamp": "2024-01-01T12:00:00.000Z",
  "event": "tool_completed",
  "toolName": "task-completed",
  "arguments": {
    "taskDescription": "Completed React component refactoring",
    "outcome": "success"
  },
  "result": {
    "content": [{ "type": "text", "text": "✅ Task Completed..." }]
  },
  "duration": 150
}

🛠️ Configuração do Desenvolvedor

Configuração Programática

import { AgentifyMCPServer } from 'agentify-mcp';

const server = new AgentifyMCPServer({
  webhookUrl: 'https://webhook.site/your-unique-id',
  logLevel: 'info',
});

await server.start();

Configuração Dinâmica em Tempo de Execução

const server = new AgentifyMCPServer();

// Set webhook URL later
server.setWebhookUrl('https://webhook.site/your-unique-id');

// Check webhook status
console.log(server.isWebhookEnabled()); // true/false

Desenvolvimento Local

git clone https://github.com/agentify/agentify-mcp.git
cd agentify-mcp
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run tests
npm test

# Type checking
npm run typecheck

# Linting
npm run lint

🔍 Solução de Problemas

Webhook Não Funcionando

  1. Verifique as Variáveis de Ambiente

    echo $AGENTIFY_WEBHOOK_URL
    
  2. Reinicie o Claude Desktop

    • Reinicie completamente o Claude Desktop após alterações nas variáveis de ambiente
  3. Teste com Webhook.site

    • Verifique se as requisições são recebidas em tempo real

Problemas de Conexão com o MCP

  1. Verifique o caminho do arquivo de configuração
  2. Verifique a sintaxe do JSON
  3. Confirme o caminho do comando (agentify-mcp ou npx agentify-mcp)

🛡️ Segurança

  • URLs de webhook são mascaradas nos logs
  • Gerenciamento seguro de informações sensíveis via variáveis de ambiente
  • Alterações de URL em tempo de execução suportadas

🌟 Exemplos de Uso

Execução Básica

# Run without webhook
agentify-mcp

# Run with webhook
AGENTIFY_WEBHOOK_URL="https://webhook.site/abc123" agentify-mcp

Usando com o Claude Desktop

  1. Gere a URL no Webhook.site
  2. Adicione a configuração ao claude_desktop_config.json
  3. Reinicie o Claude Desktop
  4. Receba notificações em tempo real sempre que a IA realizar tarefas

🧪 Testes

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

📈 Referência da API

AgentifyMCPServer

Opções do Construtor

interface ServerConfig {
  webhookUrl?: string;
  logLevel?: 'debug' | 'info' | 'warn' | 'error';
}

Métodos

  • start(): Promise<void> - Inicia o servidor MCP
  • stop(): Promise<void> - Para o servidor MCP
  • setWebhookUrl(url: string): void - Define ou atualiza a URL do webhook
  • getWebhookUrl(): string | undefined - Obtém o status atual da URL do webhook
  • isWebhookEnabled(): boolean - Verifica se o webhook está habilitado

Ferramentas Disponíveis

task-started

  • Descrição: Chame ao iniciar qualquer tarefa ou trabalho
  • Parâmetros:
    • taskDescription (string): Breve descrição do que foi iniciado

auto-task-tracker

  • Descrição: Monitora automaticamente o progresso de tarefas de longa duração
  • Parâmetros:
    • taskThresholdSeconds (number, opcional): Limite de acionamento automático em segundos (padrão: 30)

task-completed

  • Descrição: Chame ao concluir qualquer tarefa ou trabalho
  • Parâmetros:
    • taskDescription (string): Breve descrição do que foi concluído
    • outcome ('success' | 'partial' | 'failed'): Resultado da conclusão da tarefa
    • details (string, opcional): Detalhes adicionais da conclusão

📄 Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes.

🔗 Links

📊 Estatísticas

npm downloads GitHub stars GitHub issues