NAME
mcp-picnic-http - HTTP MCP + REST server for Picnic Supermarket
VERSION
version 0.001
SYNOPSIS
# Set environment variables
export PICNIC_USER="your@email.de"
export PICNIC_PASS="your-password"
export PICNIC_COUNTRY="de"
# Start server
mcp-picnic-http daemon -l http://*:3000
# Or with morbo for development
morbo mcp-picnic-http
DESCRIPTION
HTTP server providing both MCP protocol support (for Claude) and REST API (for ChatGPT and other clients).
ENDPOINTS
MCP Protocol
/mcp - Claude MCP protocol endpoint
Authentication
GET /api/auth/status - Check auth status
POST /api/auth/login - Start login (may trigger 2FA SMS)
POST /api/auth/verify-2fa - Verify 2FA code
Products
GET /api/products?q= - Search products
GET /api/products/:id - Get product details
GET /api/suggestions?q= - Get search suggestions
Cart
GET /api/cart - Get cart contents
POST /api/cart/add - Add product to cart
POST /api/cart/remove - Remove product from cart
POST /api/cart/clear - Clear cart
Delivery
GET /api/delivery-slots - Get available slots
POST /api/delivery-slots/select - Select a slot
User
GET /api/user - Get user profile
GET /api/categories - Get product categories
CHATGPT INTEGRATION
Import the OpenAPI schema from /openapi.json in your ChatGPT Action.
The authentication flow for ChatGPT:
1. Call /api/auth/login 2. If response has status: pending_2fa, ask user for SMS code 3. Call /api/auth/verify-2fa with the code 4. Now all other endpoints work
ENVIRONMENT
- PICNIC_USER - Picnic account email
- PICNIC_PASS - Picnic account password
- PICNIC_COUNTRY - Country code (de/nl)
- OPENAPI_SERVER_URL - Override server URL in OpenAPI spec
SEE ALSO
MCP::Picnic, WWW::Picnic, Mojolicious
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-mcp-picnic/issues.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudss.us>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.