list_users_with_badge
Retrieve community members who have earned a specific achievement badge. Use this tool to identify users with particular recognition levels or accomplishments on the forum.
Instructions
List all users who have earned a specific badge.
Args:
badge_id: The numeric badge ID
offset: Pagination offset (optional)
Returns a dictionary with user badge information.
Use to find community members with specific achievements
or recognition levels.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| badge_id | Yes | The numeric badge ID | |
| offset | No | Pagination offset |
Implementation Reference
- MCP tool handler function for 'list_users_with_badge'. Includes input schema definitions via Pydantic Annotated Fields. Executes by calling the client's list_user_badges method.@mcp.tool() def list_users_with_badge( badge_id: Annotated[ int, Field(description="The numeric badge ID"), ], offset: Annotated[ int | None, Field(default=None, description="Pagination offset"), ] = None, ) -> dict[str, Any]: """ List all users who have earned a specific badge. Args: badge_id: The numeric badge ID offset: Pagination offset (optional) Returns a dictionary with user badge information. Use to find community members with specific achievements or recognition levels. """ return get_client().list_user_badges(badge_id, offset=offset)
- src/uscardforum/api/users.py:187-206 (helper)Underlying API implementation in UsersAPI class that fetches users with a specific badge via the forum's /user_badges.json endpoint.def list_users_with_badge( self, badge_id: int, offset: int | None = None, ) -> dict[str, Any]: """List users with a specific badge. Args: badge_id: Badge ID offset: Optional pagination offset Returns: Raw API response with users """ params_list: list[tuple[str, Any]] = [("badge_id", int(badge_id))] if offset is not None: params_list.append(("offset", int(offset))) return self._get("/user_badges.json", params=params_list)
- src/uscardforum/server.py:15-44 (registration)Main server entrypoint imports the list_users_with_badge tool (line 37 within the block), registering it for the MCP server via the @mcp.tool() decorator.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:38-47 (registration)Package-level import of list_users_with_badge (line 46) from users.py, making it available for import in server.py.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, )