Skip to content

adityaarsharma/pickle

Repository files navigation

πŸ₯’ Pickle β€” AI Manager Productivity for Any MCP Host

MCP server + skills for managers and teams using ClickUp, Slack, and Microsoft Teams. ClickUp Brain shows your tasks. Slack AI shows your messages. Pickle shows if they match.

GitHub release License MCP Remote MCP Works with GitHub stars

What it is: An MCP server + (optional) skills for managers and engineering/product/marketing leads. Audits team performance across ClickUp, Slack, and Microsoft Teams. Compares standup commitments to task evidence.

Pickle is LLM-agnostic. The MCP server runs in any MCP-compatible AI client. The slash-command skills are a Claude Code / Claude Desktop convenience layer on top β€” everything Pickle does is also accessible by calling the MCP tools directly from Cursor, Codex, Cline, Continue, Zed, or your own MCP host.

πŸ‘‰ The official way to install Pickle is the Cloud

pickle.adityaarsharma.com β€” get a free key, paste one config block into Claude/Cursor/Codex/Cline, you're live in 60 seconds. No Node.js, no shell scripts, no maintenance.

This GitHub repo exists for transparency and self-host. The code is here so you can read it, audit it, and run it yourself if you want β€” but the supported, documented, recommended install path is the hosted Cloud. Self-host is unsupported.

Built by Aditya Sharma Β· No telemetry, no phone-home

Keywords: MCP Β· MCP Server Β· Model Context Protocol Β· Cursor Β· Codex Β· ClickUp AI Β· Slack AI Β· Microsoft Teams Β· Team Management Β· Standup Bot Β· Performance Report Β· Engineering Manager Β· AI Productivity Β· Self-Hosted AI Tool Β· LLM Agent Β· Project Management AI


Works with any MCP-compatible AI client

Pickle ships in two parts:

  1. The MCP server (the core) β€” a Node.js MCP server that talks to ClickUp, Slack, and Microsoft Graph. Runs locally. Works in any MCP host.
  2. The skills (optional, Claude-only) β€” SKILL.md files that turn the MCP tools into slash commands (/pickle-clickup, /pickle-slack, /pickle-teams, etc.) inside Claude Code / Claude Desktop.
Client MCP support How you use Pickle
Claude Code βœ… Install skills β†’ slash commands work
Claude Desktop βœ… Install MCP server β†’ call tools via prompt
Cursor βœ… Add MCP server in Settings β†’ Pickle tools appear
Codex (OpenAI Agent SDK) βœ… Register Pickle as an MCP tool source
Cline βœ… MCP server config β†’ Pickle tools available
Continue βœ… Add MCP server to ~/.continue/config.json
Zed βœ… MCP support added in 2025; configure as a context server
Goose βœ… goose extension add with the Pickle MCP path
Anything that speaks MCP βœ… Point it at https://pickle.adityaarsharma.com/mcp (remote) or ~/.claude/pickle-mcp/clickup/server.mjs (local)

The slash-command UX is the fastest path, but everything Pickle does (scanning DMs, building reports, drafting follow-ups) is achievable in any MCP host by calling the tools directly. The skills are convenience, not lock-in.


The problem Pickle solves

Your team logs 40 hours on a task. The status still says "in progress." The description is blank. The last comment was three weeks ago.

Your standup says "wrapping it up." Pickle says: there is no evidence of that.

No other tool compares what your team said they'd do against what the tasks actually show. ClickUp Brain summarises tasks. Slack AI summarises threads. Neither checks if the two match. Pickle does.


13 patterns Pickle catches that no native tool surfaces

Every pattern below is something Pickle detects automatically across ClickUp, Slack, and Teams. Each is a real failure mode that looks fine on the dashboard but isn't.

