Agentify
Un sistema de monitoreo y control de agentes de IA multicliente con detección automática de finalización de tareas.
GitHub
1
Prueba este MCPPatrocinadoDocumentación
Servidor MCP de Agentify
🤖 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 tareaauto-task-tracker- Seguimiento automático para tareas de larga duracióntask-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)
- Visita webhook.site
- Copia la URL única generada automáticamente
- 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
-
Verifica las Variables de Entorno
echo $AGENTIFY_WEBHOOK_URL -
Reinicia Claude Desktop
- Reinicia completamente Claude Desktop después de los cambios en las variables de entorno
-
Prueba con Webhook.site
- Verifica si las solicitudes se reciben en tiempo real
Problemas de Conexión MCP
- Verifica la ruta del archivo de configuración
- Comprueba la sintaxis JSON
- Confirma la ruta del comando (
agentify-mcponpx 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
- Genera una URL desde Webhook.site
- Agrega la configuración a
claude_desktop_config.json - Reinicia Claude Desktop
- 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 MCPstop(): Promise<void>- Detiene el servidor MCPsetWebhookUrl(url: string): void- Establece o actualiza la URL del webhookgetWebhookUrl(): string | undefined- Obtiene el estado actual de la URL del webhookisWebhookEnabled(): 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 tareadetails(cadena, opcional): Detalles adicionales de la finalización
📄 Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.
🔗 Enlaces
📊 Estadísticas