RTM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RTM_API_KEY | Yes | Your Remember The Milk API Key. | |
| RTM_AUTH_TOKEN | Yes | Your Remember The Milk Auth Token, obtained via the rtm-setup tool. | |
| RTM_SHARED_SECRET | Yes | Your Remember The Milk Shared Secret. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tasksA | List tasks with optional filtering. Args: filter: RTM filter string (e.g., "dueBefore:tomorrow", "tag:work", "priority:1") list_name: Filter to a specific list name include_completed: Include completed tasks (default: false) Returns: List of tasks with metadata Examples: - list_tasks() → all incomplete tasks - list_tasks(filter="dueBefore:tomorrow") → tasks due soon - list_tasks(filter="tag:work AND priority:1") → high priority work tasks - list_tasks(list_name="Personal") → tasks in Personal list |
| add_taskA | Add a new task. Supports Smart Add syntax when parse=True: - ^date for due date (^tomorrow, ^next friday) - !priority (!1, !2, !3) - #tag for tags (#work, #urgent) - @location - =time estimate (=30min, =1h) - *repeat pattern (*daily, *weekly) Args: name: Task name (with optional Smart Add syntax) list_name: List to add to (uses default list if not specified) parse: Parse Smart Add syntax (default: True) Returns: Created task details with transaction ID for undo Examples: - add_task("Buy groceries") - add_task("Call mom ^tomorrow !1 #family") - add_task("Weekly review *weekly ^monday", list_name="Work") |
| complete_taskB | Mark a task as complete. Provide either task_name (for search) or all three IDs. Args: task_name: Task name to search for (fuzzy match) task_id: Specific task ID taskseries_id: Task series ID (required with task_id) list_id: List ID (required with task_id) Returns: Completed task details with transaction ID for undo |
| uncomplete_taskC | Reopen a completed task. Args: task_name: Task name to search for (searches completed tasks) task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Reopened task details |
| delete_taskA | Delete a task. Args: task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Deletion confirmation with transaction ID for undo |
| set_task_nameB | Rename a task. Args: new_name: New name for the task task_name: Current task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_due_dateB | Set or change task due date. Args: due: Due date (natural language: "tomorrow", "next friday", "2024-12-25") Use empty string to clear due date. task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_priorityC | Set task priority. Args: priority: Priority level (1/high, 2/medium, 3/low, 0/N/none) task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| postpone_taskA | Postpone a task (moves due date by one day). Args: task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details with new due date |
| move_taskC | Move a task to a different list. Args: to_list_name: Destination list name task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: Current list ID (from_list_id) Returns: Updated task details |
| add_task_tagsB | Add tags to a task. Args: tags: Comma-separated tags to add (e.g., "work,urgent") task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| remove_task_tagsA | Remove tags from a task. Args: tags: Comma-separated tags to remove task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_recurrenceB | Set task recurrence pattern. Args: repeat: Recurrence pattern (e.g., "every week", "every 2 days", "every monday", "after 1 week"). Empty string to clear. task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_start_dateC | Set task start date. Args: start: Start date (natural language). Empty to clear. task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_estimateA | Set task time estimate. Args: estimate: Time estimate (e.g., "30 minutes", "1 hour", "2 hours 30 minutes"). Empty to clear. task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| set_task_urlC | Set task URL. Args: url: URL to attach to task. Empty to clear. task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated task details |
| get_listsA | Get all RTM lists. Args: include_archived: Include archived lists (default: false) include_smart: Include smart lists (default: true) Returns: List of all lists with metadata |
| add_listC | Create a new list. Args: name: Name for the new list filter: Optional RTM filter to make this a smart list Returns: Created list details with transaction ID |
| rename_listA | Rename a list. Args: list_name: Current name of the list new_name: New name for the list Returns: Updated list details |
| delete_listA | Delete a list. Note: Lists with tasks cannot be deleted. Move or delete tasks first. Args: list_name: Name of the list to delete Returns: Deletion confirmation with transaction ID |
| archive_listC | Archive a list. Args: list_name: Name of the list to archive Returns: Updated list details |
| unarchive_listB | Unarchive a list. Args: list_name: Name of the list to unarchive Returns: Updated list details |
| set_default_listB | Set the default list for new tasks. Args: list_name: Name of the list to set as default Returns: Confirmation message |
| add_noteA | Add a note to a task. Args: note_text: The note content note_title: Optional title for the note task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Created note details with transaction ID |
| edit_noteB | Edit an existing note. Args: note_id: ID of the note to edit note_text: New note content note_title: New title (optional) task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Updated note details |
| delete_noteB | Delete a note from a task. Args: note_id: ID of the note to delete task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: Deletion confirmation with transaction ID |
| get_task_notesB | Get all notes for a task. Args: task_name: Task name to search for task_id: Specific task ID taskseries_id: Task series ID list_id: List ID Returns: List of notes for the task |
| test_connectionA | Test connection to RTM API. Returns: Connection status and response time |
| check_authA | Check if authentication token is valid. Returns: Auth status and user info |
| get_tagsA | Get all tags in use. Returns: List of tags with usage counts |
| get_locationsA | Get all saved locations. Returns: List of locations |
| get_settingsB | Get user settings. Returns: User preferences and settings |
| parse_timeA | Parse a natural language time string. Args: text: Time to parse (e.g., "tomorrow", "next friday", "in 2 hours") timezone: Optional timezone (e.g., "America/New_York") Returns: Parsed time in various formats |
| undoB | Undo a previous operation. Use the transaction_id returned from write operations. Args: transaction_id: Transaction ID from previous operation Returns: Undo confirmation |
| get_contactsB | Get contacts for task sharing. Returns: List of contacts |
| get_groupsA | Get contact groups. Returns: List of groups with member counts |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ljadach/rtm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server