Skip to content

millionco/pookie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pookie

Pookie is a Slack bot for searching your Slack.

Tag it in any channel or thread, and it replies with what you're looking for. It can also generate images, run Python on attached files, search the web, and connect to other tools through MCP.

View demo

Install

1. Managed

The hosted version of Pookie. Click the button, pick a workspace, approve the scopes. Good if you want to try it without setting up infra.

Add to Slack

2. Self-Hosted

Run Pookie on your own infra. Your Slack tokens, OpenAI key, and Redis stay with you. Good if you need data residency, an air-gapped network, or want to fork the agent.

Option 1: Vercel (one click, includes managed Redis)

Deploy with Vercel

Easiest if you already use Vercel. The deploy flow provisions an Upstash Redis instance and injects REDIS_URL for you.

Set these env vars before deploying:

  • OPENAI_API_KEY: your OpenAI API key.
  • SLACK_ENCRYPTION_KEY: a 32-byte hex string used to encrypt OAuth tokens and MCP credentials in Redis. Generate one with openssl rand -hex 32.
  • IS_SELF_DEPLOYED=true: tells /install to show the post-deploy setup wizard instead of the cloud marketing flow. (Docker-based hosts below set this automatically via the Dockerfile.)

For the three Slack values (SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_SIGNING_SECRET), use placeholder strings on first deploy. You'll replace them after the bundled /install wizard creates your Slack app.

Option 2: Railway (one click, includes managed Redis)

Deploy on Railway

Provisions Pookie + Redis on Railway. Provide an OPENAI_API_KEY and leave the Slack values at their defaults. You'll fill them in after the first deploy via the bundled /install wizard.

Option 3: Docker (Fly, Render, Cloud Run, your VPS)

The repo ships a standard Dockerfile (Next.js standalone) plus a docker-compose.yml that brings up Pookie + Redis locally:

git clone https://github.com/millionco/pookie
cd pookie
OPENAI_API_KEY=... docker compose up
# visit http://localhost:3000/install to wire up Slack

The same image runs on Fly.io, Render, Cloud Run, Kubernetes, or your own VPS.

Guided walkthrough

For anything bespoke, or to walk through the full setup with an agent:

Fetch https://getpookie.com/install.md and help me install Pookie

That URL returns an agent skill covering both paths (managed and self-host). The agent will ask which one you want and walk you through it.

To follow the guide by hand, see apps/api/docs/install.md.

Usage

In Slack:

@pookie find the thread where ray shipped the new pricing page
@pookie summarize what happened in #eng-platform this week
@pookie what's our policy on travel reimbursements

In a DM you can skip the mention. Pookie also responds in any thread it has been pulled into.

To invite Pookie to a channel, run /invite @pookie. Pookie only sees channels it has been invited to.

Slash commands

Command What it does
/help Summary of what Pookie can do.
/mcp-add <name> [url] Add an MCP server. Pass --channel or --global to share scope.
/mcp-list List connected MCP servers visible in this context.
/mcp-presets Show built-in preset names.
/mcp-status Check connection health for each connected server.
/mcp-remove <name> Disconnect a server.

The combined form (/mcp add <name>, /mcp list, etc.) also works.

Adding integrations via MCP

Pookie has presets for the most common Model Context Protocol servers. Run /mcp-add <name> and Pookie handles the OAuth handshake (or asks for a token, depending on the server):

Preset Description Auth
linear Linear projects, issues, cycles OAuth
github Repos, issues, PRs Token
sentry Errors, performance, releases OAuth
vercel Deployments, projects Token
stripe Payments, billing OAuth
posthog Product analytics OAuth
mercury Banking OAuth
axiom Observability and logs OAuth
cloudflare Workers, DNS, API OAuth
supabase Databases and projects OAuth
neon Postgres databases and branches OAuth
planetscale MySQL databases OAuth
pagerduty Incident management OAuth
render Deployments and services OAuth
exa Web search OAuth
repogrep Search across public GitHub repos None

Examples

Add an OAuth preset. Pookie replies with an authorization link the first time:

/mcp-add linear

Add a token preset. Pass the token inline:

/mcp-add github ghp_xxxxxxxxxxxxxxxxxxxx
/mcp-add vercel vercel_xxxxxxxxxxxxxxxxxxxx

Add more than one account of the same preset by appending an alias suffix:

/mcp-add linear_personal
/mcp-add linear_work
/mcp-add github_oss ghp_xxxxxxxxxxxxxxxxxxxx

Add a server that isn't in the preset list:

/mcp-add my-server https://my-server.example.com/mcp

Change scope. By default a connection is personal; pass --channel to share it with everyone in the current channel, or --global (admin only) to make it available workspace-wide:

/mcp-add linear --channel
/mcp-add sentry --global

Manage existing connections:

/mcp-list
/mcp-status
/mcp-remove linear_work

Scopes

  • Personal (default). Only you. Lives on your user.
  • Channel (--channel). Anyone in the current channel.
  • Global (--global). Available across the workspace. Slack workspace admins and owners only.

Resources & Contributing Back

Want to try it? Check out our demo.

Looking to contribute? Check out the Contributing Guide.

Want to talk to the community? Hop in our Discord and share your ideas and what you've built with Pookie.

Find a bug? Head over to our issue tracker and we'll do our best to help.

We expect all contributors to abide by the terms of our Code of Conduct.

Start contributing on GitHub

License

Pookie is FSL-1.1-MIT-licensed open-source software. See LICENSE.

About

a helper in your slack

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages