Skip to main content
Glama
arifszn

reminder-mcp

by arifszn

Reminder MCP Server

A MCP server for scheduling and triggering reminders via Slack or Telegram.

Reminders are delivered even if your server is not running.

This is possible because reminders are scheduled and triggered by an external service (cron-job.org), which will send the notification to Slack or Telegram at the scheduled time, regardless of your server's status.

Configuration

{
  "mcpServers": {
    "reminder": {
      "command": "npx",
      "args": ["-y", "reminder-mcp"],
      "env": {
        "CRON_JOB_API_KEY": "your_api_key",
        "NOTIFICATION_PLATFORM": "slack",
        "SLACK_WEBHOOK_URL": "https://hooks.slack.com/services/xxxxxxx",
        "TELEGRAM_BOT_TOKEN": "",
        "TELEGRAM_CHAT_ID": ""
      }
    }
  }
}

Related MCP server: TaskUp MCP Server

Environment Variables

Name

Description

CRON_JOB_API_KEY

API key from cron-job.org

NOTIFICATION_PLATFORM

slack or telegram

SLACK_WEBHOOK_URL

(Slack only) Webhook URL for your channel

TELEGRAM_BOT_TOKEN

(Telegram only) Bot token from @BotFather

TELEGRAM_CHAT_ID

(Telegram only) Chat ID for your group/user

Usage Examples

You can use natural language instructions with an LLM. Here are some examples:

  • Remind me to call Alice in 5 minutes.

  • Remind me to make a doctor appointment at 3:00 PM tomorrow.

  • List all my reminders.

  • Delete the reminder titled "Call Alice".

Note: Reminders are required to be set at least 2 minutes ahead of time.


How to Get Your Credentials

Cron Job API Key

Slack Webhook URL

  1. Go to Slack Apps.

  2. Create or select an app.

  3. Add the 'Incoming Webhooks' feature.

  4. Activate and create a webhook URL for your channel.

  5. Set SLACK_WEBHOOK_URL in the configuration env.

Telegram Bot Token & Chat ID

  1. Create a bot with @BotFather.

  2. Add your bot to your group or message it directly.

  3. Get your chat ID via the Telegram API: https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates.

  4. Set TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID in the configuration env.

Available Tools

4 tools
create-reminderC

Create a reminder You MUST call this function before 'get-current-time' to obtain the current time.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesThe title of the reminder
datetimeYesYYYY-MM-DDTHH:mm:ss formatted date and time for the reminder

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It does not mention side effects, return values, error conditions, or idempotency. The only behavioral hint is the prerequisite, which is likely incorrect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short with two sentences, which is concise. However, the second sentence is confusing and may mislead the agent, reducing effectiveness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description is incomplete. It fails to explain what happens after creation, error handling, or the relationship with other tools beyond the questionable prerequisite.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning the input schema already describes both parameters (title, datetime) adequately. The description adds no additional meaning beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Create a reminder,' which clearly identifies the action and resource. However, the subsequent sentence about calling before 'get-current-time' is confusing and may mislead about the tool's purpose, reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage guidance is a dubious requirement to call this tool before 'get-current-time,' which contradicts typical usage. There is no context about when to use this tool over siblings like delete-reminder or get-reminders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-reminderA

Delete reminders by title, processed, or all

ParametersJSON Schema
NameRequiredDescriptionDefault
deletionTypeYesType of deletion: title, processed, or all
titleNoThe title of the reminder (required if deletionType is title)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the deletion types but does not disclose side effects, permanence, or any behavioral traits beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded. Every word is meaningful and earns its place, with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally adequate for a simple delete tool. It explains what it does but lacks behavioral details (e.g., confirmation, idempotency) that would aid the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description lists the deletion types (title, processed, all) but adds little beyond what the schema enum already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Delete' and resource 'reminders', and specifies criteria (by title, processed, or all), distinguishing it from sibling tools like create-reminder and get-reminders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage scenarios (deletion by title, processed, or all) but provides no explicit guidance on when to choose each option or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-current-timeA

Get the current local time

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the burden. 'Current local time' is ambiguous regarding timezone (server vs user local). No further behavioral details (e.g., format, caching). Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single short sentence with no wasted words. Front-loaded and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description could mention return format or timezone. Currently lacks these details, but for a simple tool it is minimally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters; schema coverage is 100%. Per guidelines, 0 params yields baseline 4. Description does not add param info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get) and the resource (current local time), with no ambiguity. It is distinct from sibling tools (reminders).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or when not. However, the sibling tools are about reminders, so the usage context is implicitly distinct. No exclusions or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-remindersA

Get all reminders

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states 'Get all reminders' without detailing scope (e.g., user-specific or system-wide), performance implications, or whether completed/deleted reminders are included. This lack of transparency could mislead the agent about the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at two words, which is appropriate for a simple tool with no parameters. It front-loads the key information, and every word earns its place. However, it could benefit from a bit more context without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description is incomplete. It does not clarify what 'all' means—whether it is all reminders for the current user, all across the system, or includes expired or deleted reminders. The agent may need additional context to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters (100% coverage), and the description does not need to add parameter semantics. The baseline for zero parameters is 4, and the description adds no value beyond the schema, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get all reminders' clearly states the verb (Get) and resource (reminders). It distinguishes itself from sibling tools like create-reminder and delete-reminder as a retrieval operation, and from get-current-time as dealing with reminders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving all reminders, but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. The context suggests it's the only retrieval tool for reminders, so usage is implied but not clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.11
    • First observedcreate-reminder
    • First observeddelete-reminder
    • First observedget-current-time
    • First observedget-reminders

TDQS

B3.4/5.0
Disambiguation5/5

Each tool serves a distinct purpose: create, delete, get reminders, and get current time. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern in kebab-case (e.g., create-reminder, delete-reminder, get-reminders, get-current-time).

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose. Each tool serves a necessary function without unnecessary bloat.

Completeness3/5

The server covers create, read (all reminders), and delete, but lacks update functionality and retrieval of a single reminder by ID, which are common operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables sending messages and scheduling reminders through multiple platforms including Telegram and Feishu. Supports real-time messaging and cron-based scheduled notifications with comprehensive logging and error handling.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A centralized workspace orchestration server that enables natural language task management across Notion, Google Calendar, and Telegram. It allows users to analyze intent, create database tasks, schedule calendar events, and send instant notifications.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to schedule and manage reminders across platforms like email, Slack, Discord, and webhooks. It provides tools to create, list, update, and cancel notifications to automate task reminders and agent wake-ups.
    4
    15
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables users to manage Telegram reminders via natural language or commands, with features like setting, updating, deleting, and listing reminders, while ensuring multi-user privacy.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arifszn/reminder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server