MCP Server

Connect AI assistants to your UptyBots monitors using the Model Context Protocol.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants interact with external tools and services. Instead of copying data from dashboards into chat, your AI assistant connects directly to UptyBots and works with your monitors in real time.

With the UptyBots MCP server, you can ask your AI assistant to list monitors, check incidents, create new monitors, view uptime stats, and more — all through natural conversation.

Prerequisites

  • Node.js 18+ installed on your machine
  • A UptyBots account with an active plan
  • An API Keycreate one in your Account
  • An MCP-compatible client: Claude Desktop, Claude Code, Cursor, or any MCP client

Setup

The MCP server runs locally on your machine. Your AI client starts it automatically — you just need to add the configuration.

Option A: Use npx (no install needed)

The easiest way — your MCP client runs it directly:

npx uptybots-mcp-server

Use this in your MCP config (see Configuration below).

Option B: Clone from GitHub

git clone https://github.com/oleprog-uptybots/mcp-server.git
cd mcp-server
npm install

Configuration

Add the UptyBots MCP server to your AI client's configuration file. Click your client below for the exact config.

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}
Claude Code (CLI)

Edit ~/.claude/settings.json:

{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}
Cursor

Edit .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}
Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}
Cline (VS Code)

Open Cline settings in VS Code → MCP Servers → Edit Config (cline_mcp_settings.json):

{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}
Continue (VS Code)

Edit ~/.continue/config.yaml:

mcpServers:
  - name: uptybots
    command: npx
    args:
      - uptybots-mcp-server
    env:
      UPTYBOTS_API_URL: https://uptybots.com
      UPTYBOTS_API_KEY: upty_your_api_key_here
Zed

Edit Zed settings (settings.json) → context_servers:

{
  "context_servers": {
    "uptybots": {
      "command": {
        "path": "npx",
        "args": ["uptybots-mcp-server"],
        "env": {
          "UPTYBOTS_API_URL": "https://uptybots.com",
          "UPTYBOTS_API_KEY": "upty_your_api_key_here"
        }
      }
    }
  }
}
VS Code Copilot (GitHub Copilot Chat)

Edit .vscode/mcp.json in your workspace root (or user settings for global config):

{
  "servers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}

Requires GitHub Copilot Chat extension with MCP support (Agent mode).

JetBrains AI (IntelliJ, WebStorm, PhpStorm)

Go to Settings → Tools → AI Assistant → MCP Servers, click Add, and configure:

  • Name: uptybots
  • Command: npx
  • Arguments: uptybots-mcp-server

Or edit the JSON config directly:

{
  "servers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}

Requires JetBrains IDE 2025.1+ with AI Assistant plugin.

Amazon Q Developer

Edit ~/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "uptybots": {
      "command": "npx",
      "args": ["uptybots-mcp-server"],
      "env": {
        "UPTYBOTS_API_URL": "https://uptybots.com",
        "UPTYBOTS_API_KEY": "upty_your_api_key_here"
      }
    }
  }
}

Important: Replace upty_your_api_key_here with your actual API key. Never share your API key or commit it to version control.

Available Tools

The MCP server exposes 15 tools that your AI assistant can use:

Read Operations

ToolDescription
list_monitorsList all monitors with optional filters (type, status, page)
get_monitorGet detailed information about a specific monitor by ID
get_incidentsGet downtime incidents for a monitor
get_stats_hourlyHourly performance stats (response times, uptime duration)
get_stats_dailyDaily performance stats with date range filters
get_notificationsNotification history (email, Telegram, webhook, web)

Create Monitors

ToolDescription
create_http_monitorCreate HTTP/HTTPS website monitor
create_api_monitorCreate API endpoint monitor
create_ping_monitorCreate ICMP ping monitor
create_port_monitorCreate TCP port monitor
create_ssl_monitorCreate SSL certificate monitor
create_domain_monitorCreate domain expiration monitor

Manage Monitors

ToolDescription
pause_monitorPause a monitor (stop checking)
resume_monitorResume a paused monitor
delete_monitorPermanently delete a monitor

Usage Examples

Once configured, just talk to your AI assistant naturally. Here are some things you can ask:

"Show me all my monitors"

The assistant calls list_monitors and returns a summary of all your monitors with their current status, uptime, and type.

"Are any of my sites down right now?"

The assistant filters monitors by status down and reports which sites are experiencing issues.

"Create an HTTP monitor for https://mysite.com with 5-minute checks"

The assistant calls create_http_monitor with your URL and frequency, and confirms the new monitor is active.

"What incidents happened on my API monitor last week?"

The assistant calls get_incidents with date filters and summarizes downtime events, durations, and error messages.

"Show me the daily response time stats for monitor 3629"

The assistant calls get_stats_daily and presents average, min, and max response times per day.

"Pause all my staging monitors"

The assistant lists monitors, identifies staging ones, and calls pause_monitor for each.

Environment Variables

VariableRequiredDescription
UPTYBOTS_API_URLNoAPI base URL. Defaults to https://uptybots.com
UPTYBOTS_API_KEYYesYour API key (starts with upty_). Get yours here.

Troubleshooting

"Error: API error 401: An authentication exception occurred."

Your API key is invalid or missing. Check that UPTYBOTS_API_KEY is set correctly in your MCP config and starts with upty_.

"Error: API error 409: Your balance is empty."

Your account trial has expired or balance is zero. Add funds to continue using write operations (create, pause, resume). Read operations (list, get, stats) still work.

"MCP server not found" or connection errors

Make sure Node.js 18+ is installed (node --version) and the path in your MCP config points to the correct index.js file.

Tools not appearing in AI assistant

Restart your AI client after editing the MCP configuration. Most clients need a restart to pick up new MCP servers.

Need an API Key?

Create one in your account settings to get started with the MCP server.

Manage API Keys