# Pingfyr/mcp [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/Pingfyr/mcp  
**GitHub Stars:** 1  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/pingfyr-mcp

## Description
The scheduled delivery API for developers. Schedule reminders, notifications, and webhooks with one API call.

## Tools
Capabilities this server exposes over MCP:

- **create_reminder** — Schedule a new reminder via email, webhook, Slack, Discord, Telegram, OpenClaw, or Google Calendar
- **list_reminders** — List all reminders with optional filtering by status, limit, and offset
- **update_reminder** — Update a pending reminder (title, body, fire_at, channel, recipients, repeat, timezone)
- **cancel_reminder** — Cancel a pending reminder

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

```json
"mcpServers": {
  "mcp": {
    "command": "npx",
    "args": ["-y","@pingfyr/mcp"],
    "env": {
      "PINGFYR_API_KEY": ""
    }
  }
}
```

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

## Documentation & README

# @pingfyr/mcp

Connect your AI assistant to Pingfyr via MCP. Manage reminders through natural conversation.

One API call. Seven channels. Your reminders fire automatically — no external cron, no polling, no babysitting.

Available as a local npm package or as a hosted server at `mcp.pingfyr.com` — no local install required.

## Installation

```bash
npm install -g @pingfyr/mcp
```

Or run directly with npx:

```bash
npx @pingfyr/mcp
```

## Configuration

### Local Setup (stdio)

Run the MCP server as a local process. Requires Node.js 18+.

Add to your MCP client config (Claude Code, Cursor, Windsurf, etc.):

```json
{
  "mcpServers": {
    "pingfyr": {
      "command": "pingfyr-mcp",
      "env": {
        "PINGFYR_API_KEY": "rm_your_api_key"
      }
    }
  }
}
```

