Agentify

Un sistema de monitoreo y control de agentes de IA multicliente con detección automática de finalización de tareas.

Documentación

Servidor MCP de Agentify

npm version License: MIT Node.js Version

🤖 Un servidor MCP simple para seguimiento de tareas de IA y notificaciones webhook

Realiza un seguimiento de cuándo la IA inicia y completa tareas, con notificaciones webhook en tiempo real para todas las actividades.

🚀 Características

  • task-started - Herramienta para llamar al iniciar cualquier tarea
  • auto-task-tracker - Seguimiento automático para tareas de larga duración
  • task-completed - Herramienta para llamar al completar cualquier tarea
  • Notificaciones Webhook - Entrega de webhook en tiempo real para todas las llamadas de herramientas
  • Configuración mediante Variables de Entorno - Gestión dinámica de la URL del webhook

📦 Instalación

# Global installation
npm install -g agentify-mcp

# Or run with npx
npx agentify-mcp

⚙️ Configuración del Webhook

1. Usando Webhook.site (Recomendado)

  1. Visita webhook.site
  2. Copia la URL única generada automáticamente
  3. Configúrala usando uno de los métodos a continuación

2. Configuración de Variables de Entorno

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

agentify-mcp

3. Inyección de Variables de Entorno en la Configuración de MCP

El claude_desktop_config.json de Claude Desktop:

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

4. Ubicaciones de Archivos de Configuración

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

🔧 Uso

Ejemplos de Llamadas de Herramientas de IA

La IA llamará automáticamente a las herramientas de esta manera:

// 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',
});

Verificación de Estado en Tiempo de Ejecución

Cuando el servidor se inicia, puedes ver el estado:

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

O:

📋 Webhook: ❌ Disabled     # When URL is not configured

📡 Carga Útil del Webhook

Todas las llamadas de herramientas envían webhooks en este 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
}

🛠️ Configuración para Desarrolladores

Configuración Programática

import { AgentifyMCPServer } from 'agentify-mcp';

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

await server.start();

Configuración Dinámica en Tiempo de Ejecución

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

Desarrollo 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

🔍 Solución de Problemas

El Webhook No Funciona

  1. Verifica las Variables de Entorno

    echo $AGENTIFY_WEBHOOK_URL
    
  2. Reinicia Claude Desktop

    • Reinicia completamente Claude Desktop después de los cambios en las variables de entorno
  3. Prueba con Webhook.site

    • Verifica si las solicitudes se reciben en tiempo real

Problemas de Conexión MCP

  1. Verifica la ruta del archivo de configuración
  2. Comprueba la sintaxis JSON
  3. Confirma la ruta del comando (agentify-mcp o npx agentify-mcp)

🛡️ Seguridad

  • Las URLs de webhook se enmascaran en los registros
  • Gestión segura de información sensible mediante variables de entorno
  • Compatibilidad con cambios de URL en tiempo de ejecución

🌟 Ejemplos de Uso

Ejecución Básica

# Run without webhook
agentify-mcp

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

Uso con Claude Desktop

  1. Genera una URL desde Webhook.site
  2. Agrega la configuración a claude_desktop_config.json
  3. Reinicia Claude Desktop
  4. Recibe notificaciones en tiempo real cada vez que la IA realiza tareas

🧪 Pruebas

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

📈 Referencia de la API

AgentifyMCPServer

Opciones del Constructor

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

Métodos

  • start(): Promise<void> - Inicia el servidor MCP
  • stop(): Promise<void> - Detiene el servidor MCP
  • setWebhookUrl(url: string): void - Establece o actualiza la URL del webhook
  • getWebhookUrl(): string | undefined - Obtiene el estado actual de la URL del webhook
  • isWebhookEnabled(): boolean - Verifica si el webhook está habilitado

Herramientas Disponibles

task-started

  • Descripción: Llama al iniciar cualquier tarea o trabajo
  • Parámetros:
    • taskDescription (cadena): Breve descripción de lo que se inició

auto-task-tracker

  • Descripción: Supervisa automáticamente el progreso de tareas de larga duración
  • Parámetros:
    • taskThresholdSeconds (número, opcional): Umbral de activación automática en segundos (predeterminado: 30)

task-completed

  • Descripción: Llama al finalizar cualquier tarea o trabajo
  • Parámetros:
    • taskDescription (cadena): Breve descripción de lo que se completó
    • outcome ('success' | 'partial' | 'failed'): Resultado de la finalización de la tarea
    • details (cadena, opcional): Detalles adicionales de la finalización

📄 Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles.

🔗 Enlaces

📊 Estadísticas

npm downloads GitHub stars GitHub issues