Unofficial CLI & MCP server for the Frisco.pl grocery delivery API.
Disclaimer: This is an independent, community project — not affiliated with Frisco. Use at your own risk.
- Interactive cart TUI (Bubble Tea)
- Product search with category filtering and nutrition info
- Delivery slot reservation
- Order history
- Batch cart additions from JSON shopping lists
- MCP server for AI assistant integration
- Session management (cURL import, browser login)
- Go
1.26+(pergo.mod) - For
frisco session login: a locally installed browser supported bychromedp(e.g. Chrome/Chromium)
go install github.com/rrudol/frisco/cmd/frisco@latestLocal build:
make build
./bin/frisco --help- Log in via browser (recommended):
frisco session login- Or save session from a cURL command:
frisco session from-curl --curl "curl 'https://www.frisco.pl/app/commerce/api/v1/users/123/cart' -H 'authorization: Bearer ...' -H 'cookie: ...'"- Verify your session works:
frisco session verifyfrisco cart # Interactive TUI (list, +/-, remove, refresh)
frisco cart show
frisco cart add --product-id <id> --quantity 1
frisco cart add-batch --file list.json # --dry-run for parse-only
frisco products search --search banana
frisco products search --search apple --category-id 18707
frisco products nutrition --product-id 4094
frisco reservation slots --days 2
frisco reservation reserve --date 2026-03-25 --from-time 06:00 --to-time 07:00
frisco reservation cancel
frisco account show
frisco account orders list --all-pages
frisco session login # Interactive browser login
frisco session refresh-token # Refresh access token
frisco mcp # Start MCP server (stdio)frisco session verify— make sure your session is valid.- Search for products:
frisco products search --search "phrase"— optionally add--category-idto narrow results. Use--format jsonand pipe tojqto extract product IDs. - Build a JSON file: an array of
{ "product_id": "…", "quantity": n }objects or{"items":[…]}. Template: examples/cart-add-batch.example.json. frisco cart add-batch --file list.json— displays a cart summary after adding. Use--dry-runto validate the file without calling the API.
Using --category-id with products search / products pick narrows results and dramatically improves relevance. Full category tree: categories.md.
By default the CLI outputs human-readable tables. Use --format json for machine-readable output:
frisco account orders list --all-pages
frisco account orders list --all-pages --format jsonfrisco mcp starts an MCP server over stdio, exposing cart, products, orders, reservations, and session tools to any compatible AI client.
Download the latest .mcpb bundle for your platform from Releases, then in Claude Desktop go to Extensions → Advanced Settings → Install Extensions and select the downloaded file.
Login: Ask Claude to log you in to Frisco (e.g. "zaloguj mnie do Frisco"). A Chrome window will open — log in on frisco.pl and navigate to your cart or account page. The session is captured automatically and saved for future use. Requires Chrome/Chromium.
Manual setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"frisco": {
"command": "frisco",
"args": ["mcp"]
}
}
}If frisco is not in your PATH, use the absolute path to the binary (e.g. "/Users/you/go/bin/frisco").
Manual setup
Add to .cursor/mcp.json:
{
"mcpServers": {
"frisco": {
"command": "frisco",
"args": ["mcp"]
}
}
}claude mcp add frisco -- frisco mcpOther MCP clients
Any client supporting stdio transport works:
frisco mcpThe server exposes tools for: product search, cart management, order history, delivery reservation, account info, and session management.
Session is stored locally at ~/.frisco-cli/session.json.
Security notes:
- The file may contain tokens and session headers (
Authorization,Cookie). - Access to this file grants API access in your account's context.
- Do not run
frisco mcpin untrusted or shared environments.
If an access token expires, the CLI will automatically attempt to refresh it. If refresh fails, re-import your session with frisco session from-curl or frisco session login.