Bluesky · Capability

Bluesky Social API — Actor Profiles

Bluesky Social API — Actor Profiles. 7 operations. Lead operation: Bluesky Get private preferences attached to the current account.. Self-contained Naftiko capability covering one Bluesky business surface.

Run with Naftiko BlueskyActor Profiles

What You Can Do

GET
Actorgetpreferences — Bluesky Get private preferences attached to the current account.
/v1/xrpc/app-bsky-actor-getpreferences
GET
Actorgetprofile — Bluesky Get detailed profile view of an actor.
/v1/xrpc/app-bsky-actor-getprofile
GET
Actorgetprofiles — Bluesky Get detailed profile views of multiple actors.
/v1/xrpc/app-bsky-actor-getprofiles
GET
Actorgetsuggestions — Bluesky Get a list of suggested actors.
/v1/xrpc/app-bsky-actor-getsuggestions
POST
Actorputpreferences — Bluesky Set the private preferences attached to the account.
/v1/xrpc/app-bsky-actor-putpreferences
GET
Actorsearchactors — Bluesky Find actors (profiles) matching search criteria.
/v1/xrpc/app-bsky-actor-searchactors
GET
Actorsearchactorstypeahead — Bluesky Find actor suggestions for a prefix search term.
/v1/xrpc/app-bsky-actor-searchactorstypeahead

MCP Tools

bluesky-get-private-preferences-attached

Bluesky Get private preferences attached to the current account.

read-only idempotent
bluesky-get-detailed-profile-view

Bluesky Get detailed profile view of an actor.

read-only idempotent
bluesky-get-detailed-profile-views

Bluesky Get detailed profile views of multiple actors.

read-only idempotent
bluesky-get-list-suggested-actors

Bluesky Get a list of suggested actors.

read-only idempotent
bluesky-set-private-preferences-attached

Bluesky Set the private preferences attached to the account.

bluesky-find-actors-profiles-matching

Bluesky Find actors (profiles) matching search criteria.

read-only idempotent
bluesky-find-actor-suggestions-prefix

Bluesky Find actor suggestions for a prefix search term.

read-only idempotent

Capability Spec

bluesky-actor-profiles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Bluesky Social API — Actor Profiles
  description: 'Bluesky Social API — Actor Profiles. 7 operations. Lead operation: Bluesky Get private preferences attached
    to the current account.. Self-contained Naftiko capability covering one Bluesky business surface.'
  tags:
  - Bluesky
  - Actor Profiles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BLUESKY_API_KEY: BLUESKY_API_KEY
