@mnicole-dev/updown-mcp-server
v1.0.0
Published
MCP server for the Updown.io website monitoring API
Maintainers
Readme
@mnicole-dev/updown-mcp-server
A Model Context Protocol (MCP) server for the Updown.io website monitoring API. Manage checks, view downtimes and metrics, configure alert recipients, and control status pages from any MCP-compatible client.
Features
15 tools covering the full Updown.io API:
Checks (5 tools)
| Tool | Description |
|------|-------------|
| list-checks | List all monitoring checks with status, uptime, and apdex |
| get-check | Get details for a single check, optionally including metrics |
| create-check | Create a new URL monitoring check |
| update-check | Update check settings (URL, period, threshold, headers, etc.) |
| delete-check | Delete a monitoring check |
Downtimes & Metrics (2 tools)
| Tool | Description |
|------|-------------|
| get-check-downtimes | Get downtime history for a check (paginated) |
| get-check-metrics | Get performance metrics (apdex, uptime, timings) for a time range |
Nodes (1 tool)
| Tool | Description |
|------|-------------|
| list-nodes | List all global probe locations used by Updown.io |
Recipients (3 tools)
| Tool | Description |
|------|-------------|
| list-recipients | List all alert recipients (email, Slack, webhooks, SMS) |
| create-recipient | Create a new alert recipient |
| delete-recipient | Delete a recipient |
Status Pages (4 tools)
| Tool | Description |
|------|-------------|
| list-status-pages | List all status pages |
| create-status-page | Create a new public or private status page |
| update-status-page | Update a status page |
| delete-status-page | Delete a status page |
Requirements
- Node.js 18+
- An Updown.io account with an API key (get it here)
Installation
npm install -g @mnicole-dev/updown-mcp-serverOr run directly with npx:
npx @mnicole-dev/updown-mcp-serverConfiguration
Set the following environment variable:
export UPDOWN_API_KEY=your-api-keyClaude Code
Add to your ~/.claude.json:
{
"mcpServers": {
"updown": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@mnicole-dev/updown-mcp-server"],
"env": {
"UPDOWN_API_KEY": "your-api-key"
}
}
}
}Claude Desktop
Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"updown": {
"command": "npx",
"args": ["-y", "@mnicole-dev/updown-mcp-server"],
"env": {
"UPDOWN_API_KEY": "your-api-key"
}
}
}
}Examples
Check status of all your monitors
> Show me all my monitoring checks and their current statusInvestigate downtime
> Show me the downtime history for check abc123Get performance metrics
> Get metrics for check abc123 between 2024-01-01 and 2024-01-31, grouped by timeCreate a new monitor
> Create a check for https://myapp.com every 30 seconds with alias "My App" and apdex threshold 0.5Manage recipients
> List all my alert recipients and create a new email recipient for [email protected]Create a status page
> Create a public status page with checks abc123 and def456, named "My Services Status"How it works
- The MCP client sends a tool call to the server via stdio
- The server authenticates with Updown.io using the
X-API-KEYheader - Requests are sent to
https://api.updown.io - Responses are formatted as human-readable markdown text and returned
Development
git clone https://github.com/mnicole-dev/updown-mcp-server.git
cd updown-mcp-server
pnpm install
pnpm dev # Run with tsx (requires UPDOWN_API_KEY)
pnpm build # Build to dist/License
MIT
