get_user_following
Fetch the list of users a specific member follows on USCardForum to discover community influencers, find related experts, and map social connections within the credit card and points community.
Instructions
Fetch the list of users that a user follows.
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 users being followed
Use to:
- Discover influential users in the community
- Find related experts
- Map social connections
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | The user's handle | |
| page | No | Page number for pagination |
Implementation Reference
- The MCP tool handler for 'get_user_following', decorated with @mcp.tool(). It defines the input schema using Annotated Fields and calls the DiscourseClient to fetch the list of users that the specified user follows.@mcp.tool() def get_user_following( 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 that a user follows. 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 users being followed Use to: - Discover influential users in the community - Find related experts - Map social connections """ return get_client().get_user_following(username, page=page)
- src/uscardforum/server_tools/__init__.py:37-47 (registration)Registration/re-export of the get_user_following tool (line 43) as part of the users tools group in server_tools __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, )
- src/uscardforum/server.py:15-45 (registration)Imports and registers get_user_following (line 32) in the main server entrypoint, making it available for MCP.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/api/users.py:211-247 (helper)Core helper function in UsersAPI that performs the actual HTTP GET request to /u/{username}/follow/following.json and parses the response into FollowList.def get_user_following( self, username: str, page: int | None = None, ) -> FollowList: """Fetch users that a user follows. Args: username: User handle page: Optional page number Returns: List of followed 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/following.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:408-422 (helper)Client wrapper method that delegates get_user_following to the UsersAPI instance.def get_user_following( self, username: str, page: int | None = None, ) -> FollowList: """Fetch users that a user follows. Args: username: User handle page: Optional page number Returns: List of followed users """ return self._users.get_user_following(username, page=page)