# Pattern What goes wrong What Pickle does
1 Empty hours 40h logged on a task, description blank, zero context Flags hours + task β€” "what did those hours buy?"
2 Stale "in progress" "In progress" for 6 weeks, no comment in 3 Names the task with days-since-last-update
3 Zombie tasks Assigned 30+ days, never mentioned in standup or DM Surfaces with link, age, hours, comment count
4 Standup copy-paste Same standup text 3+ days running = no real update Detects similarity, marks those days zero-evidence
5 Expired promises "By Friday" said Monday β†’ Tuesday now β†’ still open Tracks temporal commits, flags by exact quote
6 Blocker age Blocker raised 14 days ago, nobody cleared it Days-unresolved on every blocker, auto-πŸ”΄ at 14d
7 Effort-output mismatch 40h+ logged + still open + no comments in window Critical flag with hours + comment count cited
8 Ghost mode Silent in channels for 40%+ of the window Flags presence gap + checks if DM-active
9 DM-only completion "Done" claimed in DM, task card never updated Partial credit + card hygiene flag
10 Description quality "8h development" tells nothing about what shipped Scores description quality, not just hours
11 Manager-side blocker YOU are the bottleneck on someone's work Tracks tasks awaiting you, flags age
12 Cross-team handoff in DM Decision made in group DM never reaches the card Scans group DMs, links to relevant task
13 Recurring zombie Same task stale across 3+ reports = task graveyard "Recurring zombie" pattern with first-flag date

5 use cases Pickle is built for

Use case Replaces One command
Performance review prep 3 hours digging through history /pickle-clickup 30d β†’ full flag history
Returning from vacation β˜… Wall of 200+ unread messages /pickle-clickup 7d β†’ ranked 7 items
Auto-escalation Manual pattern matching across weeks Pickle flags stale tasks and expired promises automatically
Cross-platform sweep Checking ClickUp + Slack + Teams separately One session, three ecosystems, zero overlap

How you use Pickle

Pickle is one product. It reads three platforms β€” ClickUp, Slack, Microsoft Teams β€” and keeps each ecosystem isolated (data never crosses between them).

/pickle-clickup 24h          # what needs you in ClickUp β€” last 24h
/pickle-clickup 7d followup  # past week + draft follow-ups for stuff you're owed
/pickle-slack 24h            # same, from Slack
/pickle-teams 24h            # same, from Microsoft Teams (incl. Planner + meetings)

Each command scans every surface in that ecosystem β€” DMs, channels, group chats, task/card comments, threaded replies, assigned comments, reminders β€” and gives you a ranked inbox of what needs your action right now.


Why Pickle vs each platform's native AI

Every ecosystem now has its own AI: ClickUp Brain inside ClickUp, Slack AI inside Slack, Microsoft Copilot inside Teams. Each does one thing well β€” summarise what's inside that one tool. None of them can read across the others. None compare what your team said in chat against what the tasks actually show.

That cross-tool synthesis is the entire point of Pickle.

Pickle on ClickUp vs ClickUp Brain

