@plentopasto/mcp-server
MCP server for Plento Pasto — lets Claude (or any MCP-capable AI assistant) plan your week, read what's in your kitchen, and build your shopping list.
Plus members get an MCP integration, so the planner is reachable from wherever they already talk to their AI.
Install
You need a Plento Pasto Plus account. Generate an API key in the app: Settings → Use Plento Pasto from Claude → Generate API key. The app will show you the key once and a copy-pasteable Claude Desktop config snippet.
Claude Desktop / Claude Code
Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"plento-pasto": {
"command": "npx",
"args": ["-y", "@plentopasto/mcp-server"],
"env": {
"PLENTOPASTO_API_KEY": "pk_..."
}
}
}
}
Restart Claude Desktop. You should see "plento-pasto" in the connections list.
Other MCP clients
Any MCP client that supports stdio transport works. Set PLENTOPASTO_API_KEY in the environment and run npx -y @plentopasto/mcp-server.
HTTP transport (remote / multi-tenant hosts)
Set MCP_TRANSPORT=http to expose the server over HTTP instead of stdio. Required env:
MCP_TRANSPORT=http | Switches transports |
MCP_HTTP_TOKEN | Bearer token clients must send (>= 16 chars) |
MCP_PORT | Listen port (default 3030) |
MCP_TRANSPORT=http \
MCP_HTTP_TOKEN=$(openssl rand -hex 32) \
PLENTOPASTO_API_KEY=pk_... \
npx -y @plentopasto/mcp-server
Endpoints:
GET /health — liveness probe (no auth)
POST /mcp — JSON-RPC, requires Authorization: Bearer ${MCP_HTTP_TOKEN}. Supports SSE for streamed responses.
Stateless mode is the default — each request is independent and there are no sticky sessions, so you can scale this server horizontally behind any load balancer.
Tools (Tier 1)
get_household_profile | Read members, allergens, equipment, spend cap, time budget |
get_pantry | List what's currently in the kitchen |
add_pantry_item | Add a single item the user just bought |
remove_pantry_item | Mark an item used up |
generate_meal_plan | Generate a fresh 5-dinner weekly plan (counts against free-tier limit) |
get_current_plan | Read this week's active plan |
get_shopping_list | Read the current shopping list (pantry-subtracted) |
rate_meal | Record a 👍 / 👎 from a household member |
Configuration
PLENTOPASTO_API_KEY | (required) | pk_... from Settings → Connections |
PLENTOPASTO_API_URL | https://api.plentopasto.com/v1 | Override for self-hosted / dev |
MCP_TRANSPORT | stdio | stdio (Claude Desktop) or http (remote) |
MCP_HTTP_TOKEN | — | Required when MCP_TRANSPORT=http (>= 16 chars) |
MCP_PORT | 3030 | Listen port for http mode |
Local development
cd apps/mcp
PLENTOPASTO_API_KEY=pk_test_... PLENTOPASTO_API_URL=http://localhost:4000/v1 pnpm dev
Pipe JSON-RPC messages via stdin to test:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | PLENTOPASTO_API_KEY=pk_... pnpm dev
Status
v0.1.0 — eight core planning tools. More (per-member preferences, swap-a-meal, and a grocery-checkout handoff) land in later versions.