bookmark_post
Save forum posts for later reference with optional labels, reminders, and auto-deletion settings. Requires authentication to USCardForum.
Instructions
Bookmark a post for later reference. REQUIRES AUTHENTICATION.
Args:
post_id: The numeric post ID to bookmark
name: Optional label/name for the bookmark
reminder_type: Optional reminder setting
reminder_at: Optional reminder datetime (ISO format)
auto_delete_preference: When to auto-delete (default: 3)
- 0: Never
- 1: When reminder sent
- 2: On click
- 3: Clear after 3 days
Must call login() first.
Returns a Bookmark object with the created bookmark information.
Use to save interesting posts for later reference.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| post_id | Yes | The numeric post ID to bookmark | |
| name | No | Label/name for the bookmark | |
| reminder_type | No | Reminder setting | |
| reminder_at | No | Reminder datetime (ISO format) | |
| auto_delete_preference | No | When to auto-delete: 0=never, 1=when reminder sent, 2=on click, 3=after 3 days (default) |
Implementation Reference
- The primary MCP tool handler for 'bookmark_post'. Uses @mcp.tool() decorator, defines input schema with Pydantic Field descriptions, and delegates execution to the underlying client implementation.@mcp.tool() def bookmark_post( post_id: Annotated[ int, Field(description="The numeric post ID to bookmark"), ], name: Annotated[ str | None, Field(default=None, description="Label/name for the bookmark"), ] = None, reminder_type: Annotated[ int | None, Field(default=None, description="Reminder setting"), ] = None, reminder_at: Annotated[ str | None, Field(default=None, description="Reminder datetime (ISO format)"), ] = None, auto_delete_preference: Annotated[ int | None, Field( default=3, description="When to auto-delete: 0=never, 1=when reminder sent, 2=on click, 3=after 3 days (default)", ), ] = 3, ) -> Bookmark: """ Bookmark a post for later reference. REQUIRES AUTHENTICATION. Args: post_id: The numeric post ID to bookmark name: Optional label/name for the bookmark reminder_type: Optional reminder setting reminder_at: Optional reminder datetime (ISO format) auto_delete_preference: When to auto-delete (default: 3) - 0: Never - 1: When reminder sent - 2: On click - 3: Clear after 3 days Must call login() first. Returns a Bookmark object with the created bookmark information. Use to save interesting posts for later reference. """ return get_client().bookmark_post( post_id, name=name, reminder_type=reminder_type, reminder_at=reminder_at, auto_delete_preference=auto_delete_preference, )
- src/uscardforum/server.py:15-45 (registration)Imports the bookmark_post tool (among others) from server_tools, effectively registering it for the MCP server entrypoint.from uscardforum.server_tools import ( analyze_user, bookmark_post, compare_cards, find_data_points, get_all_topic_posts, get_categories, get_current_session, get_hot_topics, get_new_topics, get_notifications, get_top_topics, get_topic_info, get_topic_posts, get_user_actions, get_user_badges, get_user_followers, get_user_following, get_user_reactions, get_user_replies, get_user_summary, get_user_topics, list_users_with_badge, login, research_topic, resource_categories, resource_hot_topics, resource_new_topics, search_forum, subscribe_topic, )
- src/uscardforum/server_tools/__init__.py:52-58 (registration)Re-exports bookmark_post from auth.py module as part of server_tools package __all__.from .auth import ( login, get_current_session, get_notifications, bookmark_post, subscribe_topic, )
- src/uscardforum/client.py:528-555 (helper)Client library method that implements the bookmark_post functionality by delegating to the auth submodule.def bookmark_post( self, post_id: int, name: str | None = None, reminder_type: int | None = None, reminder_at: str | None = None, auto_delete_preference: int | None = 3, ) -> Bookmark: """Bookmark a post (requires auth). Args: post_id: Post ID to bookmark name: Optional bookmark name reminder_type: Optional reminder type reminder_at: Optional reminder datetime auto_delete_preference: Auto-delete setting (default: 3) Returns: Created bookmark """ return self._auth.bookmark_post( post_id, name=name, reminder_type=reminder_type, reminder_at=reminder_at, auto_delete_preference=auto_delete_preference, )