Tickstem
Lập lịch Cron, giám sát uptime, giám sát heartbeat và xác minh email dưới dạng công cụ MCP gốc cho Claude Code, Cursor và bất kỳ tác nhân tương thích MCP nào.
Tài liệu
tickstem/mcp
MCP server for Tickstem — 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, make executable, and place on your PATH:
# macOS / Linux example
chmod +x tsk-mcp-darwin-arm64
mv tsk-mcp-darwin-arm64 /usr/local/bin/tsk-mcp
Or install with Go:
go install github.com/tickstem/mcp/cmd/tsk-mcp@latest
Quick start
export TICKSTEM_API_KEY=tsk_your_key_here
tsk-mcp
The server speaks the Model Context Protocol over stdio — connect it to any MCP-compatible client.
Claude Code
Add to your ~/.claude/claude_desktop_config.json (or equivalent):
{
"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.
[
{ "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 |
TICKSTEM_BASE_URL | No | Override API base URL (e.g. http://localhost:8080/v1 for local dev) |
Local development
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 |
| Go (cron) | go get github.com/tickstem/cron | pkg.go.dev |
| Go (uptime) | go get github.com/tickstem/uptime | pkg.go.dev |
| Go (heartbeat) | go get github.com/tickstem/heartbeat | pkg.go.dev |
| Go (verify) | go get github.com/tickstem/verify | pkg.go.dev |
| Node.js | npm install @tickstem/cron | github.com/tickstem/node |
All SDKs use the same API key.
Get an API key
app.tickstem.dev — free tier includes 1,000 cron executions, 5 uptime monitors, 5 heartbeat monitors, and 500 email verifications per month.
License
MIT