slack-mcp-server


Nameslack-mcp-server JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with HTTP transport and multiuser support
upload_time2025-07-25 04:16:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords slack mcp model-context-protocol fastmcp http api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Slack MCP Server

A Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with HTTP transport and multiuser support.

## Features

### Tools
- **conversations_history** - Get messages from channels/DMs with pagination
- **conversations_replies** - Get thread messages with pagination  
- **conversations_add_message** - Post messages to channels/DMs (safety disabled by default)
- **conversations_search_messages** - Search messages with advanced filters
- **channels_list** - List all channels with sorting options

### Resources
- **slack://workspace/channels** - CSV directory of all channels with metadata
- **slack://workspace/users** - CSV directory of all users with metadata

## Installation

```bash
pip install -r requirements.txt
```

## Configuration

### Required Environment Variables
- `SLACK_MCP_XOXP_TOKEN` - Slack bot token (xoxb-) or user token (xoxp-)

### Optional Environment Variables
- `SLACK_MCP_ADD_MESSAGE_TOOL` - Enable message posting:
  - Not set = disabled (default for safety)
  - `true` or `1` = enabled for all channels
  - Comma-separated channel IDs = enabled only for specific channels

## Usage

### Start HTTP Server
```bash
python slack_mcp_server.py
```

Server runs on `http://0.0.0.0:8000/mcp` by default.

### Authentication
For multiuser support, pass the Slack token in request headers:
```
SLACK_MCP_XOXP_TOKEN: xoxb-your-slack-token
```

Optional message posting control via headers:
```
SLACK_MCP_ADD_MESSAGE_TOOL: true
```

Alternatively, set `SLACK_MCP_XOXP_TOKEN` environment variable for single-user mode.

## API Examples

### Get Channel History
```json
{
  "method": "conversations_history",
  "params": {
    "channel_id": "#general",
    "limit": "1d",
    "include_activity_messages": false
  }
}
```

### Search Messages
```json
{
  "method": "conversations_search_messages", 
  "params": {
    "search_query": "project update",
    "filter_in_channel": "#general",
    "filter_users_from": "@john",
    "limit": 50
  }
}
```

### Get Channels Directory
```json
{
  "method": "resource",
  "params": {
    "uri": "slack://myworkspace/channels"
  }
}
```

## Slack Permissions

Required scopes for your Slack app:
- **channels:history** - Read public channel messages
- **groups:history** - Read private channel messages  
- **im:history** - Read direct messages
- **mpim:history** - Read group direct messages
- **channels:read** - List public channels
- **groups:read** - List private channels
- **users:read** - List workspace users
- **chat:write** - Post messages (if enabled)

## Security

