{"id":32469485,"url":"https://github.com/kitproj/slack-cli","last_synced_at":"2026-05-17T09:36:01.045Z","repository":{"id":318804610,"uuid":"1076559363","full_name":"kitproj/slack-cli","owner":"kitproj","description":"Slack CLI - a CLI for coding agents","archived":false,"fork":false,"pushed_at":"2025-10-15T04:00:38.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-15T13:32:01.432Z","etag":null,"topics":["slack"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitproj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T03:17:35.000Z","updated_at":"2025-10-15T04:00:41.000Z","dependencies_parsed_at":"2025-10-16T02:42:00.030Z","dependency_job_id":null,"html_url":"https://github.com/kitproj/slack-cli","commit_stats":null,"previous_names":["kitproj/slack-cli"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/kitproj/slack-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fslack-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fslack-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fslack-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fslack-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitproj","download_url":"https://codeload.github.com/kitproj/slack-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fslack-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281130784,"owners_count":26448690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["slack"],"created_at":"2025-10-26T15:59:20.420Z","updated_at":"2026-05-17T09:36:01.038Z","avatar_url":"https://github.com/kitproj.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slack CLI \u0026 MCP Server\n\nA Slack CLI and MCP server that allows you to send Slack messages. Inspired by the GitHub CLI, it aims to provide a simple and efficient way for humans and AI to interact with Slack from the command line or via MCP.\n\nLike `jq`, it is packaged in a tiny (10Mb) binary, without the need to install a runtime such as Node.js or Python, and securely stores your secret in the key-ring, rather than in plain-text.\n\nIt's aimed at coding agents with a very simple interface, and is not intended to be a full-featured Slack client.\n\n## Installation\n\nDownload the binary for your platform from the [release page](https://github.com/kitproj/slack-cli/releases).\n\n```bash\nVERSION=v0.0.13\nPLATFORM=$(uname -s | tr '[:upper:]' '[:lower:]')\nARCH=$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')\nsudo curl -fsL -o /usr/local/bin/slack https://github.com/kitproj/slack-cli/releases/download/${VERSION}/slack_${VERSION}_${PLATFORM}_${ARCH}\nsudo chmod +x /usr/local/bin/slack\n```\n\n## Configuration\n\n### Getting Your Slack API Token\n\n1. Visit https://api.slack.com/apps\n2. Create a new app or select an existing one\n3. Navigate to \"OAuth \u0026 Permissions\"\n4. Add the following Bot Token Scopes:\n   - `chat:write` - Send messages\n   - `users:read.email` - Look up users by email\n5. Install the app to your workspace\n6. Copy the \"Bot User OAuth Token\" (starts with `xoxb-`)\n\n### Configuring the Token\n\nFor security, the Slack token is stored in your system keyring (login keyring). Configure it once:\n\n```bash\necho \"xoxb-your-slack-token\" | slack configure\n```\n\nOr configure it interactively (token input will be hidden):\n\n```bash\nslack configure\n```\n\nAlternatively, you can use the `SLACK_TOKEN` environment variable:\n\n```bash\nexport SLACK_TOKEN=\"xoxb-your-slack-token\"\n```\n\n**Note:** Using the keyring is more secure in multi-user systems as environment variables are visible in the process list.\n\n## Usage\n\n### Direct CLI Usage\n\n```bash\nUsage:\n  slack configure                                            - configure Slack token (reads from stdin)\n  slack send-message \u003cchannel|email\u003e \u003cmessage\u003e [thread-ts]   - send a message (optionally reply to a thread)\n  slack mcp-server                                           - start MCP server (Model Context Protocol)\n```\n\n**Examples:**\n\n```bash\n# Send a message (prints thread-ts for starting a thread)\nslack send-message alex_collins@intuit.com \"I love this tool! It makes Slack integration so easy.\"\n# Output:\n# Message sent to alex_collins@intuit.com (U12345678)\n# thread-ts: 1234567890.123456\n\n# Reply to a message in a thread (use the thread-ts from the previous message)\nslack send-message alex_collins@intuit.com \"Thanks for the feedback!\" \"1234567890.123456\"\n# Output:\n# Reply sent to alex_collins@intuit.com (U12345678) in thread 1234567890.123456\n```\n\n**Sending to a Channel by ID:**\n```bash\nslack send-message C1234567890 \"Hello team! 👋\"\n```\n\n**Using Markdown Formatting:**\n```bash\nslack send-message alex_collins@intuit.com \"**Bold**, *italic*, ~~strikethrough~~, [link](https://example.com)\"\n```\n\n### Markdown Support\n\nMessages automatically convert Markdown to Slack's Mrkdwn format. Supported features:\n\n- **Bold**: `**text**` or `__text__` → `*text*`\n- **Italic**: `*text*` or `_text_` → `_text_` (single underscores already in Mrkdwn format)\n- **Strikethrough**: `~~text~~` → `~text~`\n- **Inline code**: `` `code` `` (unchanged)\n- **Links**: `[text](url)` → `\u003curl|text\u003e`\n- **Code blocks**: ` ```language\\ncode\\n``` ` (language identifier removed)\n- **Unordered lists**: `* item` or `- item` → `• item`\n- **Ordered lists**: `1. item` (unchanged)\n\n### Finding Channel IDs\n\nTo get a channel ID in Slack:\n1. Right-click on the channel name\n2. Select \"Copy\" → \"Copy link\"\n3. The channel ID is the part after the last slash (e.g., `C1234567890`)\n\n### MCP Server Mode\n\nThe MCP (Model Context Protocol) server allows AI assistants and other tools to interact with Slack. This enables seamless integration with AI coding assistants and other automation tools.\n\n**Setup:**\n\n1. First, configure your Slack token (stored securely in the system keyring):\n   ```bash\n   echo \"xoxb-your-slack-token\" | slack configure\n   ```\n\n2. Add the MCP server configuration to your MCP client:\n   ```json\n   {\n     \"mcpServers\": {\n       \"slack\": {\n         \"command\": \"slack\",\n         \"args\": [\"mcp-server\"]\n       }\n     }\n   }\n   ```\n\nThe server exposes the `send_message` tool with the following parameters:\n- `identifier` - Slack channel ID (e.g., 'C1234567890') or user email address (e.g., 'user@example.com')\n- `message` - The message to send (supports Markdown formatting)\n- `thread_ts` - Optional: The thread timestamp of the parent message to reply to (e.g., '1234567890.123456'). When provided, the message will be sent as a threaded reply.\n\n**Example usage from an AI assistant:**\n\u003e \"Slack alex_collins@intuit.com to say how much you like this tool.\"\n\u003e \"Reply to that Slack message with a thumbs up emoji.\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitproj%2Fslack-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitproj%2Fslack-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitproj%2Fslack-cli/lists"}