91
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
Haha. 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
It’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.
So 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!)
To me it never really clicked what MCP was/is, so I'm pretty happy with this development.
It's an extremely verbose way to list API endpoints.
I'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.
From 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.
same! 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.
I 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
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.
I am asking my agents to use HTTPie this day, it's more understandable for them in case of error.
Care to write more about this?
Oh 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.
I 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
Warning: 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.
I 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.
I don't use Slack Grid, but if you open an issue I'm more than happy to work with you on it!
For the CLI > MCP folks: https://cliwatch.com/
Nice! Fits very well to my cli based cron job deamon for agents https://github.com/t0dorakis/murmur
Oh nice. I just installed and it works pretty well. It wasn't able to find the user names on the thread though.
You 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.
I just built something very similar too: https://github.com/lox/slack-cli
what about a way to read channels rather than messages? seems missing?
also... any shortcut for UNREAD messages? for yknow making a recap
Using 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
There are some great alternatives, like Zulip and Twist. Unfortunately, ~nobody uses them.
90% of people on IRC in the 90s used mIRC or BitchX. What features are missing in the modern slack client?
> we don’t have access to the Slack MCP
ok, why?
> The Slack MCP server is currently being rolled out to select partners.
how about support for "auth import-token" so you dont need to keep SLACK_TOKEN in env