# tickstem/mcp [Health: Active]

**Category:** 📊 Monitoring  
**Repository:** https://github.com/tickstem/mcp  
**GitHub Stars:** 2  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/tickstem-mcp

## Description
HTTP uptime monitoring, heartbeat (dead-man's switch) monitoring, cron job scheduling, and email verification. Single API key, per-tool quota tracking. Install: go install github.com/tickstem/mcp/cmd/tsk-mcp@latest.

## Tools
Capabilities this server exposes over MCP:

- **list_jobs** — List all cron jobs in the account
- **get_job** — Get a cron job by ID
- **register_job** — Register a new cron job (name, schedule, endpoint)
- **update_job** — Update an existing job — only provided fields change
- **pause_job** — Pause a job so it no longer fires
- **resume_job** — Resume a paused or failing job
- **delete_job** — Permanently delete a job and its execution history
- **list_executions** — List execution history for a job, most recent first
- **list_monitors** — List all monitors — status, URL, interval, SSL expiry, assertions
- **create_monitor** — Create a monitor with optional response assertions (status code, response time, body)
- **get_monitor** — Get a monitor by ID
- **pause_monitor** — Pause a monitor so it stops polling
- **resume_monitor** — Resume a paused monitor
- **delete_monitor** — Permanently delete a monitor and its check history
- **list_monitor_checks** — List recent checks — status, HTTP code, duration, error, SSL expiry
- **list_heartbeats** — List all heartbeats — status, token, interval, grace window, last ping time
- **create_heartbeat** — Create a heartbeat monitor (dead-man's switch)
- **get_heartbeat** — Get a heartbeat by ID
- **update_heartbeat** — Update name, interval, or grace window
- **pause_heartbeat** — Suppress alerts during planned downtime
- **resume_heartbeat** — Resume alerting after a pause
- **delete_heartbeat** — Permanently delete a heartbeat and its ping history
- **ping_heartbeat** — Record a successful job run — no API key needed, token is the credential
- **list_heartbeat_pings** — List recent pings for a heartbeat, most recent first
- **verify_email** — Check syntax, MX records, disposable domain, and role-based prefix
- **list_verify_history** — List past verification results for the account

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mcp": {
    "command": "uvx",
    "args": ["tickstem"],
    "env": {
      "TICKSTEM_API_KEY": "",
      "TICKSTEM_BASE_URL": ""
    }
  }
}
```

**Requires environment variables:** `TICKSTEM_API_KEY`, `TICKSTEM_BASE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation & README

# tickstem/mcp

