Bluesky · Capability

Bluesky Social API — Social Graph

Bluesky Social API — Social Graph. 20 operations. Lead operation: Bluesky Get a list of starter packs created by the actor.. Self-contained Naftiko capability covering one Bluesky business surface.

Run with Naftiko BlueskySocial Graph

What You Can Do

GET
Graphgetactorstarterpacks — Bluesky Get a list of starter packs created by the actor.
/v1/xrpc/app-bsky-graph-getactorstarterpacks
GET
Graphgetblocks — Bluesky Enumerates which accounts the requesting account is currently blocking.
/v1/xrpc/app-bsky-graph-getblocks
GET
Graphgetfollowers — Bluesky Enumerates accounts which follow a specified account (actor).
/v1/xrpc/app-bsky-graph-getfollowers
GET
Graphgetfollows — Bluesky Enumerates accounts which a specified account (actor) follows.
/v1/xrpc/app-bsky-graph-getfollows
GET
Graphgetknownfollowers — Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer.
/v1/xrpc/app-bsky-graph-getknownfollowers
GET
Graphgetlist — Bluesky Gets a 'view' (with additional context) of a specified list.
/v1/xrpc/app-bsky-graph-getlist
GET
Graphgetlistblocks — Bluesky Get mod lists that the requesting account (actor) is blocking.
/v1/xrpc/app-bsky-graph-getlistblocks
GET
Graphgetlistmutes — Bluesky Enumerates mod lists that the requesting account (actor) currently has muted.
/v1/xrpc/app-bsky-graph-getlistmutes
GET
Graphgetlists — Bluesky Enumerates the lists created by a specified account (actor).
/v1/xrpc/app-bsky-graph-getlists
GET
Graphgetmutes — Bluesky Enumerates accounts that the requesting account (actor) currently has muted.
/v1/xrpc/app-bsky-graph-getmutes
GET
Graphgetrelationships — Bluesky Enumerates public relationships between one account, and a list of other accounts.
/v1/xrpc/app-bsky-graph-getrelationships
GET
Graphgetstarterpack — Bluesky Gets a view of a starter pack.
/v1/xrpc/app-bsky-graph-getstarterpack
GET
Graphgetstarterpacks — Bluesky Get views for a list of starter packs.
/v1/xrpc/app-bsky-graph-getstarterpacks
GET
Graphgetsuggestedfollowsbyactor — Bluesky Enumerates follows similar to a given account (actor).
/v1/xrpc/app-bsky-graph-getsuggestedfollowsbyactor
POST
Graphmuteactor — Bluesky Creates a mute relationship for the specified account.
/v1/xrpc/app-bsky-graph-muteactor
POST
Graphmuteactorlist — Bluesky Creates a mute relationship for the specified list of accounts.
/v1/xrpc/app-bsky-graph-muteactorlist
POST
Graphmutethread — Bluesky Mutes a thread preventing notifications from the thread and any of its children.
/v1/xrpc/app-bsky-graph-mutethread
POST
Graphunmuteactor — Bluesky Unmutes the specified account.
/v1/xrpc/app-bsky-graph-unmuteactor
POST
Graphunmuteactorlist — Bluesky Unmutes the specified list of accounts.
/v1/xrpc/app-bsky-graph-unmuteactorlist
POST
Graphunmutethread — Bluesky Unmutes the specified thread.
/v1/xrpc/app-bsky-graph-unmutethread

MCP Tools

bluesky-get-list-starter-packs

Bluesky Get a list of starter packs created by the actor.

read-only idempotent
bluesky-enumerates-which-accounts-requesting

Bluesky Enumerates which accounts the requesting account is currently blocking.

read-only idempotent
bluesky-enumerates-accounts-which-follow

Bluesky Enumerates accounts which follow a specified account (actor).

read-only idempotent
bluesky-enumerates-accounts-which-specified

Bluesky Enumerates accounts which a specified account (actor) follows.

read-only idempotent
bluesky-enumerates-accounts-which-follow-2

Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer.

read-only idempotent
bluesky-gets-view-additional-context

Bluesky Gets a 'view' (with additional context) of a specified list.

read-only idempotent
bluesky-get-mod-lists-that

Bluesky Get mod lists that the requesting account (actor) is blocking.

read-only idempotent
bluesky-enumerates-mod-lists-that

Bluesky Enumerates mod lists that the requesting account (actor) currently has muted.

