Skip to main content
Glama
thenavidm

bluesky-mcp

by thenavidm

List an account's lists

get_lists
Read-onlyIdempotent

Retrieve curated Bluesky lists created by an account, with pagination and cursor support. Use each returned URI to read list posts or view members.

Instructions

Curated lists an account has created. Pass a returned URI to get_list_posts to read the feed, or get_list_members to see who is on it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actorYesHandle or DID.
limitNoHow many to return per page, 1-100.
cursorNoContinue from a previous page. Pass the `cursor` attribute from the last result.
accountNoWhich connected account to act as, by handle (for example 'alice.bsky.social' or just 'alice'). Defaults to the first connected account. Call list_accounts to see them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv2.0.1
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv1.1.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that results carry a URI consumed by other tools, but says nothing about pagination behavior, ordering, or the authenticated-account requirement beyond what the schema already states.

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

Conciseness4/5

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

Two short sentences with no filler, and the resource being returned is front-loaded before the follow-up tool routing. It reads as an elliptical noun phrase rather than a full sentence, which is a minor structural weakness but costs the agent nothing.

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

Completeness4/5

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

With no output schema, the description does the necessary work of explaining that the return value is a set of lists whose URI feeds other tools, and pagination is documented in the schema. For a simple paginated read tool this is nearly complete; ordering and empty-result behavior are the only gaps.

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?

Schema description coverage is 100% (actor = handle or DID, limit 1-100, cursor continuation, account selection), so the schema carries parameter meaning on its own. The description adds no parameter-level detail such as default limit or what happens when the account has no lists, so baseline 3 applies.

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

Purpose4/5

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

States the resource precisely ('curated lists an account has created') and scopes it to one actor, so an agent can distinguish it from feed/post retrieval tools. It lacks an explicit verb and does not explicitly contrast with any sibling, but the resource noun plus the routing to get_list_posts/get_list_members makes intent unambiguous.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: fetch an account's lists, then use the returned URI with get_list_posts or get_list_members. This is downstream chaining advice, not when-to-use-this-vs-an-alternative guidance, and there are no exclusions or prerequisites (e.g., that `account` selects the acting identity).

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