Skip to main content
Glama

bluesky-mcp-server

Get Bluesky Trending Topics

bsky_get_trending
Read-only

Fetch the current real-time trending topics on Bluesky. Returns topics with display name, post count, category (politics, sports, pop-culture, etc.), status (hot/rising), start time, and the representative accounts driving each topic — so "who is talking about this" needs no follow-up search. Entry point for "what is Bluesky talking about right now". Pair with bsky_search_posts to drill into any trending topic. Note: uses the app.bsky.unspecced.getTrends endpoint, which is not part of Bluesky's stable lexicon and may change without notice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of trending topics to return (1–25). Default 10.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe limit applied to this request.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of trending topics returned.
noticeNoGuidance when the result set is empty or constrained.
trendsNoCurrent trending topics, ordered by prominence.
truncatedNoTrue when the topic list was capped at the requested limit; more may exist.
totalReturnedNoNumber of trending topics returned.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint and openWorldHint, so the safety and non-deterministic nature are already declared. The description adds valuable specificity by warning that it uses the unspecced app.bsky.unspecced.getTrends endpoint which 'may change without notice' — a concrete risk disclosure beyond the generic openWorld hint. It also preempts a follow-up search by stating the response includes representative accounts. This is strong transparency without redundancy.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but economical. Each sentence earns its place: the action, the output shape, the primary use case, the pairing suggestion, and the endpoint caveat. It is front-loaded with the core action and output, followed by usage guidance and risk. No filler words; every clause contributes to efficient agent comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-parameter tool with an output schema present, the description covers everything an agent needs: the data returned, the practical use case, the relationship to siblings, and the instability warning. The output schema handles return structure, so the description's job is context, which it fulfills fully. No missing critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% description coverage for the single 'limit' parameter (range, default, purpose). The tool description does not add additional meaning about the parameter itself, only about the output. With high schema coverage, the baseline of 3 is appropriate; the description need not duplicate what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Fetch the current real-time trending topics on Bluesky.' It also enumerates the exact fields returned (display name, post count, category, status, start time, representative accounts), which eliminates ambiguity. It explicitly frames itself as the entry point for 'what is Bluesky talking about right now', and the sibling list includes search tools, so the tool's niche is unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states its role as an entry point for trending topics and advises pairing with bsky_search_posts to drill down into a topic. This gives concrete usage context. However, it does not explicitly state when NOT to use it versus alternatives, though the sibling names make the distinction obvious. The 'pair with' directive and the scarcity of trending tools among siblings make the intended usage sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource: feed, follows, thread, profile, trending, actor search, and post search. While bsky_get_author_feed and bsky_search_posts might seem similar, their descriptions clearly separate a user-specific feed from full-text search. The other tools have unambiguous boundaries.

Naming Consistency5/5

All tools follow the same prefix pattern 'bsky_' followed by either 'get_' or 'search_' and a noun. There are no deviations or mixed conventions. The consistent verb+noun structure makes the tool surface predictable and easy to navigate.

Tool Count5/5

Seven tools is well within the ideal range for a focused Bluesky client. Each tool covers a core read operation without redundancy, and none feels extraneous. The count is proportionate to the server's apparent purpose.

Completeness4/5

The server covers the main read workflows: profiles, feeds, search, threads, trending, and social graph edges. Minor gaps exist, such as no direct single-post fetch (only via thread) and no posting capabilities, but these are consistent with a read-only social listening server and do not significantly impede core tasks.