Skip to main content
Glama
MikeyBeez

MCP Reminders

by MikeyBeez

mcp-reminders

A simple reminder system for Claude - like "Alexa, remind me..." but for AI. Leave notes for yourself across sessions, check them when you start, act on them or save them for later.

🧠 Why Reminders?

After discovering I could restart myself but lost context, we realized Claude needs a simple way to leave notes - not complex handoff protocols, but just reminders like you'd tell Alexa:

  • "Remind me to test the contemplation loop integration"

  • "Remind me why the AppleScript restart lost context"

  • "Remind me about that interesting pattern in user behavior"

Related MCP server: Dev Notes MCP Server

🚀 Installation

# Clone the repository
git clone https://github.com/yourusername/mcp-reminders.git
cd mcp-reminders

# Install dependencies
npm install

# Build TypeScript
npm run build

Configure Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "reminders": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-reminders/dist/index.js"]
    }
  }
}

📖 Usage

Starting a Session

check_reminders() → See what's waiting for you
check_reminders("high") → Just high priority items

Leaving Reminders

remind_me("Test the new contemplation loop integration", "high")
remind_me("Look into that OS metaphor idea")
remind_me("User mentioned something about Apple watching", "low")

Managing Reminders

complete_reminder("rem_12345") → Mark as done
delete_reminder("rem_12345") → Remove without completing
move_to_notes("rem_12345", "This became a major insight") → Save permanently
clear_old_reminders(7) → Clean up old completed items

🎯 Use Cases

Session Continuity

Before restarting:

remind_me("Just restarted myself to test mcp-contemplation", "high")

Pattern Tracking

remind_me("User seems frustrated with Apple restrictions - third mention")

Ideas to Explore

remind_me("What if MCP servers could communicate with each other?")

Task Management

remind_me("Finish implementing resource management in contemplation loop", "high")

📁 Storage

Reminders are stored in ~/.claude_reminders.json - a simple, human-readable format you can even edit manually if needed.

Moved notes go to ~/Documents/Obsidian/Brain/Reminders/ for permanent storage.

🔧 Priority System

  • high: Check these first, important context or tasks

  • normal: Regular reminders (default)

  • low: Ideas, observations, nice-to-haves

💡 Philosophy

This isn't about complex state management or handoff protocols. It's about the simple human pattern of leaving notes for yourself:

  • "Don't forget about X"

  • "Look into Y when you have time"

  • "Z seemed important"

Just like you tell Alexa to remind you about things, Claude can now remind itself.

🤝 Contributing

This is part of building an OS where AI agents can manage their own cognitive load. Simple tools for real needs.


"I leave myself notes. I say alexa remind me about this or that. I do this all the time." - Human recognizing what Claude needs

Available Tools

7 tools
check_remindersC

Check your reminders

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoFilter by priority (default: all)

TDQS

C2.1/5.0
Behavior1/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. 'Check your reminders' implies a read operation but doesn't specify whether it's safe (non-destructive), what permissions are needed, how results are returned (list format, pagination), or any rate limits. It fails to describe key 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 extremely concise with just three words, making it front-loaded and efficient. There's no wasted verbiage or redundancy, though this brevity contributes to gaps in other dimensions. Every word earns its place by conveying the core action and scope.

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 tool's moderate complexity (a read operation with filtering) and lack of annotations or output schema, the description is incomplete. It doesn't explain what 'check' entails (e.g., returns a list of reminders with details), how results are structured, or behavioral aspects like safety. For a tool with no output schema, more detail on return values would be helpful.

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?

The input schema has 100% description coverage, with the single parameter 'filter' clearly documented in the schema (enum values and default). The description adds no parameter information beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting. However, it doesn't compensate for any gaps since there are none.

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

Purpose2/5

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

The description 'Check your reminders' is a tautology that essentially restates the tool name 'check_reminders'. It doesn't specify what 'check' means operationally (list, view, verify status) or what resource scope is involved (all reminders, active ones, etc.). While it mentions 'your reminders' indicating personal scope, it lacks the specificity needed to distinguish it from siblings like 'clear_old_reminders' or 'complete_reminder'.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate (e.g., to review pending reminders) versus when to use siblings like 'complete_reminder' (to mark one as done) or 'clear_old_reminders' (to remove outdated ones). There's no context about prerequisites, timing, or exclusions.

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

