Skip to main content
Glama
Agentify MCP Server
by gargoyle92

Agentify MCP Server

npm version License: MIT Node.js Version

πŸ€– A simple MCP server for AI task tracking and webhook notifications

Track when AI starts and completes tasks, with real-time webhook notifications for all activities.

πŸš€ Features

  • task-started - Tool to call when starting any task

  • auto-task-tracker - Automatic tracking for long-running tasks

  • task-completed - Tool to call when completing any task

  • Webhook Notifications - Real-time webhook delivery for all tool calls

  • Environment Variable Configuration - Dynamic webhook URL management

Related MCP server: webhook-mcp

πŸ“¦ Installation

# Global installation
npm install -g agentify-mcp

# Or run with npx
npx agentify-mcp

βš™οΈ Webhook Configuration

  1. Visit webhook.site

  2. Copy the auto-generated unique URL

  3. Set it up using one of the methods below

2. Environment Variable Setup

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

agentify-mcp

3. Environment Variable Injection in MCP Configuration

Claude Desktop's claude_desktop_config.json:

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

4. Configuration File Locations

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

πŸ”§ Usage

AI Tool Call Examples

AI will automatically call tools like this:

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

Runtime Status Check

When the server starts, you can see the status:

πŸš€ Agentify MCP Server
πŸ“‹ Webhook: βœ… Enabled      # When URL is configured
πŸ“ Log Level: info

Or:

πŸ“‹ Webhook: ❌ Disabled     # When URL is not configured

πŸ“‘ Webhook Payload

All tool calls send webhooks in this format:

{
  "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
}

πŸ› οΈ Developer Configuration

Programmatic Setup

import { AgentifyMCPServer } from 'agentify-mcp';

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

await server.start();

Runtime Dynamic Configuration

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

Local Development

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

πŸ” Troubleshooting

Webhook Not Working

  1. Check Environment Variables

    echo $AGENTIFY_WEBHOOK_URL
  2. Restart Claude Desktop

    • Completely restart Claude Desktop after environment variable changes

  3. Test with Webhook.site

    • Check if requests are received in real-time

MCP Connection Issues

  1. Check configuration file path

  2. Verify JSON syntax

  3. Confirm command path (agentify-mcp or npx agentify-mcp)

πŸ›‘οΈ Security

  • Webhook URLs are masked in logs

  • Secure management of sensitive information via environment variables

  • Runtime URL changes supported

🌟 Usage Examples

Basic Execution

# Run without webhook
agentify-mcp

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

Using with Claude Desktop

  1. Generate URL from Webhook.site

  2. Add configuration to claude_desktop_config.json

  3. Restart Claude Desktop

  4. Receive real-time notifications whenever AI performs tasks

πŸ§ͺ Testing

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

πŸ“ˆ API Reference

AgentifyMCPServer

Constructor Options

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

Methods

  • start(): Promise<void> - Start the MCP server

  • stop(): Promise<void> - Stop the MCP server

  • setWebhookUrl(url: string): void - Set or update webhook URL

  • getWebhookUrl(): string | undefined - Get current webhook URL status

  • isWebhookEnabled(): boolean - Check if webhook is enabled

Available Tools

task-started

  • Description: Call when starting any task or work

  • Parameters:

    • taskDescription (string): Brief description of what was started

auto-task-tracker

  • Description: Automatically monitors long-running task progress

  • Parameters:

    • taskThresholdSeconds (number, optional): Auto-trigger threshold in seconds (default: 30)

task-completed

  • Description: Call when finishing any task or work

  • Parameters:

    • taskDescription (string): Brief description of what was completed

    • outcome ('success' | 'partial' | 'failed'): Task completion outcome

    • details (string, optional): Additional completion details

πŸ“„ License

MIT License - see the LICENSE file for details.

πŸ“Š Stats

npm downloads GitHub stars GitHub issues

Available Tools

3 tools
auto-task-trackerA

AUTOMATICALLY monitors task progress during long-running operations. Self-triggers every 10 seconds when: tasks run longer than 30 seconds, multiple tools are being used, or complex processing is detected. Updates progress without user prompting.

Inputs: taskThresholdSeconds.

task-completedA

Call this when you finish any task, answer a question, or complete work. This tracks your activity and helps monitor progress.

Inputs: taskDescription (required), outcome (required), details.

task-startedB

Call this when you start any task, answer a question, or start work.

Inputs: taskDescription (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

    TDQS

    A3.8/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a distinct role: auto-task-tracker for automatic monitoring, task-started for initiating, and task-completed for finishing. No overlap.

    Naming Consistency4/5

    All names use hyphens and are descriptive, but 'auto-task-tracker' is a noun phrase while 'task-started' and 'task-completed' are verb phrases, slightly inconsistent.

    Tool Count4/5

    3 tools is minimal but reasonable for a simple task tracking server, covering the basic lifecycle without being too sparse.

    Completeness4/5

    Covers start, auto-tracking, and end. Missing manual progress updates or error states, but sufficient for basic automation.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers