By caseyWebb
Personal grocery agent — meal planning, pantry, recipes, and Kroger cart. Bundles the workflow skills and the grocery-mcp connector.
Rate or disposition a ready-to-eat / heat-and-eat item — the convenience-meal analog of recipe feedback. Use for "rate the frozen lasagna", "stop suggesting those taquitos", or dispositioning a draft RTE discovery (activate or reject).
Rate a recipe or change its status. Use for "rate the Serious Eats one 4 stars", "loved Tuesday's curry", "remove that recipe", "make it again sometime", or dispositioning a draft (activate or reject). Routes rating/status to the user's personal overlay — never changes the shared recipe or anyone else's view.
Capture a personal tweak or observation on a recipe as an attributed note. Use for "next time I'd cut the sugar", "I subbed gochujang for the sriracha and it was better", "note that this needs a squeeze of lime", "leave a note that the group should try it cold". Writes an attributed note — never edits the shared recipe body/frontmatter.
Review and set up the user's grocery profile — taste, cooking preferences, diet principles, starting pantry, heat-and-eat acceptance, and kitchen equipment. Idempotent: on a brand-new user it walks first-time setup; on a returning user it reads back what it already knows and asks what to change. Use for "get started", "set me up", "onboard me", "update my profile", "what do you know about me", "change my preferences/diet/taste", or when the read tools show an empty profile.
Walk the user through actively cooking a dish (or a main + sides), hands-free, as mise en place. Use when they're cooking RIGHT NOW — "I'm making the arroz caldo", "I'm about to start the chili", "walk me through dinner", "let's cook". Paces equipment → gather → prep → cook, then hands off to the cooked flow to log it. For a meal already finished, that's the cooked flow instead.
External network access
Connects to servers outside your machine
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A personal grocery agent. It plans meals, tracks pantry inventory, and populates a Kroger cart through conversation — you talk to it like a knowledgeable friend who knows your kitchen, not a service you issue commands to. It runs inside Claude.ai (web + mobile) and is self-hostable for a small friend group.
This repository is the code: the grocery-mcp MCP server and the agent's
persona (AGENT_INSTRUCTIONS.md). The data — recipes,
pantry, preferences — lives in a separate private data repo per deployment.
Three components:
src/) — a Cloudflare Worker hosting the MCP
server: opinionated domain tools (Kroger matching, pantry verification,
substitutions, atomic commits) plus an OAuth 2.1 provider that members connect
their Claude.ai to via an operator-issued invite code. The deterministic logic.<you>/groceries-agent-data, private) — shared recipes/ +
reference data at the root, and one users/<username>/ subtree per member
(pantry, preferences, ratings, notes). Git history is the audit log.The fuzzy work (understanding requests, proposing menus) is the LLM's; everything deterministic (matching, filtering, file I/O, commits) is the Worker's.
| Path | What it holds |
|---|---|
src/, test/, wrangler.jsonc | the Cloudflare Worker (MCP server + OAuth provider) |
scripts/ | index + static-site build tooling, run by data repos via reusable CI |
.github/workflows/ | deploy-worker (CD), reusable data-build-*, operator onboard/revoke |
AGENT_INSTRUCTIONS.md | the agent persona, pasted into each member's Claude.ai Project |
docs/ | PROJECT (architecture), SCHEMAS, TOOLS, SELF_HOSTING |
CLAUDE.md | development guide for working in this repo |
ROADMAP.md | the sequence of OpenSpec changes building the system |
The data repo is created from the groceries-agent-data-template, which is also vendored here as a submodule at docs/data-template/ for reference.
Self-host for yourself or a friend group without running anything locally — fork this repo and drive it from GitHub Actions:
CLOUDFLARE_API_TOKEN secret and your
wrangler.jsonc vars (via the web editor).users/<username>/ subtree is created on first use.Full step-by-step: docs/SELF_HOSTING.md.
The Worker is the root package (one package.json for the Worker + scripts/):
mise install # Node 22 (pinned in mise.toml)
git submodule update --init # populate docs/data-template/ (reference only; --remote to bump)
npm install
npm run typecheck # tsc --noEmit
npm test # vitest — Worker tests (test/*.test.ts)
npm run test:tooling # node --test — build tooling tests (tests/*.test.mjs)
npm run dev # wrangler dev — local Worker for MCP Inspector
See CLAUDE.md for conventions and the OpenSpec change workflow.
npx claudepluginhub caseywebb/groceries-agent --plugin grocery-agentAutomatically injects elmq CLI guidance into Claude Code sessions working in Elm projects
Tools for working with Elm
Blocks Claude at stop to review docs with update-when frontmatter for staleness
Reminds Claude to update PR title and description after git push
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review