capability:
  consumes:
  - type: http
    namespace: bluesky-actor-profiles
    baseUri: https://bsky.social/xrpc
    description: Bluesky Social API — Actor Profiles business capability. Self-contained, no shared references.
    resources:
    - name: xrpc-app.bsky.actor.getPreferences
      path: /xrpc/app.bsky.actor.getPreferences
      operations:
      - name: actorgetpreferences
        method: GET
        description: Bluesky Get private preferences attached to the current account.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: xrpc-app.bsky.actor.getProfile
      path: /xrpc/app.bsky.actor.getProfile
      operations:
      - name: actorgetprofile
        method: GET
        description: Bluesky Get detailed profile view of an actor.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actor
          in: query
          type: string
          description: Handle or DID of account to fetch profile of.
          required: true
    - name: xrpc-app.bsky.actor.getProfiles
      path: /xrpc/app.bsky.actor.getProfiles
      operations:
      - name: actorgetprofiles
        method: GET
        description: Bluesky Get detailed profile views of multiple actors.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: actors
          in: query
          type: array
          required: true
    - name: xrpc-app.bsky.actor.getSuggestions
      path: /xrpc/app.bsky.actor.getSuggestions
      operations:
      - name: actorgetsuggestions
        method: GET
        description: Bluesky Get a list of suggested actors.
        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.actor.putPreferences
      path: /xrpc/app.bsky.actor.putPreferences
      operations:
      - name: actorputpreferences
        method: POST
        description: Bluesky Set the private preferences attached to the 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.actor.searchActors
      path: /xrpc/app.bsky.actor.searchActors
      operations:
      - name: actorsearchactors
        method: GET
        description: Bluesky Find actors (profiles) matching search criteria.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: q
          in: query
          type: string
          description: Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax
            is recommended.
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
    - name: xrpc-app.bsky.actor.searchActorsTypeahead
      path: /xrpc/app.bsky.actor.searchActorsTypeahead
      operations:
      - name: actorsearchactorstypeahead
        method: GET
        description: Bluesky Find actor suggestions for a prefix search term.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: q
          in: query
          type: string
          description: Search query prefix; not a full query string.
        - name: limit
          in: query
          type: integer
    authentication:
      type: bearer
      token: '{{env.BLUESKY_API_KEY}}'
  exposes:
  - type: rest
    namespace: bluesky-actor-profiles-rest
    port: 8080
    description: REST adapter for Bluesky Social API — Actor Profiles. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/xrpc/app-bsky-actor-getpreferences
      name: xrpc-app-bsky-actor-getpreferences
      description: REST surface for xrpc-app.bsky.actor.getPreferences.
      operations:
      - method: GET
        name: actorgetpreferences
        description: Bluesky Get private preferences attached to the current account.
        call: bluesky-actor-profiles.actorgetpreferences
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-getprofile
      name: xrpc-app-bsky-actor-getprofile
      description: REST surface for xrpc-app.bsky.actor.getProfile.
      operations:
      - method: GET
        name: actorgetprofile
        description: Bluesky Get detailed profile view of an actor.
        call: bluesky-actor-profiles.actorgetprofile
        with:
          actor: rest.actor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-getprofiles
      name: xrpc-app-bsky-actor-getprofiles
      description: REST surface for xrpc-app.bsky.actor.getProfiles.
      operations:
      - method: GET
        name: actorgetprofiles
        description: Bluesky Get detailed profile views of multiple actors.
        call: bluesky-actor-profiles.actorgetprofiles
        with:
          actors: rest.actors
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-getsuggestions
      name: xrpc-app-bsky-actor-getsuggestions
      description: REST surface for xrpc-app.bsky.actor.getSuggestions.
      operations:
      - method: GET
        name: actorgetsuggestions
        description: Bluesky Get a list of suggested actors.
        call: bluesky-actor-profiles.actorgetsuggestions
        with:
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-putpreferences
      name: xrpc-app-bsky-actor-putpreferences
      description: REST surface for xrpc-app.bsky.actor.putPreferences.
      operations:
      - method: POST
        name: actorputpreferences
        description: Bluesky Set the private preferences attached to the account.
        call: bluesky-actor-profiles.actorputpreferences
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-searchactors
      name: xrpc-app-bsky-actor-searchactors
      description: REST surface for xrpc-app.bsky.actor.searchActors.
      operations:
      - method: GET
        name: actorsearchactors
        description: Bluesky Find actors (profiles) matching search criteria.
        call: bluesky-actor-profiles.actorsearchactors
        with:
          q: rest.q
          limit: rest.limit
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-actor-searchactorstypeahead
      name: xrpc-app-bsky-actor-searchactorstypeahead
      description: REST surface for xrpc-app.bsky.actor.searchActorsTypeahead.
      operations:
      - method: GET
        name: actorsearchactorstypeahead
        description: Bluesky Find actor suggestions for a prefix search term.
        call: bluesky-actor-profiles.actorsearchactorstypeahead
        with:
          q: rest.q
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: bluesky-actor-profiles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Bluesky Social API — Actor Profiles. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: bluesky-get-private-preferences-attached
      description: Bluesky Get private preferences attached to the current account.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorgetpreferences
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-detailed-profile-view
      description: Bluesky Get detailed profile view of an actor.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorgetprofile
      with:
        actor: tools.actor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-detailed-profile-views
      description: Bluesky Get detailed profile views of multiple actors.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorgetprofiles
      with:
        actors: tools.actors
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-list-suggested-actors
      description: Bluesky Get a list of suggested actors.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorgetsuggestions
      with:
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-set-private-preferences-attached
      description: Bluesky Set the private preferences attached to the account.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-actor-profiles.actorputpreferences
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-find-actors-profiles-matching
      description: Bluesky Find actors (profiles) matching search criteria.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorsearchactors
      with:
        q: tools.q
        limit: tools.limit
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-find-actor-suggestions-prefix
      description: Bluesky Find actor suggestions for a prefix search term.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-actor-profiles.actorsearchactorstypeahead
      with:
        q: tools.q
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.