Agentify MCP Server - Multi-client AI agent monitoring and control system with auto task completion detection
npm install agentify-mcp


๐ค 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.
- 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
``bashGlobal installation
npm install -g agentify-mcp
โ๏ธ Webhook Configuration
$3
1. Visit webhook.site
2. Copy the auto-generated unique URL
3. Set it up using one of the methods below
$3
`bash
export AGENTIFY_WEBHOOK_URL="https://webhook.site/your-unique-id"
or
export WEBHOOK_URL="https://webhook.site/your-unique-id"agentify-mcp
`$3
Claude Desktop's
claude_desktop_config.json:`json
{
"mcpServers": {
"agentify": {
"command": "agentify-mcp",
"env": {
"AGENTIFY_WEBHOOK_URL": "https://webhook.site/your-unique-id",
"LOG_LEVEL": "info"
}
}
}
}
`$3
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%/Claude/claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json๐ง Usage
$3
AI will automatically call tools like this:
`javascript
// 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',
});
`$3
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:
`json
{
"timestamp": "2024-01-01T12:00:00.000Z",
"event": "tool_called",
"toolName": "task-started",
"arguments": {
"taskDescription": "Starting React component refactoring"
}
}
``json
{
"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
$3
`typescript
import { AgentifyMCPServer } from 'agentify-mcp';const server = new AgentifyMCPServer({
webhookUrl: 'https://webhook.site/your-unique-id',
logLevel: 'info',
});
await server.start();
`$3
`typescript
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
`$3
`bash
git clone https://github.com/agentify/agentify-mcp.git
cd agentify-mcp
npm installRun in development mode
npm run devBuild
npm run buildRun tests
npm testType checking
npm run typecheckLinting
npm run lint
`๐ Troubleshooting
$3
1. Check Environment Variables
`bash
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
$3
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
$3
`bash
Run without webhook
agentify-mcpRun with webhook
AGENTIFY_WEBHOOK_URL="https://webhook.site/abc123" agentify-mcp
`$3
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
`bash
Run all tests
npm testRun tests in watch mode
npm run test:watchGenerate coverage report
npm run test:coverage
`๐ API Reference
$3
#### Constructor Options
`typescript
interface ServerConfig {
webhookUrl?: string;
logLevel?: 'debug' | 'info' | 'warn' | 'error';
}
`#### Methods
-
start(): Promise - Start the MCP server
- stop(): Promise - 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$3
#### 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 detailsMIT License - see the LICENSE file for details.
- GitHub Repository
- npm Package
- Issues