read-only idempotent
bluesky-enumerates-lists-created-specified

Bluesky Enumerates the lists created by a specified account (actor).

read-only idempotent
bluesky-enumerates-accounts-that-requesting

Bluesky Enumerates accounts that the requesting account (actor) currently has muted.

read-only idempotent
bluesky-enumerates-public-relationships-between

Bluesky Enumerates public relationships between one account, and a list of other accounts.

read-only idempotent
bluesky-gets-view-starter-pack

Bluesky Gets a view of a starter pack.

read-only idempotent
bluesky-get-views-list-starter

Bluesky Get views for a list of starter packs.

read-only idempotent
bluesky-enumerates-follows-similar-given

Bluesky Enumerates follows similar to a given account (actor).

read-only idempotent
bluesky-creates-mute-relationship-specified

Bluesky Creates a mute relationship for the specified account.

bluesky-creates-mute-relationship-specified-2

Bluesky Creates a mute relationship for the specified list of accounts.

read-only
bluesky-mutes-thread-preventing-notifications

Bluesky Mutes a thread preventing notifications from the thread and any of its children.

bluesky-unmutes-specified-account

Bluesky Unmutes the specified account.

bluesky-unmutes-specified-list-accounts

Bluesky Unmutes the specified list of accounts.

read-only
bluesky-unmutes-specified-thread

Bluesky Unmutes the specified thread.

Capability Spec

