Skip to main content
Glama

get_followers

Retrieve follower lists for Weibo users to analyze audience connections, manage relationships, or gather user data through paginated results.

Instructions

Get a Weibo user's followers. Returns: list[dict]: List of dictionaries containing follower information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidYesThe unique identifier of the Weibo user
limitNoMaximum number of followers to return, defaults to 15
pageNoPage number for pagination, defaults to 1

Implementation Reference

  • MCP tool handler and registration for 'get_followers'. Defines input schema via Annotated Fields (uid, limit, page) and delegates execution to WeiboCrawler instance.
    @mcp.tool() async def get_followers( ctx: Context, uid: Annotated[int, Field(description="The unique identifier of the Weibo user")], limit: Annotated[int, Field(description="Maximum number of followers to return, defaults to 15", default=15)] = 15, page: Annotated[int, Field(description="Page number for pagination, defaults to 1", default=1)] = 1 ) -> list[dict]: """ Get a Weibo user's followers. Returns: list[dict]: List of dictionaries containing follower information """ return await crawler.get_followers(uid, limit, page)
  • Pydantic BaseModel schema for UserProfile, used to type and validate individual follower profiles returned by the tool (list[UserProfile] internally).
    class UserProfile(BaseModel): """ Data model for a Weibo user's profile information. Attributes: id (int): User's unique identifier screen_name (str): User's display name profile_image_url (str): URL to user's profile image profile_url (str): URL to user's Weibo profile page description (str): User's profile description follow_count (int): Number of users the user is following followers_count (str): Number of followers (as string) avatar_hd (str): URL to user's high-resolution avatar image verified (bool): Whether the user is verified verified_reason (str): Reason for verification gender (str): User's gender """ id: int = Field() screen_name: str = Field() profile_image_url: str = Field() profile_url: str = Field() description: str = Field() follow_count: int = Field() followers_count: str = Field() avatar_hd: str = Field() verified: bool = Field() verified_reason: str = Field() gender: str = Field()
  • Core helper method in WeiboCrawler that implements the follower fetching logic: constructs API URL, makes HTTP request to Weibo search endpoint, parses cards, extracts user profiles using _to_user_profile.
    async def get_followers(self, uid: int, limit: int = 15, page: int = 1) -> list[UserProfile]: """ Get followers of a specific Weibo user. Args: uid (int): The unique identifier of the Weibo user limit (int): Maximum number of followers to return, defaults to 15 page (int): The page number for pagination, defaults to 1 Returns: list[UserProfile]: List of UserProfile objects containing follower information """ async with httpx.AsyncClient() as client: try: params = { 'containerid': f'231051_-_followers_-_{str(uid)}', 'page': page, } encoded_params = urlencode(params) response = await client.get(f'{SEARCH_URL}?{encoded_params}', headers=DEFAULT_HEADERS) result = response.json() cards = result["data"]["cards"] if len(cards) < 1: return [] else: cardGroup = cards[-1]['card_group'] return [self._to_user_profile(item['user']) for item in cardGroup][:limit] except httpx.HTTPError: self.logger.error(f"Unable to get followers for uid '{str(uid)}'", exc_info=True) return []
  • Supporting helper utility that transforms raw Weibo API user data dictionary into a structured UserProfile Pydantic model, called within get_followers.
    def _to_user_profile(self, user: dict) -> UserProfile: """ Convert raw user data to UserProfile object. Args: user (dict): Raw user data from Weibo API Returns: UserProfile: Formatted user profile information """ return UserProfile( id = user['id'], screen_name = user['screen_name'], profile_image_url = user['profile_image_url'], profile_url = user['profile_url'], description = user.get('description', ''), follow_count = user.get('follow_count', 0), followers_count = user.get('followers_count', ''), avatar_hd = user.get('avatar_hd', ''), verified = user.get('verified', False), verified_reason = user.get('verified_reason', ''), gender = user.get('gender', '') )

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/qinyuanpei/mcp-server-weibo'

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