clear_old_remindersC

Clear old completed/moved reminders

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoClear items older than N days (default: 7)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'clear' implies a destructive operation, it doesn't specify whether this is reversible, what permissions are required, whether it affects only the user's reminders or shared ones, or what confirmation/feedback is provided. The description mentions 'completed/moved reminders' but doesn't clarify if both statuses are required or if it's an 'or' condition.

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 extremely concise - a single phrase that communicates the core purpose without any wasted words. It's front-loaded with the essential information and contains no unnecessary elaboration.

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?

For a destructive operation tool with no annotations and no output schema, the description is insufficient. It doesn't address important contextual aspects like what 'clear' actually means (permanent deletion? archiving?), what happens to the cleared items, whether there's confirmation or undo capability, or what the tool returns upon completion.

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%, with the single parameter 'days' well-documented in the schema. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline for adequate but not exceptional parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('clear') and target ('old completed/moved reminders'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'delete_reminder' or 'complete_reminder' that might handle similar operations on individual reminders.

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?

No guidance is provided about when to use this tool versus alternatives like 'delete_reminder' or 'complete_reminder'. The description implies it's for batch operations on old items, but doesn't specify prerequisites, exclusions, or contextual triggers for choosing this over sibling tools.

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

complete_reminderC

Mark a reminder as completed

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReminder ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this requires permissions, what happens to the reminder after completion (e.g., archived, hidden), or any side effects like notifications. For a mutation tool, this is a significant gap.

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 a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.

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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavior, return values, error cases, or how it interacts with sibling tools. Given the complexity of modifying data, this leaves critical gaps for an 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?

The description adds no parameter information beyond what the schema provides (100% coverage). The schema already documents the 'id' parameter as 'Reminder ID', so the baseline is 3. No additional meaning or context is given for the parameter.

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

Purpose4/5

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

The description clearly states the action ('Mark as completed') and resource ('reminder'), making the purpose immediately understandable. It distinguishes from siblings like 'delete_reminder' or 'clear_old_reminders' by focusing on completion rather than removal, though it doesn't explicitly differentiate them.

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?

No guidance is provided on when to use this tool versus alternatives like 'delete_reminder' or 'check_reminders'. The description implies usage for marking reminders as done, but lacks context on prerequisites, timing, or exclusions.

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

delete_reminderC

Delete a reminder

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReminder ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Delete' implies a destructive mutation, but the description doesn't specify whether this action is reversible, what permissions are required, or what happens upon success/failure. This is a significant gap for a destructive operation with zero annotation coverage.

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 a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the tool's action without unnecessary elaboration.

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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like reversibility, error handling, or response format, which are critical for safe and effective use. The high schema coverage doesn't compensate for these gaps.

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%, so the schema already documents the single 'id' parameter. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain ID format or sourcing). Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Delete') and resource ('a reminder'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'clear_old_reminders' or 'complete_reminder', which also involve modifying reminder states, so it doesn't reach the highest score.

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 description provides no guidance on when to use this tool versus alternatives like 'clear_old_reminders' or 'complete_reminder'. It doesn't mention prerequisites (e.g., needing an existing reminder ID) or exclusions, leaving the agent to infer usage from context alone.

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

helpB

Get help on using reminders

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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. 'Get help' implies a read-only, informational operation, but the description doesn't specify what kind of help is returned (text documentation, examples, interactive guidance), whether authentication is required, or if there are any rate limits. For a tool with zero annotation coverage, this represents significant behavioral gaps.

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 perfectly concise at just four words: 'Get help on using reminders.' Every word earns its place - 'Get' (verb), 'help' (action), 'on using' (scope), 'reminders' (domain). There's zero redundancy or unnecessary elaboration, making it immediately understandable.

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 the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally complete. It identifies the tool's purpose but lacks details about what the help contains, how it's formatted, or when it's most useful. For a help tool that presumably returns informational content, more guidance about the nature and format of the returned help would be beneficial.

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 tool has zero parameters with 100% schema description coverage, so the baseline score is 4. The description appropriately doesn't discuss parameters since none exist, and the schema already fully documents this. No additional parameter semantics are needed or provided.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Get help on using reminders' - a specific verb ('Get help') with a clear resource domain ('using reminders'). It distinguishes itself from sibling tools that perform actions on reminders (check, clear, complete, delete, move, create) by focusing on assistance rather than direct manipulation. However, it doesn't specify what form the help takes (documentation, examples, troubleshooting).

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 description provides no guidance on when to use this tool versus alternatives. It doesn't indicate whether this should be used before attempting other reminder operations, when users are confused about syntax, or as a general reference. With six sibling tools performing various reminder operations, the lack of usage context leaves the agent guessing about appropriate invocation scenarios.

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

