get_user_actions
Retrieve a user's activity feed with filtering options to analyze likes, posts, topics, replies, and mentions on the USCardForum community.
Instructions
Fetch a user's activity feed with optional filtering.
Args:
username: The user's handle
filter: Action type filter (optional). Common values:
- 1: Likes given
- 2: Likes received
- 4: Topics created
- 5: Replies posted
- 6: Posts (all)
- 7: Mentions
offset: Pagination offset (0, 30, 60, ...)
Returns a list of UserAction objects showing what the user has done.
Use this for detailed activity analysis beyond just replies.
For most cases, get_user_replies or get_user_topics are simpler.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The user's handle | |
| filter | No | Action type filter: 1=likes given, 2=likes received, 4=topics created, 5=replies posted, 6=all posts, 7=mentions | |
| offset | No | Pagination offset (0, 30, 60, ...) |
Implementation Reference
- The MCP tool handler for 'get_user_actions'. This function is decorated with @mcp.tool() and defines the tool's input schema using Annotated and Field. It fetches the user's actions via the client API and returns a list of UserAction objects.@mcp.tool() def get_user_actions( username: Annotated[ str, Field(description="The user's handle"), ], filter: Annotated[ int | None, Field( default=None, description="Action type filter: 1=likes given, 2=likes received, 4=topics created, 5=replies posted, 6=all posts, 7=mentions", ), ] = None, offset: Annotated[ int | None, Field(default=None, description="Pagination offset (0, 30, 60, ...)"), ] = None, ) -> list[UserAction]: """ Fetch a user's activity feed with optional filtering. Args: username: The user's handle filter: Action type filter (optional). Common values: - 1: Likes given - 2: Likes received - 4: Topics created - 5: Replies posted - 6: Posts (all) - 7: Mentions offset: Pagination offset (0, 30, 60, ...) Returns a list of UserAction objects showing what the user has done. Use this for detailed activity analysis beyond just replies. For most cases, get_user_replies or get_user_topics are simpler. """ return get_client().get_user_actions(username, filter=filter, offset=offset)
- src/uscardforum/server_tools/__init__.py:68-78 (registration)Package-level import and exposure of the get_user_actions tool from the users module, making it available when importing server_tools.from .users import ( 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, )
- src/uscardforum/server.py:15-85 (registration)Top-level server entrypoint imports and exposes get_user_actions as part of all MCP tools.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, ) __all__ = [ "MCP_HOST", "MCP_PORT", "MCP_TRANSPORT", "NITAN_TOKEN", "SERVER_INSTRUCTIONS", "get_client", "main", "mcp", "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", "resource_categories", "resource_hot_topics", "resource_new_topics", "search_forum", "subscribe_topic", "research_topic", ]