get_reposted_by
Retrieve users who reposted a specific Bluesky post to analyze engagement and identify content amplifiers.
Instructions
Get users who reposted a post.
Args:
ctx: MCP context
uri: URI of the post to get reposts for
cid: Optional CID of the post (not strictly required)
limit: Maximum number of results to return (1-100)
cursor: Optional pagination cursor
Returns:
List of users who reposted the post
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | ||
| cid | No | ||
| limit | No | ||
| cursor | No |
Implementation Reference
- server.py:451-487 (handler)The main handler function for the 'get_reposted_by' tool, decorated with @mcp.tool(). It authenticates the Bluesky client, processes parameters, calls the underlying bluesky_client.get_reposted_by method, and returns the results or error.@mcp.tool() def get_reposted_by( ctx: Context, uri: str, cid: Optional[str] = None, limit: Union[int, str] = 50, cursor: Optional[str] = None, ) -> Dict: """Get users who reposted a post. Args: ctx: MCP context uri: URI of the post to get reposts for cid: Optional CID of the post (not strictly required) limit: Maximum number of results to return (1-100) cursor: Optional pagination cursor Returns: List of users who reposted the post """ try: bluesky_client = get_authenticated_client(ctx) # Convert limit to int if it's a string if isinstance(limit, str): limit = int(limit) limit = max(1, min(100, limit)) # Call get_reposted_by with positional arguments as per the client signature reposts_response = bluesky_client.get_reposted_by(uri, cid, cursor, limit) reposts_data = reposts_response.dict() return {"status": "success", "reposts": reposts_data} except Exception as e: error_msg = f"Failed to get reposts: {str(e)}" return {"status": "error", "message": error_msg}