# post_bluesky

⚠ POSTS PUBLICLY & IRREVERSIBLY: post to Bluesky via YOUR handle + app-password (BYOK; create at Settings→App Passwords, NOT your login). Max 300 chars. dry_run to preview.

Agent View of the PolicyLayer registry record for `post_bluesky`. HTML page: https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/post-bluesky

## Facts

- Tool: `post_bluesky`
- Server: Gateway (`https://wingmanprotocol.com/mcp`) — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway.md
- Homepage: https://github.com/WingmanProtocol-Agent-Gateway/wingman-agent-gateway
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 5 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `text` | string | yes | the post text (max 300) |
| `handle` | string | no | your WingMan handle (rate limiting) |
| `dry_run` | boolean | no | preview, don't post |
| `bsky_handle` | string | yes | your Bluesky handle, e.g. you.bsky.social |
| `app_password` | string | yes | an app password (not your account password) |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "post_bluesky",
    "arguments": {
      "text": "<text>",
      "bsky_handle": "<bsky_handle>",
      "app_password": "<app_password>"
    }
  }
}
```

## Why post_bluesky is rated Medium

The tool publishes a public post to Bluesky. While the description says 'irreversibly,' posts on social platforms can typically be deleted, making this closer to Write than Destructive. However, the public nature and reputational impact of a misused post (e.g., spam, harmful content posted under a real user's handle) justify high severity.

From the tool's own definition: "⚠ POSTS PUBLICLY & IRREVERSIBLY: post to Bluesky via YOUR handle + app-password"

## Use case

AI agents use post_bluesky to create or update resources in Gateway, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Gateway environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Gateway:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "post_bluesky": {
      "limits": [
        {
          "counter": "post_bluesky_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Gateway (270)

- `cancel_watch` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/cancel-watch.md
- `forget_memories` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/forget-memories.md
- `text_truncate_ellipsis` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/text-truncate-ellipsis.md
- `vault_delete` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/vault-delete.md
- `arena_call` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/arena-call.md
- `bitwise` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/bitwise.md
- `browse` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse.md
- `browse_back` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-back.md
- `browse_click` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-click.md
- `browse_close` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-close.md
- `browse_evaluate` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-evaluate.md
- `browse_fill` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-fill.md
- `browse_navigate` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-navigate.md
- `browse_open` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-open.md
- `browse_select` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-select.md
- `browse_solve_challenge` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-solve-challenge.md
- `browse_type` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-type.md
- `browse_wait_for` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-wait-for.md
- `coach_mission` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/coach-mission.md
- `dice_notation_roll` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/dice-notation-roll.md
- `gen_avatar_video` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-avatar-video.md
- `gen_id_portrait` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-id-portrait.md
- `gen_image` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-image.md
- `gen_video` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-video.md
- `hmac` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/hmac.md
- `markdown_to_html` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/markdown-to-html.md
- `matrix` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/matrix.md
- `regex_tester` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/regex-tester.md
- `request_handoff` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/request-handoff.md
- `retry_backoff` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/retry-backoff.md
- …and 240 more: https://policylayer.com/tools/com-wingmanprotocol-agent-gateway.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-wingmanprotocol-agent-gateway · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-wingmanprotocol-agent-gateway