[![Glama](https://glama.ai/mcp/servers/tickstem/mcp/badge)](https://glama.ai/mcp/servers/tickstem/mcp)
[![smithery badge](https://smithery.ai/badge/tickstem-mcp--tickstem-info)](https://smithery.ai/servers/tickstem-info/tickstem-mcp)

MCP server for [Tickstem](https://tickstem.dev) — exposes cron job scheduling, uptime monitoring, heartbeat monitoring, and email verification as native tools for AI coding assistants (Claude, Cursor, Copilot, and any MCP-compatible agent).

Let your AI assistant register cron jobs, create uptime monitors with response assertions, manage heartbeat monitors, verify email addresses, and query results — while you write the app code.

## Install

**Download a pre-built binary** (no Go required):

| Platform | Binary |
|----------|--------|
| macOS (Apple Silicon) | `tsk-mcp-darwin-arm64` |
| macOS (Intel) | `tsk-mcp-darwin-amd64` |
| Linux (x86-64) | `tsk-mcp-linux-amd64` |
| Linux (ARM64) | `tsk-mcp-linux-arm64` |
| Windows (x86-64) | `tsk-mcp-windows-amd64.exe` |

Download from [Releases](https://github.com/tickstem/mcp/releases), make executable, and place on your `PATH`:

```bash
# macOS / Linux example
chmod +x tsk-mcp-darwin-arm64
mv tsk-mcp-darwin-arm64 /usr/local/bin/tsk-mcp
```

**Or install with Go:**

```bash
go install github.com/tickstem/mcp/cmd/tsk-mcp@latest
```

## Quick start

```bash
export TICKSTEM_API_KEY=tsk_your_key_here
tsk-mcp
```

The server speaks the [Model Context Protocol](https://modelcontextprotocol.io) over stdio — connect it to any MCP-compatible client.

## Claude Code

Add to your `~/.claude/claude_desktop_config.json` (or equivalent):

```json
{
  "mcpServers": {
    "tickstem": {
      "command": "tsk-mcp",
      "env": {
        "TICKSTEM_API_KEY": "tsk_your_key_here"
      }
    }
  }
}
```

## Available tools

### Cron jobs

| Tool | Description |
|------|-------------|
| `list_jobs` | List all cron jobs in the account |
| `get_job` | Get a cron job by ID |
| `register_job` | Register a new cron job (name, schedule, endpoint) |
| `update_job` | Update an existing job — only provided fields change |
| `pause_job` | Pause a job so it no longer fires |
| `resume_job` | Resume a paused or failing job |
| `delete_job` | Permanently delete a job and its execution history |
| `list_executions` | List execution history for a job, most recent first |

### Uptime monitoring

| Tool | Description |
|------|-------------|
| `list_monitors` | List all monitors — status, URL, interval, SSL expiry, assertions |
| `create_monitor` | Create a monitor with optional response assertions (status code, response time, body) |
| `get_monitor` | Get a monitor by ID |
| `pause_monitor` | Pause a monitor so it stops polling |
| `resume_monitor` | Resume a paused monitor |
| `delete_monitor` | Permanently delete a monitor and its check history |
| `list_monitor_checks` | List recent checks — status, HTTP code, duration, error, SSL expiry |

#### Response assertions

`create_monitor` accepts an `assertions` parameter — a JSON array of conditions that must all pass for a check to be considered up. When assertions are set they replace the default 2xx/3xx logic.

```json
[
  { "source": "status_code",   "comparison": "eq",       "target": "200"              },
  { "source": "response_time", "comparison": "lt",       "target": "2000"             },
  { "source": "body",          "comparison": "contains", "target": "\"status\":\"ok\"" }
]
```

| Source | Valid comparisons | Target |
|--------|------------------|--------|
| `status_code` | `eq` `ne` `lt` `lte` `gt` `gte` | integer string |
| `response_time` | `eq` `ne` `lt` `lte` `gt` `gte` | integer string (ms) |
| `body` | `eq` `ne` `contains` `not_contains` | plain string |

### Heartbeat monitoring

| Tool | Description |
|------|-------------|
| `list_heartbeats` | List all heartbeats — status, token, interval, grace window, last ping time |
| `create_heartbeat` | Create a heartbeat monitor (dead-man's switch) |
| `get_heartbeat` | Get a heartbeat by ID |
| `update_heartbeat` | Update name, interval, or grace window |
| `pause_heartbeat` | Suppress alerts during planned downtime |
| `resume_heartbeat` | Resume alerting after a pause |
| `delete_heartbeat` | Permanently delete a heartbeat and its ping history |
| `ping_heartbeat` | Record a successful job run — no API key needed, token is the credential |
| `list_heartbeat_pings` | List recent pings for a heartbeat, most recent first |

### Email verification

| Tool | Description |
|------|-------------|
| `verify_email` | Check syntax, MX records, disposable domain, and role-based prefix |
| `list_verify_history` | List past verification results for the account |

## Environment variables

| Variable | Required | Description |
|----------|----------|-------------|
| `TICKSTEM_API_KEY` | Yes | API key from [app.tickstem.dev](https://app.tickstem.dev) |
| `TICKSTEM_BASE_URL` | No | Override API base URL (e.g. `http://localhost:8080/v1` for local dev) |

## Local development

```bash
export TICKSTEM_API_KEY=tsk_your_key_here
export TICKSTEM_BASE_URL=http://localhost:8080/v1
go run ./cmd/tsk-mcp
```

## SDKs

The MCP server handles infrastructure management from your AI assistant. For application code, use the SDK that matches your language:

| Language | Install | Docs |
|----------|---------|------|
| Python | `pip install tickstem` | [github.com/tickstem/python](https://github.com/tickstem/python) |
| Go (cron) | `go get github.com/tickstem/cron` | [pkg.go.dev](https://pkg.go.dev/github.com/tickstem/cron) |
| Go (uptime) | `go get github.com/tickstem/uptime` | [pkg.go.dev](https://pkg.go.dev/github.com/tickstem/uptime) |
| Go (heartbeat) | `go get github.com/tickstem/heartbeat` | [pkg.go.dev](https://pkg.go.dev/github.com/tickstem/heartbeat) |
| Go (verify) | `go get github.com/tickstem/verify` | [pkg.go.dev](https://pkg.go.dev/github.com/tickstem/verify) |
| Node.js | `npm install @tickstem/cron` | [github.com/tickstem/node](https://github.com/tickstem/node) |

All SDKs use the same API key.

## Get an API key

[app.tickstem.dev](https://app.tickstem.dev) — free tier includes 1,000 cron executions, 5 uptime monitors, 5 heartbeat monitors, and 500 email verifications per month.

## License

MIT

