Slack bot that queries Claude Code via the DuckDB ACP extension.
The ACP extension wraps Claude Code, giving it access to a DuckDB instance (read-only: no write, update, or delete capabilities) with NO access to the local filesystem or bash shell.
Let anyone on your team interrogate data in plain English, not just "data people." Ask a question in Slack, get results back as a CSV.
uvx duckdb-claude-slack- Create a Slack app using the manifest in
slack_manifest.json - Enable Socket Mode and generate an app token (
xapp-...) - Install to workspace and copy the bot token (
xoxb-...) - Set
SLACK_BOT_TOKENandSLACK_APP_TOKEN(supports dotenv) - Run
duckdb-claude-slack
--bot-token Slack Bot Token (xoxb-...) [env: SLACK_BOT_TOKEN]
--app-token Slack App Token (xapp-...) [env: SLACK_APP_TOKEN]
--db Database file to attach
--db-name Name for attached database (default: filename)
--init-sql Path to SQL file to run on startup
Auto-loads .env and .env.local from current directory.
Attach a database:
duckdb-claude-slack --db /path/to/sales.duckdbWith custom name:
duckdb-claude-slack --db /path/to/data.duckdb --db-name mydataRun init SQL on startup (install extensions, attach remote DBs, etc.):
duckdb-claude-slack --init-sql init.sqlMention the bot in Slack:
@Claude DuckDB show me the top 10 customers by revenue
Results are returned as a CSV attachment.
