Claude Desktop reminders for Windows. Survives MSIX boundary; persists across restarts. Zero deps.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-ryanjamesstewart-prompt-time": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Schedule Windows desktop reminders directly from Claude Desktop. Zero dependencies — just PowerShell + Windows Task Scheduler.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / productivity
Persistent memory using a knowledge graph
An autonomous agent that conducts deep research on any data using any LLM providers
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Dynamic problem-solving through sequential thought chains
MCP Security Weekly
Get CVE alerts and security updates for io.github.RyanJamesStewart/prompt-time and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Schedule Windows desktop reminders directly from Claude Desktop. Zero dependencies — just PowerShell + Windows Task Scheduler.
Adds three tools to Claude Desktop:
| Tool | What it does |
|---|---|
schedule_reminder | Set a one-time or recurring desktop reminder |
list_reminders | Show every reminder currently scheduled |
cancel_reminder | Cancel a reminder by ID |
Reminders persist across reboots and Claude restarts. There is no cloud surface — everything runs locally.
prompt-time-v2.2.6.zip from the latest release.install.bat from inside the zip preview window will not work.install.bat.No Node, no npm, no admin rights, no internet required.
The extracted folder is disposable after install. v2.2.6+ copies both the MCP server and the watcher into the prompt-time data directory at install time, and points Claude Desktop's config + the scheduled task at the data-dir copies. You can move or delete the extracted folder afterwards without breaking anything. (Re-run
install.batfrom a fresh extract if you ever want to upgrade.)
Just talk to Claude:
"Remind me to send the weekly update at 4pm today" "Set a reminder every weekday at 9am to check my inbox" "Remind me about the board call next Monday at 2pm" "What reminders do I have set?" "Cancel reminder PROMPTTIME-A1B2C3D4"
Recurrence: once, daily, weekly, weekdays. Granularity is ~10 seconds (the watcher's poll interval).
Two pieces:
prompt_time.ps1) — runs inside Claude Desktop's process tree. Validates and enqueues reminders to a JSONL file on disk.prompt-time-watcher.ps1) — registered once at install as a Task Scheduler At LogOn task. Polls the queue, renders the toast popup in-process, and advances recurring entries.The MCP server never talks to Task Scheduler at runtime, never spawns a process, and never displays UI. It only writes one JSONL line per reminder. Everything else is the watcher's job.
Claude Desktop ships as an MSIX-packaged app. MSIX containers transparently virtualize file writes: a server running inside the package that calls Add-Content $env:APPDATA\prompt-time\queue.jsonl does not write to %APPDATA%\Roaming\prompt-time\queue.jsonl — it writes to a per-package shadow tree under %LOCALAPPDATA%\Packages\<package-family>\LocalCache\….
Anything Task Scheduler spawns runs outside the package, so a per-reminder schtasks task would look for files at the real path and find nothing.
prompt-time resolves this once: at startup, every component (prompt_time.ps1, prompt-time-watcher.ps1, install.ps1, uninstall.ps1) discovers the Claude AppX package and computes the same canonical data directory inside its LocalCache. Server writes and watcher reads land at the same physical file. The watcher renders the popup itself rather than asking Task Scheduler to do it, which keeps every state-bearing operation on the same side of the boundary.
The installer also pre-creates the queue file at the canonical path before the MCP server's first write — without that, MSIX file-virtualization redirects new file creation into the package shadow even though existing files at the real path are written through.
The same trap bites the Claude