# users_set_photo

A write tool on the Slack MCP server.

Agent View of the PolicyLayer registry record for `users_set_photo`. HTML page: https://policylayer.com/tools/karbassi-slack-mcp/users-set-photo

## Facts

- Tool: `users_set_photo`
- Server: Slack (`karbassi/slack-mcp`) — https://policylayer.com/tools/karbassi-slack-mcp.md
- Homepage: https://github.com/karbassi/slack-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "users_set_photo",
    "arguments": {}
  }
}
```

## Why users_set_photo is rated Medium

This tool modifies user profile information (photo) but does not delete or destroy data, nor does it execute arbitrary code or move money. It's reversible (the photo can be changed again), making it Write rather than Destructive. Severity is medium because unauthorized photo changes could impact user identity/trust but have limited blast radius compared to destructive or financial actions.

From the tool's own definition: "Tool name 'users_set_photo' indicates it sets/modifies a user's photo. The server description confirms it provides 'full access to Slack' with 220 tools. Setting a photo is a reversible modification of user profile data."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Slack (232)

- `apps_manifest_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/apps-manifest-delete.md
- `apps_uninstall` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/apps-uninstall.md
- `auth_revoke` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/auth-revoke.md
- `bookmarks_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/bookmarks-remove.md
- `cache_clear` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/cache-clear.md
- `calls_participants_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/calls-participants-remove.md
- `canvases_access_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/canvases-access-delete.md
- `canvases_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/canvases-delete.md
- `channels_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/channels-delete.md
- `chat_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/chat-delete.md
- `chat_delete_scheduled_message` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/chat-delete-scheduled-message.md
- `conversations_kick` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/conversations-kick.md
- `drafts_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/drafts-delete.md
- `emoji_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/emoji-remove.md
- `files_comments_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/files-comments-delete.md
- `files_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/files-delete.md
- `files_remote_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/files-remote-remove.md
- `files_revoke_public_url` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/files-revoke-public-url.md
- `pins_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/pins-remove.md
- `reactions_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/reactions-remove.md
- `reminders_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/reminders-delete.md
- `saved_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/saved-delete.md
- `slack_lists_access_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/slack-lists-access-delete.md
- `slack_lists_items_delete` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/slack-lists-items-delete.md
- `slack_lists_items_delete_multiple` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/slack-lists-items-delete-multiple.md
- `stars_remove` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/stars-remove.md
- `team_external_teams_disconnect` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/team-external-teams-disconnect.md
- `users_admin_set_inactive` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/users-admin-set-inactive.md
- `users_delete_photo` — Destructive — https://policylayer.com/tools/karbassi-slack-mcp/users-delete-photo.md
- `apps_connections_open` — Execute — https://policylayer.com/tools/karbassi-slack-mcp/apps-connections-open.md
- …and 202 more: https://policylayer.com/tools/karbassi-slack-mcp.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=karbassi-slack-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/karbassi-slack-mcp
