Metadata-Version: 2.4
Name: mcp-slack-crunchtools
Version: 0.1.2
Summary: Secure read-only MCP server for Slack workspaces
Author: crunchtools.com
License-Expression: AGPL-3.0-or-later
License-File: LICENSE
Keywords: fastmcp,mcp,read-only,slack
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: fastmcp>=2.0
Requires-Dist: httpx>=0.28
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: mypy>=1.13; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# mcp-slack-crunchtools

Secure read-only MCP server for Slack workspaces. Provides Claude Code (and other MCP clients) with access to your Slack channels, messages, users, and files without any write permissions.

## Features

- **Read-only**: 15 tools, all read-only. Never posts, edits, or deletes anything.
- **Secure**: 6-layer security model (input validation, token handling, client hardening, output sanitization, runtime protection, supply chain security).
- **User OAuth Token**: Uses `xoxp-` tokens for user-scoped access to your workspace.
- **No SDK dependency**: Uses `httpx` directly for minimal, auditable HTTP calls.

## Quick Start

### Using uvx (Recommended)

```bash
claude mcp add mcp-slack-crunchtools \
    --env SLACK_USER_TOKEN=xoxp-your-token \
    -- uvx mcp-slack-crunchtools
```

### Using Container

```bash
claude mcp add mcp-slack-crunchtools \
    --env SLACK_USER_TOKEN=xoxp-your-token \
    -- podman run -i --rm -e SLACK_USER_TOKEN quay.io/crunchtools/mcp-slack
```

### Local Development

```bash
claude mcp add mcp-slack-crunchtools \
    --env SLACK_USER_TOKEN=xoxp-your-token \
    -- uv run mcp-slack-crunchtools
```

## Setup

See [CLAUDE.md](CLAUDE.md) for detailed instructions on creating a Slack app and obtaining a User OAuth Token.

## Tools

| Tool | Description |
|------|-------------|
| `slack_auth_test` | Test connection and get token owner info |
| `slack_list_channels` | List workspace channels |
| `slack_get_channel_info` | Get channel details |
| `slack_get_channel_history` | Read channel messages |
| `slack_get_thread_replies` | Read thread replies |
| `slack_list_channel_members` | List channel members |
| `slack_search_messages` | Search messages |
| `slack_get_reactions` | Get message reactions |
| `slack_list_reactions` | List user's reactions |
| `slack_list_stars` | List starred items |
| `slack_get_user_info` | Get user details |
| `slack_list_users` | List workspace members |
| `slack_get_user_profile` | Get user profile |
| `slack_list_files` | List files (metadata only) |
| `slack_get_file_info` | Get file metadata |

## Security

See [SECURITY.md](SECURITY.md) for the full security design document.

## License

AGPL-3.0-or-later

<!-- mcp-name: io.github.crunchtools/slack -->
