Skip to main content
Glama
rhettlong

USCardForum MCP Server

by rhettlong

get_user_replies

Fetch replies made by a user across topics to analyze contributions, find data points, and evaluate participation quality in the USCardForum community.

Instructions

Fetch replies/posts made by a user in other topics. Args: username: The user's handle offset: Pagination offset (0, 30, 60, ...) Returns a list of UserAction objects with: - topic_id: Which topic they replied to - post_number: Their post number in that topic - title: Topic title - excerpt: Preview of their reply - created_at: When they replied Use this to: - See a user's contributions across topics - Find their data points and experiences - Evaluate the quality of their participation Paginate with offset in increments of 30.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYesThe user's handle
offsetNoPagination offset (0, 30, 60, ...)

Implementation Reference

  • The MCP tool handler for 'get_user_replies'. Decorated with @mcp.tool(), defines input schema via Annotated Fields, and delegates to the DiscourseClient for execution.
    @mcp.tool() def get_user_replies( username: Annotated[ str, Field(description="The user's handle"), ], offset: Annotated[ int | None, Field(default=None, description="Pagination offset (0, 30, 60, ...)"), ] = None, ) -> list[UserAction]: """ Fetch replies/posts made by a user in other topics. Args: username: The user's handle offset: Pagination offset (0, 30, 60, ...) Returns a list of UserAction objects with: - topic_id: Which topic they replied to - post_number: Their post number in that topic - title: Topic title - excerpt: Preview of their reply - created_at: When they replied Use this to: - See a user's contributions across topics - Find their data points and experiences - Evaluate the quality of their participation Paginate with offset in increments of 30. """ return get_client().get_user_replies(username, offset=offset)
  • Registration via import into server_tools __init__.py, exposing get_user_replies for use in the MCP server.
    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, )
  • Top-level re-export of all tools including get_user_replies in the main server entrypoint.
    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, )
  • Client-side API method implementing get_user_replies by calling get_user_actions with filter=5 (replies). Called by the DiscourseClient.
    def get_user_replies( self, username: str, offset: int | None = None, ) -> list[UserAction]: """Fetch user's replies. Args: username: User handle offset: Optional pagination offset Returns: List of reply action objects """ return self.get_user_actions(username, filter=5, offset=offset)
  • Shared helper get_client() that provides the DiscourseClient instance used by all MCP tools, including auto-login.
    def get_client() -> DiscourseClient: """Get or create the Discourse client instance.""" global _client, _login_attempted if _client is None: base_url = os.environ.get("USCARDFORUM_URL", "https://www.uscardforum.com") timeout = float(os.environ.get("USCARDFORUM_TIMEOUT", "15.0")) _client = DiscourseClient(base_url=base_url, timeout_seconds=timeout) # Auto-login if credentials are provided if not _login_attempted: _login_attempted = True username = os.environ.get("NITAN_USERNAME") password = os.environ.get("NITAN_PASSWORD") if username and password: try: result = _client.login(username, password) if result.success: print(f"[uscardforum] Auto-login successful as '{result.username}'") elif result.requires_2fa: print( "[uscardforum] Auto-login failed: 2FA required. Use login() tool with second_factor_token." ) else: print( f"[uscardforum] Auto-login failed: {result.error or 'Unknown error'}" ) except Exception as e: # pragma: no cover - logging side effect print(f"[uscardforum] Auto-login error: {e}") return _client

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/rhettlong/uscardforum-mcp'

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