Skip to main content
Glama

bluesky-mcp

Bluesky / AT Proto client — compose, timelines, and a human-approved outbox for promotion drafts from fleet-public-relations-mcp.

v0.1.1 · Ports 10760 / 10761 · Sibling of discord-mcp · ActivityPub sibling mastodon-mcp

FastMCP 3.4+ · full portmanteau (reply/repost/media/webhooks) · SOTA webapp · dry-run default · Windows CI + local just ci

Bluesky = AT Proto. Not Mastodon / ActivityPub.


Principle

Agents draft. Humans approve. Nothing posts without outbox approve → publish.

Tone: FLEET_PROMOTION.md.


Related MCP server: Bluesky MCP Server

Features

  • Human-approved outbox + fleet-PR REST handoff

  • Full bluesky_social ops: post, reply, Repost, media, timelines, notifications, webhooks

  • Dark SOTA webapp: Dashboard, Inbox, Outbox, Compose (AI assist), Chat, Skills, Tools, Settings, Help

  • Dry-run default; inbound webhooks with shared secret

  • Ruff + Biome + pytest gate; Windows-only CI workflow


Stack

Layer

Tech

Backend

FastAPI + FastMCP 3.4 (uvicorn, pydantic v2, httpx)

Webapp

React 18 + Vite + TailwindCSS + Lucide + Framer Motion + Zustand + TanStack Query

Storage

SQLite outbox + webhook event log

Desktop

Tauri 2 (NSIS installer, embedded PyInstaller backend)

Quality

ruff, biome, pyright, pytest + pytest-cov, Playwright e2e


Quick start

cd D:\Dev\repos\bluesky-mcp
Copy-Item .env.example .env
# Edit BLUESKY_INSTANCE + BLUESKY_ACCESS_TOKEN
.\start.bat

Dashboard: http://127.0.0.1:10761 · MCP: http://127.0.0.1:10760/mcp

Claude Desktop / Cursor MCP config (stdio):

{
  "mcpServers": {
    "bluesky-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "D:\\Dev\\repos\\bluesky-mcp", "python", "-m", "bluesky_mcp"]
    }
  }
}

Documentation

Doc

Contents

INSTALL.md

Install paths

docs/ONBOARDING.md

First-timer: account creation, app passwords, download links, verify

docs/FEDIVERSE.md

Bluesky / AT Proto vs ActivityPub — where this server sits

docs/CONFIGURATION.md

Env vars

docs/TOOLS.md

MCP + REST reference

docs/DEVELOPMENT.md

Lint, just ci, packaging

docs/TROUBLESHOOTING.md

Symptom → fix

PRD.md

Product requirements + roadmap

llms.txt / llms-full.txt

LLM index + full corpus

CHANGELOG.md

Release history


Ports

Service

Port

Backend

10760

Webapp

10761


MCP tools

Portmanteau bluesky_social — all operations implemented (see docs/TOOLS.md). Also bluesky_help, bluesky_shutdown, show_outbox_card.


Quality

just ci

Private repos: GitHub Actions stay disabled at account level (billing). Workflow file is still required; run just ci locally.


License

MIT (see LICENSE if present)

Available Tools

4 tools
bluesky_helpC

Help for bluesky-mcp.

Inputs: no named parameters. Returns: ports, tools, server, dry_run, +2 more

bluesky_shutdownA

Signal graceful shutdown (process exit left to host).

Inputs: no named parameters. Returns: message, success

bluesky_social_toolC

Portmanteau: post/timeline/outbox_* — fleet drafts use outbox_enqueue → approve → publish.

Return Format

{success, message?, error?, …} dialogic dict from bluesky_social.

Examples

  • operation=outbox_list

  • operation=notifications

  • operation=outbox_enqueue with status_text

Inputs: operation (required), cid, reason, dry_run, +9 more. Returns: object

show_outbox_cardB

Rich Prefab card summarizing pending outbox drafts.

Inputs: no named parameters. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 4 tools

    Disambiguation3/5

    bluesky_help and bluesky_shutdown are clearly distinct, but show_outbox_card overlaps with the outbox operations in bluesky_social_tool. The portmanteau nature of bluesky_social_tool also makes it a catch-all, increasing selection difficulty.

    Naming Consistency2/5

    Naming is inconsistent: bluesky_help and bluesky_shutdown share a prefix, but show_outbox_card uses a verb_noun pattern without the prefix, and bluesky_social_tool is a descriptive noun. No uniform verb or prefix convention is applied.

    Tool Count4/5

    4 tools is within the typical 3-15 range, though the portmanteau tool feels overloaded by encapsulating many operations. Still, the count is reasonable for the server's apparent scope.

    Completeness4/5

    The tool set covers help, shutdown, outbox management (enqueue/approve/publish/list), and social interactions (post/timeline/notifications). Minor gaps like explicit post deletion or profile updates may exist, but the core workflow appears covered.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server for Bluesky that can post on your behalf by using the AT Protocol.
      24 npm
      7
      MIT
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      MCP server for Bluesky/AT Protocol enabling LLM clients and agents to authenticate, search, post, like, follow, and manage chat on Bluesky.
      7 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for Bluesky/AT Protocol that enables AI agents to search, post, reply, like, and follow.
      15
      8 npm
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables search, reading, and posting to Bluesky from any MCP client; features 11 tools (5 read, 6 write) with gated writes requiring explicit confirmation to prevent accidental publishing.
      11
      7 npm
      MIT