Persistent ticklers/reminders for Claude Code agents and any MCP client. Ticklers are stored in a local JSON file — they survive session restarts, reconnects, and machine reboots.
The core problem it solves: Claude agents run in sessions. When a session ends, in-memory state is gone. If an agent wants to follow up on something in 3 days, it has no place to put that intention. tickler-mcp is that place.
Two steps — add the marketplace, then install the plugin:
claude plugin marketplace add daveremy/tickler-mcp
claude plugin install tickler-mcp@tickler-mcp-plugins --scope user
Start a new Claude Code session after installing. The 6 tickler MCP tools will be available, and the bundled /tickler skill will work automatically.
Add to your .mcp.json (or ~/Library/Application Support/Claude/claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"tickler-mcp": {
"command": "npx",
"args": ["-y", "-p", "tickler-mcp", "tickler-mcp"]
}
}
}
Or install globally:
npm install -g tickler-mcp
| Tool | Description |
|---|---|
tickler_create | Create a new tickler |
tickler_check | Return past-due pending ticklers (use in cron/morning review) |
tickler_list | List all ticklers, optionally filtered by status or tag |
tickler_complete | Mark a tickler done |
tickler_delete | Permanently remove a tickler |
tickler_snooze | Push due date forward by a duration: "1d", "3h", "1w", "30m" |
After installing globally or via npx:
# Check what's due
tickler check
# List all
tickler list
tickler list --status pending
tickler list --tag projects
# Create
tickler create "Follow up on invoice" --due "2026-04-01T09:00:00-07:00" --body "Invoice #1042 sent March 26"
tickler create "Weekly review" --due "2026-03-30T08:00:00-07:00" --tags "recurring,review"
# Complete
tickler complete <id>
# Delete
tickler delete <id>
# Snooze (duration string: 30m, 3h, 1d, 1w)
tickler snooze <id> 3d
tickler snooze <id> 4h
The plugin bundles a /tickler skill. After installing the plugin, use it directly:
/tickler check
/tickler create "Follow up on invoice in 3 days"
The skill orchestrates tool calls and presents results conversationally.
Default: ~/.tickler/ticklers.json
Override with an environment variable:
{
"mcpServers": {
"tickler-mcp": {
"command": "npx",
"args": ["-y", "-p", "tickler-mcp", "tickler-mcp"],
"env": {
"TICKLER_PATH": "/path/to/your/ticklers.json"
}
}
}
}
In your daily review routine, call tickler_check first. If anything is returned, surface it to the user before proceeding with the rest of the review.
Agents running on a schedule (via CronCreate) can call tickler_check at startup. This is the primary use case — an agent sets a tickler, the session ends, and a future session picks it up automatically.
Example prompt:
At the start of each session, call tickler_check. If any past-due ticklers are found,
surface them to the user and ask what to do.
User: "Remind me to follow up on this in a week"
Agent: [calls tickler_create with due = now + 7 days]
If the user isn't ready to act on a tickler but doesn't want it cluttering the list:
Agent: [calls tickler_snooze with id: "...", duration: "3d"]
The MCP specification includes a Sampling capability that would allow servers to proactively notify clients — essentially push notifications from the MCP server to the agent. When client support for Sampling matures, tickler-mcp can be extended to push overdue reminders without requiring a polling step.
For now, polling via tickler_check in cron jobs and morning reviews is the reliable pattern.
git clone https://github.com/daveremy/tickler-mcp.git
cd tickler-mcp
npm install
npm run build
# Test CLI
node dist/cli.js create "Test" --due "2026-04-01T00:00:00Z" --body "testing"
node dist/cli.js list
# Test MCP (stdio)
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/mcp.js
npm run release patch # 0.1.0 -> 0.1.1
npm run release minor # 0.1.1 -> 0.2.0
npm run release major # 0.2.0 -> 1.0.0
See CLAUDE.md for full dev guide.
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub daveremy/tickler-mcpOura Ring MCP server — sleep, readiness, activity, HR, stress, SpO2, workouts, and sessions
Query Function Health lab results, track biomarker changes, and get health recommendations
Read and send iMessages — contact resolution, message search, group chats, reactions
Query Apple Health daily metrics, workouts, and trends via Health Auto Export CSVs
Open .md files in a native macOS markdown viewer. Adds the /markviewz skill to preview markdown files with proper formatting, dark mode, and GitHub-style typography.
GTD mentor for inbox processing, weekly reviews, and coaching. Integrates with Apple Reminders and macOS Calendar.
Apple Reminders CLI with section support and iCloud sync
Todoist for Claude Code — manage tasks, projects, labels, and workflows from your terminal.
Persistent memory for AI coding agents. SQLite knowledge graph with scoped entities, MCP tools, and LLM-summarized briefings.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.