bluesky-social-graph.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Bluesky Social API — Social Graph
  description: 'Bluesky Social API — Social Graph. 20 operations. Lead operation: Bluesky Get a list of starter packs created
    by the actor.. Self-contained Naftiko capability covering one Bluesky business surface.'
  tags:
  - Bluesky
  - Social Graph
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BLUESKY_API_KEY: BLUESKY_API_KEY
capability:
  consumes:
  - type: http
    namespace: bluesky-social-graph
    baseUri: https://bsky.social/xrpc
    description: Bluesky Social API — Social Graph business capability. Self-contained, no shared references.
    resources:
    - name: xrpc-app.bsky.graph.getActorStarterPacks
      path: /xrpc/app.bsky.graph.getActorStarterPacks
      operations:
      - name: graphgetactorstarterpacks
        method: GET
        description: Bluesky Get a list of starter packs created by the actor.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getBlocks
      path: /xrpc/app.bsky.graph.getBlocks
      operations:
      - name: graphgetblocks
        method: GET
        description: Bluesky Enumerates which accounts the requesting account is currently blocking.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getFollowers
      path: /xrpc/app.bsky.graph.getFollowers
      operations:
      - name: graphgetfollowers
        method: GET
        description: Bluesky Enumerates accounts which follow a specified account (actor).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getFollows
      path: /xrpc/app.bsky.graph.getFollows
      operations:
      - name: graphgetfollows
        method: GET
        description: Bluesky Enumerates accounts which a specified account (actor) follows.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getKnownFollowers
      path: /xrpc/app.bsky.graph.getKnownFollowers
      operations:
      - name: graphgetknownfollowers
        method: GET
        description: Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getList
      path: /xrpc/app.bsky.graph.getList
      operations:
      - name: graphgetlist
        method: GET
        description: Bluesky Gets a 'view' (with additional context) of a specified list.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: list
          in: query
          type: string
          description: Reference (AT-URI) of the list record to hydrate.
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getListBlocks
      path: /xrpc/app.bsky.graph.getListBlocks
      operations:
      - name: graphgetlistblocks
        method: GET
        description: Bluesky Get mod lists that the requesting account (actor) is blocking.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getListMutes
      path: /xrpc/app.bsky.graph.getListMutes
      operations:
      - name: graphgetlistmutes
        method: GET
        description: Bluesky Enumerates mod lists that the requesting account (actor) currently has muted.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getLists
      path: /xrpc/app.bsky.graph.getLists
      operations:
      - name: graphgetlists
        method: GET
        description: Bluesky Enumerates the lists created by a specified account (actor).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          description: The account (actor) to enumerate lists from.
          required: true
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getMutes
      path: /xrpc/app.bsky.graph.getMutes
      operations:
      - name: graphgetmutes
        method: GET
        description: Bluesky Enumerates accounts that the requesting account (actor) currently has muted.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.graph.getRelationships
      path: /xrpc/app.bsky.graph.getRelationships
      operations:
      - name: graphgetrelationships
        method: GET
        description: Bluesky Enumerates public relationships between one account, and a list of other accounts.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          description: Primary account requesting relationships for.
          required: true
        - name: others
          in: query
          type: array
          description: List of 'other' accounts to be related back to the primary.
    - name: xrpc-app.bsky.graph.getStarterPack
      path: /xrpc/app.bsky.graph.getStarterPack
      operations:
      - name: graphgetstarterpack
        method: GET
        description: Bluesky Gets a view of a starter pack.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: starterPack
          in: query
          type: string
          description: Reference (AT-URI) of the starter pack record.
          required: true
    - name: xrpc-app.bsky.graph.getStarterPacks
      path: /xrpc/app.bsky.graph.getStarterPacks
      operations:
      - name: graphgetstarterpacks
        method: GET
        description: Bluesky Get views for a list of starter packs.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uris
          in: query
          type: array
          required: true
    - name: xrpc-app.bsky.graph.getSuggestedFollowsByActor
      path: /xrpc/app.bsky.graph.getSuggestedFollowsByActor
      operations:
      - name: graphgetsuggestedfollowsbyactor
        method: GET
        description: Bluesky Enumerates follows similar to a given account (actor).
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          required: true
    - name: xrpc-app.bsky.graph.muteActor
      path: /xrpc/app.bsky.graph.muteActor
      operations:
      - name: graphmuteactor
        method: POST
        description: Bluesky Creates a mute relationship for the specified account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: xrpc-app.bsky.graph.muteActorList
      path: /xrpc/app.bsky.graph.muteActorList
      operations:
      - name: graphmuteactorlist
        method: POST
        description: Bluesky Creates a mute relationship for the specified list of accounts.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: xrpc-app.bsky.graph.muteThread
      path: /xrpc/app.bsky.graph.muteThread
      operations:
      - name: graphmutethread
        method: POST
        description: Bluesky Mutes a thread preventing notifications from the thread and any of its children.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: xrpc-app.bsky.graph.unmuteActor
      path: /xrpc/app.bsky.graph.unmuteActor
      operations:
      - name: graphunmuteactor
        method: POST
        description: Bluesky Unmutes the specified account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: xrpc-app.bsky.graph.unmuteActorList
      path: /xrpc/app.bsky.graph.unmuteActorList
      operations:
      - name: graphunmuteactorlist
        method: POST
        description: Bluesky Unmutes the specified list of accounts.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: xrpc-app.bsky.graph.unmuteThread
      path: /xrpc/app.bsky.graph.unmuteThread
      operations:
      - name: graphunmutethread
        method: POST
        description: Bluesky Unmutes the specified thread.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.BLUESKY_API_KEY}}'
  exposes:
  - type: rest
    namespace: bluesky-social-graph-rest
    port: 8080
    description: REST adapter for Bluesky Social API — Social Graph. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/xrpc/app-bsky-graph-getactorstarterpacks
      name: xrpc-app-bsky-graph-getactorstarterpacks
      description: REST surface for xrpc-app.bsky.graph.getActorStarterPacks.
      operations:
      - method: GET
        name: graphgetactorstarterpacks
        description: Bluesky Get a list of starter packs created by the actor.
        call: bluesky-social-graph.graphgetactorstarterpacks
        with:
          actor: rest.actor
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getblocks
      name: xrpc-app-bsky-graph-getblocks
      description: REST surface for xrpc-app.bsky.graph.getBlocks.
      operations:
      - method: GET
        name: graphgetblocks
        description: Bluesky Enumerates which accounts the requesting account is currently blocking.
        call: bluesky-social-graph.graphgetblocks
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getfollowers
      name: xrpc-app-bsky-graph-getfollowers
      description: REST surface for xrpc-app.bsky.graph.getFollowers.
      operations:
      - method: GET
        name: graphgetfollowers
        description: Bluesky Enumerates accounts which follow a specified account (actor).
        call: bluesky-social-graph.graphgetfollowers
        with:
          actor: rest.actor
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getfollows
      name: xrpc-app-bsky-graph-getfollows
      description: REST surface for xrpc-app.bsky.graph.getFollows.
      operations:
      - method: GET
        name: graphgetfollows
        description: Bluesky Enumerates accounts which a specified account (actor) follows.
        call: bluesky-social-graph.graphgetfollows
        with:
          actor: rest.actor
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getknownfollowers
      name: xrpc-app-bsky-graph-getknownfollowers
      description: REST surface for xrpc-app.bsky.graph.getKnownFollowers.
      operations:
      - method: GET
        name: graphgetknownfollowers
        description: Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer.
        call: bluesky-social-graph.graphgetknownfollowers
        with:
          actor: rest.actor
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getlist
      name: xrpc-app-bsky-graph-getlist
      description: REST surface for xrpc-app.bsky.graph.getList.
      operations:
      - method: GET
        name: graphgetlist
        description: Bluesky Gets a 'view' (with additional context) of a specified list.
        call: bluesky-social-graph.graphgetlist
        with:
          list: rest.list
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getlistblocks
      name: xrpc-app-bsky-graph-getlistblocks
      description: REST surface for xrpc-app.bsky.graph.getListBlocks.
      operations:
      - method: GET
        name: graphgetlistblocks
        description: Bluesky Get mod lists that the requesting account (actor) is blocking.
        call: bluesky-social-graph.graphgetlistblocks
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getlistmutes
      name: xrpc-app-bsky-graph-getlistmutes
      description: REST surface for xrpc-app.bsky.graph.getListMutes.
      operations:
      - method: GET
        name: graphgetlistmutes
        description: Bluesky Enumerates mod lists that the requesting account (actor) currently has muted.
        call: bluesky-social-graph.graphgetlistmutes
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getlists
      name: xrpc-app-bsky-graph-getlists
      description: REST surface for xrpc-app.bsky.graph.getLists.
      operations:
      - method: GET
        name: graphgetlists
        description: Bluesky Enumerates the lists created by a specified account (actor).
        call: bluesky-social-graph.graphgetlists
        with:
          actor: rest.actor
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getmutes
      name: xrpc-app-bsky-graph-getmutes
      description: REST surface for xrpc-app.bsky.graph.getMutes.
      operations:
      - method: GET
        name: graphgetmutes
        description: Bluesky Enumerates accounts that the requesting account (actor) currently has muted.
        call: bluesky-social-graph.graphgetmutes
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getrelationships
      name: xrpc-app-bsky-graph-getrelationships
      description: REST surface for xrpc-app.bsky.graph.getRelationships.
      operations:
      - method: GET
        name: graphgetrelationships
        description: Bluesky Enumerates public relationships between one account, and a list of other accounts.
        call: bluesky-social-graph.graphgetrelationships
        with:
          actor: rest.actor
          others: rest.others
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getstarterpack
      name: xrpc-app-bsky-graph-getstarterpack
      description: REST surface for xrpc-app.bsky.graph.getStarterPack.
      operations:
      - method: GET
        name: graphgetstarterpack
        description: Bluesky Gets a view of a starter pack.
        call: bluesky-social-graph.graphgetstarterpack
        with:
          starterPack: rest.starterPack
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getstarterpacks
      name: xrpc-app-bsky-graph-getstarterpacks
      description: REST surface for xrpc-app.bsky.graph.getStarterPacks.
      operations:
      - method: GET
        name: graphgetstarterpacks
        description: Bluesky Get views for a list of starter packs.
        call: bluesky-social-graph.graphgetstarterpacks
        with:
          uris: rest.uris
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-getsuggestedfollowsbyactor
      name: xrpc-app-bsky-graph-getsuggestedfollowsbyactor
      description: REST surface for xrpc-app.bsky.graph.getSuggestedFollowsByActor.
      operations:
      - method: GET
        name: graphgetsuggestedfollowsbyactor
        description: Bluesky Enumerates follows similar to a given account (actor).
        call: bluesky-social-graph.graphgetsuggestedfollowsbyactor
        with:
          actor: rest.actor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-muteactor
      name: xrpc-app-bsky-graph-muteactor
      description: REST surface for xrpc-app.bsky.graph.muteActor.
      operations:
      - method: POST
        name: graphmuteactor
        description: Bluesky Creates a mute relationship for the specified account.
        call: bluesky-social-graph.graphmuteactor
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-muteactorlist
      name: xrpc-app-bsky-graph-muteactorlist
      description: REST surface for xrpc-app.bsky.graph.muteActorList.
      operations:
      - method: POST
        name: graphmuteactorlist
        description: Bluesky Creates a mute relationship for the specified list of accounts.
        call: bluesky-social-graph.graphmuteactorlist
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-mutethread
      name: xrpc-app-bsky-graph-mutethread
      description: REST surface for xrpc-app.bsky.graph.muteThread.
      operations:
      - method: POST
        name: graphmutethread
        description: Bluesky Mutes a thread preventing notifications from the thread and any of its children.
        call: bluesky-social-graph.graphmutethread
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-unmuteactor
      name: xrpc-app-bsky-graph-unmuteactor
      description: REST surface for xrpc-app.bsky.graph.unmuteActor.
      operations:
      - method: POST
        name: graphunmuteactor
        description: Bluesky Unmutes the specified account.
        call: bluesky-social-graph.graphunmuteactor
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-unmuteactorlist
      name: xrpc-app-bsky-graph-unmuteactorlist
      description: REST surface for xrpc-app.bsky.graph.unmuteActorList.
      operations:
      - method: POST
        name: graphunmuteactorlist
        description: Bluesky Unmutes the specified list of accounts.
        call: bluesky-social-graph.graphunmuteactorlist
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-graph-unmutethread
      name: xrpc-app-bsky-graph-unmutethread
      description: REST surface for xrpc-app.bsky.graph.unmuteThread.
      operations:
      - method: POST
        name: graphunmutethread
        description: Bluesky Unmutes the specified thread.
        call: bluesky-social-graph.graphunmutethread
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: bluesky-social-graph-mcp
    port: 9090
    transport: http
    description: MCP adapter for Bluesky Social API — Social Graph. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: bluesky-get-list-starter-packs
      description: Bluesky Get a list of starter packs created by the actor.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetactorstarterpacks
      with:
        actor: tools.actor
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-which-accounts-requesting
      description: Bluesky Enumerates which accounts the requesting account is currently blocking.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetblocks
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-accounts-which-follow
      description: Bluesky Enumerates accounts which follow a specified account (actor).
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetfollowers
      with:
        actor: tools.actor
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-accounts-which-specified
      description: Bluesky Enumerates accounts which a specified account (actor) follows.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetfollows
      with:
        actor: tools.actor
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-accounts-which-follow-2
      description: Bluesky Enumerates accounts which follow a specified account (actor) and are followed by the viewer.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetknownfollowers
      with:
        actor: tools.actor
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-gets-view-additional-context
      description: Bluesky Gets a 'view' (with additional context) of a specified list.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetlist
      with:
        list: tools.list
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-mod-lists-that
      description: Bluesky Get mod lists that the requesting account (actor) is blocking.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetlistblocks
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-mod-lists-that
      description: Bluesky Enumerates mod lists that the requesting account (actor) currently has muted.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetlistmutes
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-lists-created-specified
      description: Bluesky Enumerates the lists created by a specified account (actor).
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetlists
      with:
        actor: tools.actor
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-accounts-that-requesting
      description: Bluesky Enumerates accounts that the requesting account (actor) currently has muted.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetmutes
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-public-relationships-between
      description: Bluesky Enumerates public relationships between one account, and a list of other accounts.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetrelationships
      with:
        actor: tools.actor
        others: tools.others
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-gets-view-starter-pack
      description: Bluesky Gets a view of a starter pack.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetstarterpack
      with:
        starterPack: tools.starterPack
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-views-list-starter
      description: Bluesky Get views for a list of starter packs.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetstarterpacks
      with:
        uris: tools.uris
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-enumerates-follows-similar-given
      description: Bluesky Enumerates follows similar to a given account (actor).
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-social-graph.graphgetsuggestedfollowsbyactor
      with:
        actor: tools.actor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-creates-mute-relationship-specified
      description: Bluesky Creates a mute relationship for the specified account.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphmuteactor
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-creates-mute-relationship-specified-2
      description: Bluesky Creates a mute relationship for the specified list of accounts.
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphmuteactorlist
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-mutes-thread-preventing-notifications
      description: Bluesky Mutes a thread preventing notifications from the thread and any of its children.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphmutethread
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-unmutes-specified-account
      description: Bluesky Unmutes the specified account.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphunmuteactor
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-unmutes-specified-list-accounts
      description: Bluesky Unmutes the specified list of accounts.
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphunmuteactorlist
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-unmutes-specified-thread
      description: Bluesky Unmutes the specified thread.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-social-graph.graphunmutethread
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.