# files_upload

A write tool on the Slack MCP server.

Agent View of the PolicyLayer registry record for `files_upload`. HTML page: https://policylayer.com/tools/karbassi-slack-mcp/files-upload

## Facts

- Tool: `files_upload`
- 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": "files_upload",
    "arguments": {}
  }
}
```

## Why files_upload is rated Medium

File uploads create new data or modify existing file storage in Slack. This is reversible (files can be deleted), so it is Write rather than Destructive. Severity is high because an AI agent could upload malicious files, credentials, or sensitive content to shared workspaces without authorization, with broad organizational impact.

From the tool's own definition: "Tool name 'files_upload' combined with server description stating 'Provides LLMs full access to Slack: messages, channels, files, canvases, lists' indicates file creation/modification capability."

## Use case

AI agents use files_upload 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": {
    "files_upload": {
      "limits": [
        {
          "counter": "files_upload_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
