mcp server
im-sorry-dave-youre-fired
Personal project to research MCP client/server infrastructure on a real work example
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- Node.js 20 or newer
{
"mcpServers": {
"im-sorry-dave-youre-fired": {
"command": "npx",
"args": [
"-y",
"im-sorry-dave-youre-fired"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 26, 2026I'm Sorry Dave, You're Fired (Or Promoted?)
Let's be honest: nobody likes writing end-of-year enterprise performance reviews. You spend all year shipping code, then suddenly need to remember how many tickets you closed in March and write an essay about your "synergistic impact."
This CLI tool fixes that. Plug in your data sources, paste your HR department's assessment questions, and add a few notable project titles. Then watch your API tokens turn into a beautifully cited, data-backed performance review.
The Magic ✨
Sure, we could let an LLM hallucinate the whole thing. Management might not notice. You might not notice. Nobody remembers Q2 anyway.
But where is the fun in that? This project actually reviews your real work so the output is grounded in evidence and surprisingly useful.
Run the interactive wizard and it generates:
performance_review_<subject>_<timeframe>.md(the masterpiece)performance_review_<subject>_<timeframe>_references.md(the receipts and citations)
Privacy First
Your data is yours. No third-party SaaS servers, no shady org-wide GitHub app installations, and no leaking your proprietary code to a random web form. All API keys and OAuth sessions are stored strictly locally.
The Honest Disclaimer: Yes, the script does send your gathered data to your chosen AI model (Gemini/Claude/OpenAI) to write the review. But let's be real—you've been pasting your company's proprietary code into ChatGPT since 2022 to fix your regex, so that ship has already sailed. At least this time, it might get you a raise.
The "Holy Trinity" of Data Providers
To write a bulletproof review, the AI gathers context from three pillars of enterprise life:
- Code (GitHub): proves what you actually built and merged.
- Tasks (ClickUp): proves what business value you delivered.
- Comms (Slack - Beta): proves that you actually talk to your team.
Quick Start
Requirements:
- Node.js 20+
- Set up your model first so the AI can generate your review: Models Supported
- Set up your providers, based on what you want to include: Providers
Install dependencies:
npm install
Start interactive setup:
npm run dev
Or build and run:
npm run build
npm start
Models Supported
Gemini
Setup required
- Set
GOOGLE_GENERATIVE_AI_API_KEYin your environment. - Use a paid Google setup (not free tier); free projects currently route to flash-lite models only, which are out of scope for this tool.
Claude
Setup required
- Set
ANTHROPIC_API_KEYin your environment.
OpenAI
Setup required
- Coming soon.
Providers
This part is dry but necessary so the AI can read your data.
GitHub (Code)
This project uses the official GitHub CLI to search PRs and commits.
- Install
gh: GitHub CLI install guide - Authenticate locally:
gh auth login - For private repos, ensure token scopes include at least
repoandread:org - Check current auth scopes:
gh auth status -t
ClickUp (Tasks)
The ClickUp provider authenticates via OAuth in your browser.
- Run the setup wizard and follow prompts
- Make sure you are logged into your company ClickUp account in that browser
Slack (Comms - Beta)
Note: Slack MCP is available on Slack Pro and higher plans. Access may also depend on workspace policy, and admin approval may be required.
Use official Slack CLI steps first, then run this repo's verifier.
- Install Slack CLI and log in
slack login
- From this repository root, create your Slack app under
apps/from the in-repo template
slack create "$(pwd)/apps/im-sorry-slack" -t "$(pwd)/apps/templates/im-sorry-slack-template"
- Install/link the app in the generated project
cd apps/im-sorry-slack
slack app install --environment local
- Open app settings (from
apps/im-sorry-slackdirectory):
slack app settings
If CLI cannot open the browser, use:
https://api.slack.com/apps/<APP_ID>- You can copy
<APP_ID>from theslack app install --environment localoutput.
- In app settings, make sure:
- OAuth Redirect URLs include
http://localhost:3334/oauth/callback - Under Agents & AI Apps, Model Context Protocol is enabled
- direct page:
https://api.slack.com/apps/<APP_ID>/app-assistant - this MCP toggle is currently a Slack-side setting and is not automatically enabled by
slack app install
- direct page:
- You copy
client_idandclient_secretfrom Basic Information -> App Credentials
- Set local environment values in this repo's
.env:
SLACK_CLIENT_ID=your_client_id
SLACK_CLIENT_SECRET=your_client_secret
- Run the verifier script (required):
npm run setup:slack
The verifier will:
- verify Slack CLI is installed and your login is active
- trigger the Slack OAuth consent flow in your browser (this is where you connect the app to your workspace/user)
- confirm Slack MCP connectivity with your configured app credentials
- retry with guidance if MCP is not enabled yet for your app
- Naming and multi-user notes:
- Multiple developers can use the same app name (
im-sorry-slack) without collisions in practice, because each install is tracked by app ID/environment/workspace. --environment localkeeps this as a development install (im-sorry-slack (local)), separate from deployed/production environment.- If your workspace has many test apps with the same name, rely on
App IDfrom install output and open settings with:slack app settings- or
https://api.slack.com/apps/<APP_ID>
References:
Cleanup / Teardown (Slack MCP)
When you need to reset local Slack MCP state:
- Remove cached MCP OAuth tokens
npm run clean:mcp-auth
- Remove Slack credentials from this repo's
.env(SLACK_CLIENT_ID,SLACK_CLIENT_SECRET). - Uninstall or delete the test app in Slack:
- Open https://api.slack.com/apps
- Select the app you created
- Use workspace uninstall/delete options, or equivalent Slack CLI commands (
slack app uninstall,slack app delete)
Optional helper:
npm run clean:slack
This helper runs local cleanup and prints a teardown checklist. It does not remove your Slack app from the workspace.
Contributing
Want Jira support? GitLab? Microsoft Teams? Open a PR.
Adding a new provider or model is a great first issue, and your coworkers may thank you.
Disclaimer (!)
Review the AI output before sending it to your boss so you do not accidentally brag about a production outage!