The repository calls itself a demo and the shape follows: one provider, a hard-coded filter, a build step and an absolute path in your config. What it does show is worth understanding — actions are loaded from ActionKit at runtime for a specific Paragon user, so what the agent can do in Slack is exactly what that person authorised and nothing more.
A demo MCP server for ActionKit. It loads ActionKit's action catalogue for the signed-in Paragon user and filters it down to Slack; that filter lives in `index.ts` and can be removed to expose the rest.
- ActionKit's Slack actions available as tools, acting on behalf of the authenticated user
- Scope set by one line of code — remove the Slack filter in `index.ts` and the other ActionKit actions come through
- A visible check that it worked: a hammer icon listing the Slack tools and a plug icon showing the connection
Paragon credentials in three environment variables — `PARAGON_PROJECT_ID`, `SIGNING_KEY`, and `USER` set to the user authenticated in the Paragon Connect Portal. That user has to have authorised Slack, or the Slack tools cannot act on their behalf. Clone the repository, `npm install`, `npm run build`, and point Claude Desktop at `build/index.js` with an absolute path.
Build from source — clone the repository and build it, then point your client at the binary