- Message posting disabled by default for safety
- Token-based authentication for multiuser support
- No secrets logged or committed to repository
- Follows Slack API rate limits and best practices

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "slack-mcp-server",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "slack, mcp, model-context-protocol, fastmcp, http, api",
    "author": null,
    "author_email": "Your Name <your.email@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/13/29/aa394d88c10ee29a300ec9040b785dd24f535b50fb533b2c9a84db5e2251/slack_mcp_server-0.1.2.tar.gz",
    "platform": null,
    "description": "# Slack MCP Server\n\nA Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with HTTP transport and multiuser support.\n\n## Features\n\n### Tools\n- **conversations_history** - Get messages from channels/DMs with pagination\n- **conversations_replies** - Get thread messages with pagination  \n- **conversations_add_message** - Post messages to channels/DMs (safety disabled by default)\n- **conversations_search_messages** - Search messages with advanced filters\n- **channels_list** - List all channels with sorting options\n\n### Resources\n- **slack://workspace/channels** - CSV directory of all channels with metadata\n- **slack://workspace/users** - CSV directory of all users with metadata\n\n## Installation\n\n```bash\npip install -r requirements.txt\n```\n\n## Configuration\n\n### Required Environment Variables\n- `SLACK_MCP_XOXP_TOKEN` - Slack bot token (xoxb-) or user token (xoxp-)\n\n### Optional Environment Variables\n- `SLACK_MCP_ADD_MESSAGE_TOOL` - Enable message posting:\n  - Not set = disabled (default for safety)\n  - `true` or `1` = enabled for all channels\n  - Comma-separated channel IDs = enabled only for specific channels\n\n## Usage\n\n### Start HTTP Server\n```bash\npython slack_mcp_server.py\n```\n\nServer runs on `http://0.0.0.0:8000/mcp` by default.\n\n### Authentication\nFor multiuser support, pass the Slack token in request headers:\n```\nSLACK_MCP_XOXP_TOKEN: xoxb-your-slack-token\n```\n\nOptional message posting control via headers:\n```\nSLACK_MCP_ADD_MESSAGE_TOOL: true\n```\n\nAlternatively, set `SLACK_MCP_XOXP_TOKEN` environment variable for single-user mode.\n\n## API Examples\n\n### Get Channel History\n```json\n{\n  \"method\": \"conversations_history\",\n  \"params\": {\n    \"channel_id\": \"#general\",\n    \"limit\": \"1d\",\n    \"include_activity_messages\": false\n  }\n}\n```\n\n### Search Messages\n```json\n{\n  \"method\": \"conversations_search_messages\", \n  \"params\": {\n    \"search_query\": \"project update\",\n    \"filter_in_channel\": \"#general\",\n    \"filter_users_from\": \"@john\",\n    \"limit\": 50\n  }\n}\n```\n\n### Get Channels Directory\n```json\n{\n  \"method\": \"resource\",\n  \"params\": {\n    \"uri\": \"slack://myworkspace/channels\"\n  }\n}\n```\n\n## Slack Permissions\n\nRequired scopes for your Slack app:\n- **channels:history** - Read public channel messages\n- **groups:history** - Read private channel messages  \n- **im:history** - Read direct messages\n- **mpim:history** - Read group direct messages\n- **channels:read** - List public channels\n- **groups:read** - List private channels\n- **users:read** - List workspace users\n- **chat:write** - Post messages (if enabled)\n\n## Security\n\n- Message posting disabled by default for safety\n- Token-based authentication for multiuser support\n- No secrets logged or committed to repository\n- Follows Slack API rate limits and best practices\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Model Context Protocol (MCP) server for Slack workspace integration using FastMCP with HTTP transport and multiuser support",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/yourusername/slack-mcp-server",
        "Issues": "https://github.com/yourusername/slack-mcp-server/issues",
        "Repository": "https://github.com/yourusername/slack-mcp-server"
    },
    "split_keywords": [
        "slack",
        " mcp",
        " model-context-protocol",
        " fastmcp",
        " http",
        " api"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f6556d376bd532c78a3ffae42d35aecbd83563a00a1e635e094f97beb010f00e",
                "md5": "99e07b116df21efe7a67a2e16e041689",
                "sha256": "717bfae8cb4148147b4181fedc300e77b3e5dbb8adf1a52bd0808bfba160a79b"
            },
            "downloads": -1,
            "filename": "slack_mcp_server-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "99e07b116df21efe7a67a2e16e041689",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 7145,
            "upload_time": "2025-07-25T04:16:06",
            "upload_time_iso_8601": "2025-07-25T04:16:06.062720Z",
            "url": "https://files.pythonhosted.org/packages/f6/55/6d376bd532c78a3ffae42d35aecbd83563a00a1e635e094f97beb010f00e/slack_mcp_server-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1329aa394d88c10ee29a300ec9040b785dd24f535b50fb533b2c9a84db5e2251",
                "md5": "e6da99ee3143982a3ef3932205dc2c63",
                "sha256": "13a40d8eb1a8f251384a881337c4a414b5fcfee3c18e3b0e05667605e682fea2"
            },
            "downloads": -1,
            "filename": "slack_mcp_server-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e6da99ee3143982a3ef3932205dc2c63",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 6702,
            "upload_time": "2025-07-25T04:16:11",
            "upload_time_iso_8601": "2025-07-25T04:16:11.375150Z",
            "url": "https://files.pythonhosted.org/packages/13/29/aa394d88c10ee29a300ec9040b785dd24f535b50fb533b2c9a84db5e2251/slack_mcp_server-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 04:16:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yourusername",
    "github_project": "slack-mcp-server",
    "github_fetch_exception": true,
    "lcname": "slack-mcp-server"
}
        
Elapsed time: 2.55642s