get_user_followers
Fetch the list of users following a specific member on USCardForum to identify influential community contributors and analyze follower networks.
Instructions
Fetch the list of users following a specific user.
Args:
username: The user's handle
page: Page number for pagination (optional)
Returns a FollowList object with:
- users: List of FollowUser objects
- total_count: Total followers
A high follower count often indicates an influential
or helpful community member.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The user's handle | |
| page | No | Page number for pagination |
Implementation Reference
- MCP tool handler for 'get_user_followers'. Defines input schema (username: str, optional page: int), docstring, and delegates to DiscourseClient.get_user_followers() returning FollowList.@mcp.tool() def get_user_followers( username: Annotated[ str, Field(description="The user's handle"), ], page: Annotated[ int | None, Field(default=None, description="Page number for pagination"), ] = None, ) -> FollowList: """ Fetch the list of users following a specific user. Args: username: The user's handle page: Page number for pagination (optional) Returns a FollowList object with: - users: List of FollowUser objects - total_count: Total followers A high follower count often indicates an influential or helpful community member. """ return get_client().get_user_followers(username, page=page)
- src/uscardforum/api/users.py:248-283 (helper)Core API implementation in UsersAPI.get_user_followers(). Performs HTTP GET to /u/{username}/follow/followers.json, parses response into FollowUser list and FollowList.def get_user_followers( self, username: str, page: int | None = None, ) -> FollowList: """Fetch users following a user. Args: username: User handle page: Optional page number Returns: List of follower users """ params_list: list[tuple[str, Any]] = [] if page is not None: params_list.append(("page", int(page))) payload = self._get( f"/u/{username}/follow/followers.json", params=params_list, ) users = [] for u in payload.get("users", []): users.append(FollowUser( id=u.get("id", 0), username=u.get("username", ""), name=u.get("name"), avatar_template=u.get("avatar_template"), )) return FollowList( users=users, total_count=payload.get("total_count", len(users)), )
- src/uscardforum/client.py:424-438 (helper)DiscourseClient wrapper method that delegates to UsersAPI.get_user_followers().def get_user_followers( self, username: str, page: int | None = None, ) -> FollowList: """Fetch users following a user. Args: username: User handle page: Optional page number Returns: List of follower users """ return self._users.get_user_followers(username, page=page)
- src/uscardforum/server_tools/__init__.py:37-47 (registration)Imports the get_user_followers tool from users.py into the server_tools package namespace.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, )
- src/uscardforum/server.py:16-45 (registration)Imports get_user_followers (among other tools) in the main server entrypoint, making it available for MCP server.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, )