5 ms·
Show HN: Slack CLI for Agents
Our team lives in Slack, but we don’t have access to the Slack MCP and couldn’t find anything out there that worked for us, so we coded our own agent-slack CLI
* Can paste in Slack URLs
* Token efficient
* Zero-config (auto auth if you use Slack Desktop)
Auto downloads files/snippets.
Also can read Slack canvases as markdown!
MIT License
- t0dorakis 7mo agoNice! Fits very well to my cli based cron job deamon for agents https://github.com/t0dorakis/murmur https://github.com/t0dorakis/murmur
- deleted 8mo ago[deleted]
- BlueOrigin50 8mo agoOh nice. I just installed and it works pretty well. It wasn't able to find the user names on the thread though.
- nwparker 8mo agoYou could ask it to convert the names (and it would), since it uses the slack internal userIds But I will add a flag to do for `slack message read/list`, since it makes sense.
- slopusila 7mo agohow about support for "auth import-token" so you dont need to keep SLACK_TOKEN in env
- Hansenq 7mo agoOh this is smart! Reading where Slack stores the local data in your filesystem instead of using their API/MCP (which they charge for). Very clever; similar to OpenAI launching Atlas when websites start blocking bot requests--just build your own browser so your bot becomes an actual user.
- user3939382 7mo agoI built this exact solution months ago, digging up Slack’s local storage but it failed because they had encryption on the db and the keys weren’t my account keys. Curious to see how they did it
- Wuzzy 7mo agoI believe in an MCP-less future of agent-service interactions and have recently submitted this general alternative (which also supports Slack) based on curl: https://github.com/imbue-ai/latchkey https://github.com/imbue-ai/latchkey With that said, a specialized tool like this will almost certainly work better if Slack is the only service you want your agents to interact with. I like that the auth is transparent.
- tacone 7mo agoI am asking my agents to use HTTPie this day, it's more understandable for them in case of error.
- barrenko 7mo agoCare to write more about this?
- Wuzzy 7mo agoI think that a curl wrapper could serve as a universal integration with arbitrary services (as long as they have a public API), saving you a lot of setup complexity and context space. Authentication is the hard part; ideally, you shouldn't even need an OAuth intermediary. Which I think is doable: https://news.ycombinator.com/item?id=46876636 https://news.ycombinator.com/item?id=46876636. It's still a bit of an experiment, though.
- apimade 7mo agoWarning: in Enterprise (Grid) your account will likely be flagged as hijacked, and all of your sessions will be killed. Slack implemented session hijacking detection a while ago, and using LLM’s without throttling will very likely result in alerts. If you’re on Enterprise; I’d suggest re-slopping a re-implementation of this with ghost Chrome puppeteer.
- mogili1 7mo agoI ended up vibe coding a script that uses slack token from the browser to download my messages locally. It's not been flagged yet. But my account got flagged when I tried slackdump.
- nwparker 7mo agoI don't use Slack Grid, but if you open an issue I'm more than happy to work with you on it!
- impulser_ 7mo agoI'm glad more people are catching onto lightweight CLI tools and using skills to give llms more tools. It's way better than MCP. I been doing this for awhile now and it's just the best way to gets LLMs to do things with APIs built for humans.
- humanperhaps 7mo agoFrom my perspective, this also marks the shift towards agent skills instead of MCP, since agent skills rely on CLI tools. To me, this is also better than MCP since third-party developers can easily reuse existing APIs and libraries instead of needing official MCP support.
- andreagrandi 7mo agosame! I personally released a couple of CLIs (written using Claude Code) which I regularly use for my work: logbasset (to access Scalyr logs) and sentire (to access Sentry issues). I never use them manually, I wrote them to be used well by LLMs. I think they are lighter compared to an MCP.
- FranklinJabar 7mo agoUsing slack makes me so depressed. The interactions we have today pale in comparison to what we had in IRC 30 years ago. Of course I accept we're stuck with slack. I just have no clue what to write with such a limited interface. The above posted link is a great example of making the most of a tiny interface and coming up short compared to... 30 years ago
- stavros 7mo agoThere are some great alternatives, like Zulip and Twist. Unfortunately, ~nobody uses them.
- nwparker 7mo agoSlack Connect just has a network effect, TBH. It's hard to move away.
- iso1631 7mo ago90% of people on IRC in the 90s used mIRC or BitchX. What features are missing in the modern slack client?
- FranklinJabar 7mo agoWell for one, you had control of the client. Writing extensions, bots, useful scripts was trivial. Slack is rotted enterprise and webhook laden mess in comparison
- lox 7mo agoI just built something very similar too: https://github.com/lox/slack-cli https://github.com/lox/slack-cli
- mhog_hn 7mo agoFor the CLI > MCP folks: https://cliwatch.com/ https://cliwatch.com/
- theanonymousone 7mo agoHaha. Nobody ever cared that some humans preferred to use services via a CLI versus GUI. But now that "AI" needs it, CLI programs and APIs get released left and right :D
- usefulposter 7mo agoSo true! And now, since bloated agent harnesses like Claude Code are the hot thing, AI promoters are calling MCP obsolete! (No need for HN's summer 2025 fad. Just write CLI tools!)
- theanonymousone 7mo agoTo me it never really clicked what MCP was/is, so I'm pretty happy with this development.
- stavros 7mo agoIt's an extremely verbose way to list API endpoints.
- IMTDb 7mo agoIt’s not that nobody cared, it’s that the cost of building and maintaining CLIs, relative to the usage they got, often didn’t make economic sense. In fact, this is the first time I’ve seen someone want to use Slack via a CLI, not a TUI, an actual CLI. APIs, on the other hand, had plenty of real usage and made business sense, so most services offered them. With AI, two things have changed: (1) the cost of building a CLI on top of a documented API has dropped a lot, and (2) there’s a belief that “designed for agents” CLIs will enable new kinds of usage that weren’t practical before and that will move the needle on the bottom line.
- swyx 7mo ago> we don’t have access to the Slack MCP ok, why?
- Raed667 7mo ago> The Slack MCP server is currently being rolled out to select partners.
- swyx 7mo agowhat about a way to read channels rather than messages? seems missing? also... any shortcut for UNREAD messages? for yknow making a recap
- nwparker 7mo agoThere's a few open issues/PRs that I'm working on getting in! Feel free to drop any request there (it's the best way for me to track it). For UNREAD messages... Sadly, I'm not sure that Slack has an official API for that. There may be an "unofficial" API there that we could discover, but I'm hesitant for adding support there. With that being said, it's not that I wouldn't entertain the idea (it would be REALLY useful) but it would require a bit more thought.
- swyx 7mo agothanks yeah... am a total noob to the api so have no idea but i guess just based on principle if you can see everything the slack webapp sees then it stands to reason the info about the unread messages is SOMEWHERE in there
- nwparker 7mo agoYeah you're definitely right, it's there. It's just an API they document so it's subject to change etc (which presents some challenges)
- mprsai 7mo agoAre you primarily using this for answering Slack threads and simplifying understanding of large threads? In addition to this, what else could it be used for? Trying to understand what all possibilities are unlocked with this