get_author_feed
Retrieve posts from a specific Bluesky user with options for filtering, pagination, and including pinned content.
Instructions
Get posts from a specific user.
Args:
ctx: MCP context
actor: Handle or DID of the user
cursor: Optional pagination cursor
filter: Optional filter for post types
limit: Maximum number of results to return
include_pins: Whether to include pinned posts
Returns:
Feed with posts from the specified user
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| actor | Yes | ||
| cursor | No | ||
| filter | No | ||
| limit | No | ||
| include_pins | No |
Implementation Reference
- server.py:590-629 (handler)The handler function for the 'get_author_feed' tool. It is registered via the @mcp.tool() decorator and implements the core logic by calling the Bluesky client's get_author_feed method, handling errors, and returning the feed data in a standardized dictionary format.@mcp.tool() def get_author_feed( ctx: Context, actor: str, cursor: Optional[str] = None, filter: Optional[str] = None, limit: Optional[int] = None, include_pins: bool = False, ) -> Dict: """Get posts from a specific user. Args: ctx: MCP context actor: Handle or DID of the user cursor: Optional pagination cursor filter: Optional filter for post types limit: Maximum number of results to return include_pins: Whether to include pinned posts Returns: Feed with posts from the specified user """ try: bluesky_client = get_authenticated_client(ctx) feed_response = bluesky_client.get_author_feed( actor, cursor, filter, limit, include_pins ) # Convert the response to a dictionary if hasattr(feed_response, "model_dump"): feed_data = feed_response.model_dump() else: feed_data = feed_response return {"status": "success", "feed": feed_data} except Exception as e: error_msg = f"Failed to get author feed: {str(e)}" return {"status": "error", "message": error_msg}