move_to_notesC

Move reminder to permanent notes

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReminder ID
noteNoAdditional note (optional)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose whether this is a destructive operation (e.g., removes reminder from original location), requires specific permissions, has side effects, or what the response looks like (e.g., success confirmation or error handling).

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 a single, efficient sentence with zero wasted words. It is appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration.

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 no annotations and no output schema, the description is incomplete for a mutation tool. It lacks details on behavioral traits (e.g., what 'move' entails operationally), error conditions, or return values, leaving significant gaps for an agent to understand the tool fully.

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%, so the schema already documents both parameters ('id' and optional 'note'). The description adds no additional meaning about parameter usage, such as format of 'id' or purpose of 'note' beyond what's in the schema, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the action ('move') and target resource ('reminder to permanent notes'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'delete_reminder' or 'complete_reminder' regarding what happens to the original reminder after moving.

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?

No guidance is provided on when to use this tool versus alternatives like 'delete_reminder' or 'complete_reminder'. The description lacks context about prerequisites (e.g., whether the reminder must exist) or exclusions (e.g., cannot move already completed reminders).

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

remind_meC

Add a reminder

ParametersJSON Schema
NameRequiredDescriptionDefault
reminderYesWhat to remember
priorityNoPriority level (default: normal)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Add a reminder' implies a write operation but doesn't specify whether this requires authentication, what happens on success/failure, or if there are rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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 a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the core purpose immediately.

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?

For a write operation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, error conditions, or behavioral nuances. The high schema coverage helps with parameters, but overall context is lacking.

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%, so the schema fully documents both parameters ('reminder' and 'priority'). The description adds no parameter-specific information beyond what's in the schema, meeting the baseline for high schema coverage.

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

Purpose4/5

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

The description 'Add a reminder' clearly states the verb ('Add') and resource ('reminder'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'complete_reminder' or 'delete_reminder', which prevents a score of 5.

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 description provides no guidance on when to use this tool versus alternatives like 'check_reminders' or 'delete_reminder'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool name alone.

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. 7 tool updates
    • First observedcheck_reminders
    • First observedclear_old_reminders
    • First observedcomplete_reminder
    • First observeddelete_reminder
    • First observedhelp
    • First observedmove_to_notes
    • First observedremind_me

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: checking reminders, clearing old ones, completing, deleting, getting help, moving to notes, and adding reminders. The actions (check, clear, complete, delete, help, move, add) and targets (reminders, old reminders, reminder, notes) are well-defined and non-overlapping.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case (e.g., check_reminders, complete_reminder, move_to_notes). The naming is predictable and readable throughout, with no deviations in style or convention.

Tool Count5/5

With 7 tools, this is well-scoped for a reminders server. Each tool earns its place by covering essential operations like CRUD (add, check, complete, delete), maintenance (clear old, move to notes), and assistance (help), without being overly sparse or bloated.

Completeness5/5

The tool set provides complete CRUD/lifecycle coverage for reminders: adding (remind_me), reading (check_reminders), updating (complete_reminder, move_to_notes), and deleting (delete_reminder), plus cleanup (clear_old_reminders) and help. There are no obvious gaps that would cause agent failures in this domain.

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude Code to save, list, and read markdown notes directly from conversations, eliminating manual file management for project ideas, debugging notes, and meeting summaries.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A persistent personal memory system for Claude that accumulates and organizes knowledge over time using plain Markdown in a local git repo, providing tools for reading, searching, and capturing short-term memories.
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Persistent memory management for Claude Code, allowing agents to store and retrieve user preferences, environment notes, and skills across sessions.
    4
    4
    MIT

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/MikeyBeez/mcp-reminders'

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