Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By caseyWebb
Personal grocery agent — meal planning, pantry, recipes, and Kroger cart. Bundles the workflow skills and the grocery-mcp connector.
npx claudepluginhub caseywebb/groceries-agent --plugin grocery-agentRate 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
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
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
Permanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Plugin that includes the Figma MCP server and Skills for common workflows
Connect to Atlassian products including Jira and Confluence. Search and create issues, access documentation, manage sprints, and integrate your development workflow with Atlassian's collaboration tools.
Automatically 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 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.