PSA MCP Server 🐳 Docker

AFKBot MCP

MCP server for AFKBot PTO management — file time-off requests and query PTO history from any MCP client.

Installation

Run the MCP server with npx:

npx @wyre-technology/afkbot-mcp

Or install the package:

npm install @wyre-technology/afkbot-mcp

MCPB Bundle (Claude Desktop)

Download the .mcpb bundle from GitHub Releases for a zero-config Claude Desktop install. No Node.js or terminal required — just open the bundle in Claude Desktop via Settings → MCP Servers → Install from file. Requires Claude Desktop 0.10+.

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "afkbot": {
      "command": "npx",
      "args": [
        "@wyre-technology/afkbot-mcp"
      ],
      "env": {
        "AZURE_TENANT_ID": "your-azure-tenant-id",
        "AZURE_CLIENT_ID": "your-azure-client-id",
        "AZURE_CLIENT_SECRET": "your-azure-client-secret"
      }
    }
  }
}

Authentication

Variable Required Description
AZURE_TENANT_ID Yes Azure AD tenant ID for AFKBot Easy Auth
AZURE_CLIENT_ID Yes MCP server app registration client ID
AZURE_CLIENT_SECRET Yes MCP server app registration client secret
AFKBOT_API_URL No AFKBot API URL (defaults to production)
AFKBOT_APP_CLIENT_ID No AFKBot Easy Auth client ID (defaults to production)

Architecture

Single TypeScript MCP server using Azure AD client-credentials flow to authenticate against AFKBot Easy Auth.

Available Tools (2)

Tools are organized into 1 domains:

PTO Requests

File and query time-off requests.

Tool Description
create_pto_request File a new PTO request (full-day or partial-day) for an employee
list_pto_requests List PTO requests with optional status / employee / limit filters