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 Key — create 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
| Tool | Description |
|---|---|
| list_monitors | List all monitors with optional filters (type, status, page) |
| get_monitor | Get detailed information about a specific monitor by ID |
| get_incidents | Get downtime incidents for a monitor |
| get_stats_hourly | Hourly performance stats (response times, uptime duration) |
| get_stats_daily | Daily performance stats with date range filters |
| get_notifications | Notification history (email, Telegram, webhook, web) |
Create Monitors
| Tool | Description |
|---|---|
| create_http_monitor | Create HTTP/HTTPS website monitor |
| create_api_monitor | Create API endpoint monitor |
| create_ping_monitor | Create ICMP ping monitor |
| create_port_monitor | Create TCP port monitor |
| create_ssl_monitor | Create SSL certificate monitor |
| create_domain_monitor | Create domain expiration monitor |
Manage Monitors
| Tool | Description |
|---|---|
| pause_monitor | Pause a monitor (stop checking) |
| resume_monitor | Resume a paused monitor |
| delete_monitor | Permanently 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
| Variable | Required | Description |
|---|---|---|
| UPTYBOTS_API_URL | No | API base URL. Defaults to https://uptybots.com |
| UPTYBOTS_API_KEY | Yes | Your 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