Skip to main content
Glama
hmumixaM

USCardForum MCP Server

by hmumixaM

get_user_actions

Fetch a user's activity feed on USCardForum with filtering options for likes, posts, topics, replies, and mentions to analyze detailed engagement patterns.

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
NameRequiredDescriptionDefault
usernameYesThe user's handle
filterNoAction type filter: 1=likes given, 2=likes received, 4=topics created, 5=replies posted, 6=all posts, 7=mentions
offsetNoPagination offset (0, 30, 60, ...)

Implementation Reference

  • MCP tool handler for 'get_user_actions'. Defines input schema with Pydantic Annotated fields and delegates to the DiscourseClient API.
    @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)
  • Pydantic model defining the structure of UserAction objects returned by the tool.
    class UserAction(BaseModel): """A user activity entry (reply, like, etc.).""" action_type: int | None = Field(None, description="Type of action") topic_id: int | None = Field(None, description="Related topic ID") post_number: int | None = Field(None, description="Related post number") title: str | None = Field(None, description="Topic title") excerpt: str | None = Field(None, description="Content preview") created_at: datetime | None = Field(None, description="When action occurred") username: str | None = Field(None, description="Username who performed action") acting_username: str | None = Field(None, description="Acting user") class Config: extra = "ignore"
  • Registration via import and re-export of the get_user_actions tool in the server_tools package __init__.
    from .users import ( get_user_summary, get_user_topics, get_user_replies, get_user_actions, get_user_badges, get_user_following, get_user_followers, get_user_reactions, list_users_with_badge, )
  • Main server entrypoint imports and registers all MCP tools including get_user_actions.
    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, )
  • Core API helper that performs the HTTP request to /user_actions.json and parses into UserAction models.
    def get_user_actions( self, username: str, *, filter: int | None = None, offset: int | None = None, ) -> list[UserAction]: """Fetch user actions/activity. Args: username: User handle filter: Optional action filter (e.g., 5 for replies) offset: Optional pagination offset Returns: List of user action objects """ params_list: list[tuple[str, Any]] = [("username", username)] if filter is not None: params_list.append(("filter", int(filter))) if offset is not None: params_list.append(("offset", int(offset))) payload = self._get("/user_actions.json", params=params_list) actions = payload.get("user_actions", []) return [UserAction(**a) for a in actions]

Latest Blog Posts

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/hmumixaM/uscardforum-mcp4'

If you have feedback or need assistance with the MCP directory API, please join our Discord server