Skip to main content
Glama

Bluesky Social MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BLUESKY_IDENTIFIERYesYour Bluesky handle (e.g., your-handle.bsky.social)
BLUESKY_APP_PASSWORDYesYour Bluesky app password from https://bsky.app/settings/app-passwords

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_bluesky_tools_infoGet information about the available Bluesky tools.

Tools

Functions exposed to the LLM to take actions

NameDescription
check_auth_status

Check if the current session is authenticated.

Authentication happens automatically using environment variables: - BLUESKY_IDENTIFIER: Required - your Bluesky handle - BLUESKY_APP_PASSWORD: Required - your app password - BLUESKY_SERVICE_URL: Optional - defaults to https://bsky.social Returns: Authentication status
get_profile

Get a user profile.

Args: ctx: MCP context handle: Optional handle to get profile for. If None, gets the authenticated user Returns: Profile data
get_follows

Get users followed by an account.

Args: ctx: MCP context handle: Optional handle to get follows for. If None, gets the authenticated user limit: Maximum number of results to return (1-100) cursor: Optional pagination cursor Returns: List of followed accounts
get_followers

Get users who follow an account.

Args: ctx: MCP context handle: Optional handle to get followers for. If None, gets the authenticated user limit: Maximum number of results to return (1-100) cursor: Optional pagination cursor Returns: List of follower accounts
like_post

Like a post.

Args: ctx: MCP context uri: URI of the post to like cid: CID of the post to like Returns: Status of the like operation
unlike_post

Unlike a previously liked post.

Args: ctx: MCP context like_uri: URI of the like. Returns: Status of the unlike operation
send_post

Send a post to Bluesky.

Args: ctx: MCP context text: Text content of the post profile_identify: Optional handle or DID. Where to send post. If not provided, sends to current profile reply_to: Optional reply reference with 'root' and 'parent' containing 'uri' and 'cid' embed: Optional embed object (images, external links, records, or video) langs: Optional list of language codes used in the post (defaults to ['en']) facets: Optional list of rich text facets (mentions, links, etc.) Returns: Status of the post creation with uri and cid of the created post
repost

Repost another user's post.

Args: ctx: MCP context uri: URI of the post to repost cid: CID of the post to repost Returns: Status of the repost operation
unrepost

Remove a repost of another user's post.

Args: ctx: MCP context repost_uri: URI of the repost to remove Returns: Status of the unrepost operation
get_likes

Get likes for a post.

Args: ctx: MCP context uri: URI of the post to get likes 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 likes for the post
get_reposted_by

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
get_post

Get a specific post.

Args: ctx: MCP context post_rkey: The record key of the post profile_identify: Handle or DID of the post author cid: Optional CID of the post Returns: The requested post
get_posts

Get multiple posts by their URIs.

Args: ctx: MCP context uris: List of post URIs to retrieve Returns: List of requested posts
get_timeline

Get posts from your home timeline.

Args: ctx: MCP context algorithm: Optional algorithm to use for timeline cursor: Optional pagination cursor limit: Maximum number of results to return Returns: Timeline feed with posts
get_author_feed

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
get_post_thread

Get a full conversation thread.

Args: ctx: MCP context uri: URI of the post to get thread for depth: How many levels of replies to include parent_height: How many parent posts to include Returns: Thread with the post and its replies/parents
resolve_handle

Resolve a handle to a DID.

Args: ctx: MCP context handle: User handle to resolve (e.g. "user.bsky.social") Returns: Resolved DID information
mute_user

Mute a user.

Args: ctx: MCP context actor: Handle or DID of the user to mute Returns: Status of the mute operation
unmute_user

Unmute a previously muted user.

Args: ctx: MCP context actor: Handle or DID of the user to unmute Returns: Status of the unmute operation
unfollow_user

Unfollow a user.

Args: ctx: MCP context follow_uri: URI of the follow record to delete Returns: Status of the unfollow operation
send_image

Send a post with a single image.

Args: ctx: MCP context text: Text content of the post image_data: Base64-encoded image data image_alt: Alternative text description for the image profile_identify: Optional handle or DID for the post author reply_to: Optional reply information dict with keys uri and cid langs: Optional list of language codes facets: Optional list of facets (mentions, links, etc.) Returns: Status of the post creation
send_images

Send a post with multiple images (up to 4).

Args: ctx: MCP context text: Text content of the post images_data: List of base64-encoded image data (max 4) image_alts: Optional list of alt text for each image profile_identify: Optional handle or DID for the post author reply_to: Optional reply information dict with keys uri and cid langs: Optional list of language codes facets: Optional list of facets (mentions, links, etc.) Returns: Status of the post creation
send_video

Send a post with a video.

Args: ctx: MCP context text: Text content of the post video_data: Base64-encoded video data video_alt: Optional alternative text description for the video profile_identify: Optional handle or DID for the post author reply_to: Optional reply information dict with keys uri and cid langs: Optional list of language codes facets: Optional list of facets (mentions, links, etc.) Returns: Status of the post creation
delete_post

Delete a post created by the authenticated user.

Args: ctx: MCP context uri: URI of the post to delete Returns: Status of the delete operation
follow_user

Follow a user.

Args: ctx: MCP context handle: Handle of the user to follow Returns: Status of the follow operation

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/gwbischof/bluesky-social-mcp'

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