UptyBots MCP Server
Connect AI assistants like Claude, Cursor, and other MCP-compatible tools to your UptyBots uptime monitors.
What is this?
An MCP (Model Context Protocol) server that gives AI assistants access to your UptyBots monitoring data. Ask your AI to check monitor status, review incidents, create new monitors, and more - through natural conversation.
You probably want the hosted server instead
There is now a remote server that needs no install and no API key:
https://mcp.uptybots.com/mcp
Add that URL to your client and it opens a browser for you to sign in and approve
access. If you do not have an UptyBots account yet, you can create one at that step.
With Claude Code:
claude mcp add --transport http uptybots https://mcp.uptybots.com/mcp
then run /mcp, pick uptybots and authenticate.
This package is the local alternative. It runs on your own machine and
authenticates with an API key instead of a browser sign-in - the right choice for
MCP clients that cannot talk to remote servers, and for offline or self-contained
setups. It exposes the same 15 tools and is not going away.
Prerequisites
Setup
1. Configure your AI client
No install step needed: npx fetches the published package on first run.
Add to your MCP client configuration:
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"uptybots": {
"command": "npx",
"args": ["-y", "uptybots-mcp-server"],
"env": {
"UPTYBOTS_API_URL": "https://uptybots.com",
"UPTYBOTS_API_KEY": "upty_your_api_key_here"
}
}
}
}
Claude Code (~/.claude/settings.json) and Cursor (.cursor/mcp.json) use the same format.
2. Restart your AI client
The MCP tools will be available immediately.
Running from source (optional)
To run a local checkout instead of the npm package:
git clone https://github.com/uptybots/mcp-server.git
cd mcp-server
npm install
Then point the client at the checkout:
{
"mcpServers": {
"uptybots": {
"command": "node",
"args": ["/path/to/mcp-server/index.js"],
"env": {
"UPTYBOTS_API_URL": "https://uptybots.com",
"UPTYBOTS_API_KEY": "upty_your_api_key_here"
}
}
}
}
Available Tools (15)
Read
list_monitors | List all monitors with filters (type, status) |
get_monitor | Get monitor details by ID |
get_incidents | Get downtime incidents for a monitor |
get_stats_hourly | Hourly performance stats |
get_stats_daily | Daily performance stats |
get_notifications | Notification history |
Create
create_http_monitor | Create HTTP/HTTPS 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
pause_monitor | Pause a monitor |
resume_monitor | Resume a paused monitor |
delete_monitor | Delete a monitor |
Prompts (5)
Starting sentences an assistant can offer instead of asking you to phrase the request
yourself. Each one is a wording of something the tools above already do; none adds
capability. The hosted server offers exactly the same five.
status_check | none | What is failing right now, and since when |
uptime_report | days (optional, default 7) | Uptime and response times over a period, worst first |
incident_review | monitor | The failure pattern of one monitor: outage, flapping, or degradation |
expiry_audit | none | SSL certificates and domains by how soon they expire |
setup_monitor | target | The right monitor type for a target, then create it |
Environment Variables
UPTYBOTS_API_URL | No | API base URL (default: https://uptybots.com) |
UPTYBOTS_API_KEY | Yes | Your API key (starts with upty_) |
Documentation
License
MIT