Ariel
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARIEL_DATA_DIR | No | Session storage directory (default: ~/.ariel/) | ~/.ariel/ |
| BLUESKY_IDENTIFIER | Yes | Your Bluesky handle or email | |
| BLUESKY_SERVICE_URL | No | PDS URL (default: https://bsky.social) | https://bsky.social |
| BLUESKY_APP_PASSWORD | Yes | A Bluesky app password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ariel_auth_statusA | Check Bluesky authentication state, handle, DID, profile info, and rate limits |
| ariel_auth_logoutA | Log out of Bluesky, clear stored session |
| ariel_get_timelineB | Get the authenticated user's home timeline. Use mode 'hours' to fetch all posts within a time window. |
| ariel_get_author_feedB | Get posts from a specific user's feed |
| ariel_get_post_threadA | Get a post and its thread (parents and replies) |
| ariel_get_postsA | Get multiple posts by their AT URIs (max 25) |
| ariel_get_profileB | Get a user's profile information |
| ariel_get_feedB | Get posts from a custom feed (feed generator) |
| ariel_search_postsC | Search for posts on Bluesky |
| ariel_search_usersC | Search for users on Bluesky |
| ariel_get_trendsA | Get trending topics on Bluesky (uses unspecced endpoint — may change) |
| ariel_get_saved_feedsB | Get the authenticated user's saved and pinned feeds |
| ariel_get_listA | Get a list's metadata and members |
| ariel_get_list_feedB | Get posts from a list feed |
| ariel_resolve_urlA | Convert a bsky.app URL to an AT URI with metadata |
| ariel_create_postB | Create a new post on Bluesky with automatic mention/link/hashtag detection |
| ariel_create_threadA | Create a thread of multiple posts. Each post is chained as a reply to the previous one. |
| ariel_replyA | Reply to a post. Automatically resolves the thread root for proper threading. |
| ariel_quote_postA | Create a post that quotes another post |
| ariel_delete_postA | Delete one of your posts |
| ariel_likeB | Like a post |
| ariel_unlikeA | Unlike a post. Accepts the post URI (auto-resolves like record) or like record URI directly. |
| ariel_repostC | Repost a post |
| ariel_unrepostA | Remove a repost. Accepts the post URI (auto-resolves repost record) or repost record URI directly. |
| ariel_upload_imageA | Upload an image blob to Bluesky. Returns a blob reference for use in post creation. |
| ariel_create_post_with_imagesA | Create a post with attached images (max 4 images, max 1MB each) |
| ariel_create_post_with_link_cardA | Create a post with a link card (fetches Open Graph metadata for preview) |
| ariel_followB | Follow a user on Bluesky |
| ariel_unfollowA | Unfollow a user. Automatically resolves the follow record from viewer state. |
| ariel_get_followersC | Get a user's followers |
| ariel_get_followsB | Get users that a user follows |
| ariel_muteB | Mute a user on Bluesky |
| ariel_unmuteA | Unmute a user on Bluesky |
| ariel_blockB | Block a user on Bluesky |
| ariel_unblockB | Unblock a user. Automatically resolves the block record from viewer state. |
| ariel_get_notificationsA | Get recent notifications (likes, reposts, follows, mentions, replies) |
| ariel_get_unread_countA | Get the number of unread notifications |
| ariel_mark_notifications_readA | Mark all notifications as read |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize-timeline | Fetch your home timeline and produce a thematic summary |
| draft-thread | Research a topic and draft a thread for review |
| review-notifications | Review recent notifications and suggest responses |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| at-protocol-concepts | Core AT Protocol concepts: DIDs, handles, AT URIs, facets |
| tool-conventions | Ariel tool conventions: URL acceptance, error format, format param |
| post-schema | AT Protocol post record structure, embed types, facet format |
TDQS
Scored across 38 tools
Most tools map to a distinct Bluesky action/resource, but there are several similarly named feed retrievers (get_timeline, get_feed, get_author_feed, get_list_feed) and post creation variants that could be confused without close reading of descriptions.
The set consistently uses an ariel_ prefix with snake_case, mostly following verb_noun (get_timeline, create_post, delete_post). Minor deviations like ariel_auth_status and single-word actions (ariel_reply, ariel_like) keep it from being perfectly uniform, but the pattern is predictable.
38 tools is well above the 25+ threshold for a heavy toolset. While the scope is broad, many operations could be consolidated, making the surface larger than necessary for an agent to navigate efficiently.
The core Bluesky lifecycle is well covered: post creation/reading/deletion, social interactions, search, notifications, and moderation. Gaps such as no login method, no profile editing, and no list/post management are workable but prevent full domain coverage.