Sign up at [pingfyr.com](https://pingfyr.com) to get your API key.

### Hosted Setup

No install required. Connect directly to `mcp.pingfyr.com` using HTTP transport. Your API key is sent as a Bearer token per request.

```json
{
  "mcpServers": {
    "pingfyr": {
      "type": "http",
      "url": "https://mcp.pingfyr.com",
      "headers": {
        "Authorization": "Bearer rm_your_api_key"
      }
    }
  }
}
```

HTTP transport is supported by Claude Code and Cursor. Claude Desktop requires the local (stdio) option above.

## Available Tools

| Tool              | Description                                                                                        |
| ----------------- | -------------------------------------------------------------------------------------------------- |
| `create_reminder` | Schedule a new reminder via email, webhook, Slack, Discord, Telegram, OpenClaw, or Google Calendar |
| `list_reminders`  | List all reminders with optional filtering by status, limit, and offset                            |
| `update_reminder` | Update a pending reminder (title, body, fire_at, channel, recipients, repeat, timezone)            |
| `cancel_reminder` | Cancel a pending reminder                                                                          |

### `create_reminder` Parameters

| Parameter         | Required | Type     | Description                                                                       |
| ----------------- | -------- | -------- | --------------------------------------------------------------------------------- |
| `title`           | Yes      | string   | Title of the reminder (max 200 chars)                                             |
| `fire_at`         | Yes      | string   | When to fire (ISO 8601 datetime, must be in the future)                           |
| `channel`         | Yes      | enum     | `email`, `webhook`, `slack`, `discord`, `telegram`, `openclaw`, `google_calendar` |
| `recipients`      | Yes      | string[] | Delivery addresses (see Channels table for format per channel)                    |
| `body`            | No       | string   | Body/description of the reminder (max 2000 chars)                                 |
| `repeat`          | No       | enum     | `daily`, `weekly`, `monthly`, `custom`                                            |
| `cron_expression` | No       | string   | Cron expression (required when `repeat` is `custom`)                              |
| `timezone`        | No       | string   | IANA timezone for recurring reminders (default: UTC)                              |
| `metadata`        | No       | object   | Arbitrary key-value metadata to attach to the reminder                            |

### `list_reminders` Parameters

| Parameter | Required | Type   | Description                                                 |
| --------- | -------- | ------ | ----------------------------------------------------------- |
| `status`  | No       | enum   | `pending`, `processing`, `delivered`, `failed`, `cancelled` |
| `limit`   | No       | number | Max results (default: 50, max: 100)                         |
| `offset`  | No       | number | Pagination offset (default: 0)                              |

### `update_reminder` Parameters

| Parameter    | Required | Type     | Description                          |
| ------------ | -------- | -------- | ------------------------------------ |
| `id`         | Yes      | string   | UUID of the reminder to update       |
| `title`      | No       | string   | New title                            |
| `body`       | No       | string   | New body                             |
| `fire_at`    | No       | string   | New fire time (ISO 8601)             |
| `channel`    | No       | enum     | New channel                          |
| `recipients` | No       | string[] | Updated delivery addresses           |
| `repeat`     | No       | enum     | New repeat schedule (null to remove) |
| `timezone`   | No       | string   | New timezone                         |

## Examples

### Email reminder (multi-recipient)

```json
{
  "title": "Project deadline reminder",
  "fire_at": "2026-12-15T08:00:00Z",
  "channel": "email",
  "recipients": ["alice@example.com", "bob@example.com"]
}
```

### Slack reminder

```json
{
  "title": "Weekly team sync reminder",
  "fire_at": "2026-12-01T09:00:00Z",
  "channel": "slack",
  "recipients": ["https://hooks.slack.com/services/T.../B.../xxx"],
  "repeat": "weekly",
  "timezone": "America/New_York"
}
```

### Discord notification

```json
{
  "title": "Deploy notification",
  "fire_at": "2026-12-01T17:00:00Z",
  "channel": "discord",
  "recipients": ["https://discord.com/api/webhooks/xxx/yyy"]
}
```

### Telegram reminder

```json
{
  "title": "Daily standup",
  "fire_at": "2026-12-01T09:00:00Z",
  "channel": "telegram",
  "recipients": ["bot:your-bot-uuid:your-chat-id"],
  "repeat": "daily",
  "timezone": "Europe/Berlin"
}
```

Find your `bot_id` in Settings → Telegram Bots on the Pingfyr dashboard.

### OpenClaw notification

```json
{
  "title": "Agent task complete",
  "fire_at": "2026-12-01T10:00:00Z",
  "channel": "openclaw",
  "recipients": ["https://openclaw.example.com/webhook"]
}
```

### Google Calendar event (Starter+ plan required)

Creates a Google Calendar event on the user's connected Google account.
Connect your account at Settings → Google Calendar in the Pingfyr dashboard.

```json
{
  "title": "Team sync",
  "fire_at": "2026-12-01T09:00:00Z",
  "channel": "google_calendar",
  "recipients": ["google"]
}
```

### Webhook (agent wake-up)

```json
{
  "title": "Check for new orders",
  "fire_at": "2026-12-01T10:00:00Z",
  "channel": "webhook",
  "recipients": ["https://your-agent.example.com/webhook"],
  "repeat": "daily"
}
```

### Custom cron schedule

```json
{
  "title": "Weekday morning check",
  "fire_at": "2026-12-01T09:00:00Z",
  "channel": "webhook",
  "recipients": ["https://your-agent.example.com/webhook"],
  "repeat": "custom",
  "cron_expression": "0 9 * * MON-FRI",
  "timezone": "America/New_York"
}
```

## Channels

| Channel           | `recipients` format        | Description                                                                       |
| ----------------- | -------------------------- | --------------------------------------------------------------------------------- |
| `email`           | Email addresses            | Deliver to one or more email inboxes (Starter+ plan required)                     |
| `webhook`         | HTTP/HTTPS URL             | POST request to wake up agents                                                    |
| `slack`           | Slack Incoming Webhook URL | Post message to a Slack channel                                                   |
| `discord`         | Discord Webhook URL        | Post message to a Discord channel                                                 |
| `telegram`        | `bot:<bot_id>:<chat_id>`   | Send message via Telegram bot (register bot in Settings → Telegram Bots)          |
| `openclaw`        | OpenClaw URL               | POST request to an OpenClaw endpoint                                              |
| `google_calendar` | `google` (literal)         | Create a Google Calendar event on your connected account (Starter+ plan required) |

## Plans

| Plan       | Price   | Reminders/month | Recipients/month |
| ---------- | ------- | --------------- | ---------------- |
| Free       | $0      | 50              | 100              |
| Starter    | $59/mo  | 10,000          | 20,000           |
| Pro        | $269/mo | 50,000          | 100,000          |
| Enterprise | Contact | Unlimited       | Unlimited        |

Free plan includes Webhook, Slack, Discord, Telegram, and OpenClaw channels. Email and Google Calendar require a paid plan (Starter+).

## Environment Variables

| Variable          | Required | Description                                   |
| ----------------- | -------- | --------------------------------------------- |
| `PINGFYR_API_KEY` | Yes      | Your Pingfyr API key                          |
| `PINGFYR_API_URL` | No       | API base URL (default: `https://pingfyr.com`) |

## License

MIT

