plantkit-mcp
v1.0.0
Published
MCP server for PlantKit — recipes, trips & notes, shopping lists, meal calendar, gardens, wine, coffee, inventory. Wraps the hosted PlantKit API; auth via PLANTKIT_TOKEN.
Maintainers
Readme
PlantKit MCP servers
Published to npm as plantkit-mcp —
installing needs no clone or build, just a token.
Two stdio MCP servers live here.
| Server | What it exposes | Auth |
| -------------------------- | ----------------------------------------------------------------------------------- | ----------------- |
| plantkit-server.ts | The whole app — recipes, tags, meal calendar, shopping lists, notes, gardens, wine, coffee, inventory, app state, household groups — plus the local garden-planner tools | Session token |
| garden-planner-server.ts | Garden planner only (list_plants, minify_bed, expand_plan) | None (runs local) |
Get a token
PlantKit → Settings → App → Claude / MCP → Generate Access Token.
The token is a NextAuth session token valid for one year. Anyone holding it can read and write that user's PlantKit data, so treat it like a password.
Install — Claude Code
claude mcp add plantkit \
--env PLANTKIT_TOKEN=<your-token> \
-- npx -y plantkit-mcpInstall — Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"plantkit": {
"command": "npx",
"args": ["-y", "plantkit-mcp"],
"env": {
"PLANTKIT_TOKEN": "<your-token>"
}
}
}
}Restart Claude Desktop, then ask it to run plantkit_whoami — it returns the
signed-in user and the instance the server is pointed at.
Environment
| Variable | Default | Notes |
| ------------------- | ----------------------------- | ------------------------------------------------ |
| PLANTKIT_TOKEN | — | Required for every HTTP tool. Local garden-planner tools work without it. |
| PLANTKIT_BASE_URL | https://plantkit.vercel.app | Point at http://localhost:3000 for local dev — tokens are per-instance. |
Development
Build from the repo root (npm install && npm run build:mcp) — produces
mcp/dist/*.mjs. Point a client at the local build with
-- node /path/to/plantkit/mcp/dist/plantkit-server.mjs instead of npx.
Adding a tool
Register it with the local tool() helper in plantkit-server.ts. It wraps
server.tool() so every handler returns JSON and turns thrown errors into MCP
isError results instead of crashing the process. Rebuild with
npm run build:mcp.
Publishing
cd mcp
npm version patch # or minor/major
npm publish # prepublishOnly rebuilds dist from the repo root