(For a ClickUp user β€” what does Pickle do that Brain doesn't, inside ClickUp.)

Capability inside ClickUp ClickUp Brain Pickle
Summarises a task βœ… βœ…
Generates task descriptions for you βœ… β€”
Ranked inbox of comments + mentions across all your tasks ❌ βœ…
Treats unresolved task comments assigned to you as inbox items ❌ βœ…
Tracks comments you assigned to others (delegated work) ❌ βœ…
Flags time entries with empty / "8h development"-style descriptions ❌ βœ…
Detects zombie tasks (assigned, open 30+ days, no activity) ❌ βœ…
Compares standup chat messages against task evidence ❌ βœ…
Tracks blocker age across reports ❌ βœ…
Detects standup copy-paste (same text 3+ days) ❌ βœ…
Tracks expired promises ("by Friday") on tasks ❌ βœ…
Per-person weekly team performance report ❌ βœ…
Runs on your machine ❌ (cloud) βœ…

Where ClickUp Brain falls short: Brain writes for you β€” descriptions, summaries, action items. It doesn't audit. It can't tell you that a task has 40 hours logged with empty descriptions, or that the standup said "shipping today" 4 days ago. Pickle audits.

Pickle on Slack vs Slack AI

(For a Slack user β€” what does Pickle do that Slack AI doesn't, inside Slack.)

Capability inside Slack Slack AI Pickle
Summarises a thread or channel βœ… βœ…
Daily channel recap βœ… βœ…
Treats unanswered DMs as actionable inbox items ❌ βœ…
Tracks @mentions across channels with no reply from you ❌ βœ…
Tracks what YOU delegated and haven't heard back on (Mode B) ❌ βœ…
Drafts follow-up messages and waits for your approval ❌ βœ…
Refuses to send a 3rd nudge to the same person ❌ βœ…
Scores Slack messages by your role (founder vs dev vs marketer) ❌ βœ…
Reminds you back inside Slack when the scan finds something ❌ βœ…
Runs on your machine ❌ (cloud) βœ…

Where Slack AI falls short: Slack AI summarises. It doesn't follow up. A DM where someone's been waiting 4 days for your decision shows up in Pickle's inbox; Slack AI will tell you it exists if you ask, but won't surface it.

Pickle on Teams vs Microsoft Copilot for Teams

(For a Teams user β€” what does Pickle do that Copilot doesn't, inside Teams.)

Capability inside Teams Copilot for Teams Pickle
Summarises a meeting βœ… meeting action items only
Drafts replies in Teams βœ… β€”
Reads Planner tasks assigned to you βœ… βœ…
Treats unanswered 1:1 DMs + group chats as inbox items ❌ βœ…
Detects Approvals-app messages and adaptive cards as inbox items partial βœ…
Tracks delegated Planner tasks (you assigned, awaiting completion) ❌ βœ…
Pulls action items from meeting chat transcripts partial βœ…
Refuses to send a 3rd follow-up to the same person ❌ βœ…
Scores by your role (CEO vs dev vs marketer) ❌ βœ…
Runs on your machine ❌ (cloud) βœ…

Where Copilot for Teams falls short: Copilot helps you write inside a meeting or thread. It doesn't run a daily audit. Action items from yesterday's meeting that nobody followed up on don't surface unless you specifically ask. Pickle surfaces them automatically.

The one-line summary

Native AIs (ClickUp Brain, Slack AI, Microsoft Copilot) write for you inside their tool. Pickle audits what's already there and tells you what needs your action β€” across whichever platforms you use.


Install (Cloud β€” recommended)

No Node.js. No npm. No local server. Just add Pickle's hosted endpoint to your MCP config and you're live in 60 seconds.

Step 1: Get a free Beta key at pickle.adityaarsharma.com Step 2: Paste the Pickle-key-only config block below into your AI host. Restart. Step 3: In chat, ask Pickle: "Pickle, set me up for ClickUp" (or Slack, or Teams). Pickle walks you through grabbing the token from your settings and tells you which header line to add. Tokens stay on your machine β€” in your local MCP config, never in the public repo.

Claude Code / Claude Desktop β€” add to ~/.claude.json:

{
  "mcpServers": {
    "pickle": {
      "type": "http",
      "url": "https://pickle.adityaarsharma.com/mcp",
      "headers": {
        "x-pickle-key": "pickle_free_YOUR_KEY"
      }
    }
  }
}

Cursor β€” Settings β†’ MCP β†’ Add new server β†’ paste:

{
  "pickle": {
    "type": "http",
    "url": "https://pickle.adityaarsharma.com/mcp",
    "headers": {
      "x-pickle-key": "pickle_free_YOUR_KEY"
    }
  }
}

Cline β€” .clinerules or VSCode MCP settings:

{
  "mcpServers": {
    "pickle": {
      "type": "http",
      "url": "https://pickle.adityaarsharma.com/mcp",
      "headers": {
        "x-pickle-key": "pickle_free_YOUR_KEY"
      }
    }
  }
}

Codex / OpenAI Agent SDK β€” mcp.config.json:

{
  "servers": [
    {
      "name": "pickle",
      "type": "http",
      "url": "https://pickle.adityaarsharma.com/mcp",
      "headers": {
        "x-pickle-key": "pickle_free_YOUR_KEY"
      }
    }
  ]
}

After adding the config, restart your MCP host β€” then ask Pickle in chat to set up each platform.


Self-host (advanced β€” unsupported)

If you'd rather run Pickle inside your own network, the code is here. No install script, no helper command β€” this path is intentionally manual. You should be comfortable with Node.js, reverse proxies, TLS, and process managers before you go this route.

git clone https://github.com/adityaarsharma/pickle.git
cd pickle/server-remote
npm install
node server.mjs
# Then reverse-proxy it to your domain and add the URL to your MCP host.

Requirements: Node.js LTS, your own server, your own TLS, your own uptime. Read server-remote/server.mjs before running. No support β€” community-only.


Connect ClickUp / Slack / Microsoft Teams β€” via chat

After Pickle is installed (Beta key only), just ask in chat: "Pickle, set me up for ClickUp". Pickle returns a 30-second walkthrough for getting the token from your settings and gives you the exact header line to paste into your local MCP config. Repeat for Slack and Microsoft Teams when you want to connect those.

Where tokens live:

  • Your tokens never go in the public repo, the landing page, or any sample.
  • They go in your local MCP host config file (~/.claude.json, Cursor MCP settings, etc.) β€” same place your x-pickle-key lives.
  • On each request, the token travels in the HTTPS header to Pickle's server, gets used to call the platform API on your behalf, then is discarded. Never stored server-side, never logged.

Slack and Microsoft Teams support is on the Cloud roadmap. ClickUp is live today. Manager Mode (multi-person reports across all 3 platforms) ships with Pro after the Beta closes.


Every surface covered

Source ClickUp Slack Teams
Channels βœ… βœ… βœ…
Direct messages (1:1) βœ… βœ… βœ…
Group DMs / group chats βœ… βœ… βœ…
Meeting chats β€” β€” βœ…
Task comments + threads βœ… β€” β€”
Task descriptions βœ… β€” β€”
Time entries with descriptions βœ… β€” β€”
Assigned/delegated comments βœ… β€” β€”
Planner tasks β€” β€” βœ…
Reminders βœ… βœ… β€”
Approvals (Adaptive Cards) β€” β€” βœ…

Privacy

Pickle is built stateless. Your ClickUp token travels in the HTTPS request header, gets used to call ClickUp's API on your behalf, and is discarded when the response is sent. The server stores no tokens, no task data, no chat content, no logs. Each request is independent; nothing persists.

The only thing Pickle's server stores is your email + free key β€” only if you submit one on the landing page β€” for product updates. Unsubscribe anytime.

The full source of the remote server is in this repo at server-remote/server.mjs β€” audit it before you connect.

To revoke access instantly:

  • ClickUp: Settings β†’ Apps β†’ ClickUp API β†’ Generate a new token (old one dies immediately)
  • Pickle: just remove the MCP config block β€” there's no account to delete

Updates

Cloud users get updates automatically β€” every new pattern, every fix, every new tool. Nothing for you to do.

Self-host users: git pull && npm install && restart the process. No update script β€” keep it intentionally manual.


Uninstall

Cloud: remove the pickle block from your MCP config. That's it β€” there's no account, no data, nothing left to delete.


What Pickle will never do

  • Auto-send any message without your confirmation
  • Post to public channels or group DMs on your behalf
  • Send a third follow-up to someone you've already nudged twice
  • Upload your tokens, messages, or task data anywhere

Built by Aditya Sharma Β· pickle.adityaarsharma.com

About

πŸ₯’ Pickle β€” MCP server + skills for managers. Audits team performance across ClickUp, Slack, and Microsoft Teams. Compares what your team said vs what tasks show. Works in any MCP host β€” Claude, Cursor, Codex, Cline. Runs on your machine.

Topics

Resources

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors