Rappi Plugin Claude Openclaw
БесплатноНе проверенOrder anything from Rappi through AI conversation — restaurants, groceries, pharmacies, liquor. Works on Claude Code, Desktop, Cowork, and OpenClaw.
Описание
Order anything from Rappi through AI conversation — restaurants, groceries, pharmacies, liquor. Works on Claude Code, Desktop, Cowork, and OpenClaw.
README
Order anything from Rappi through conversation. Restaurants, groceries, convenience stores, pharmacies, liquor — if it's on Rappi, you can order it by talking to your AI assistant. The plugin handles searching, browsing, cart management, checkout, and delivery tracking. It learns your preferences over time and gets smarter with every order.
Works on Claude Code, Claude Desktop, Claude Cowork (web), and OpenClaw.
Supports Colombia and Mexico.
| Claude Code | OpenClaw |
![]() |
![]() |
What You Can Do
You: "I'm hungry, order me something from that burger place I liked"
Claude: *checks your order history, finds El Corral*
*suggests items you've ordered before, scored by taste match*
*adds to cart with your usual toppings*
*shows checkout summary with suggested tip*
You: "Looks good, place it"
Claude: *places the order, tracks delivery with real-time ETA*
You: "Find Michelob beer — check Exito and Turbo, whoever has it cheaper"
Claude: *searches both store types, compares prices*
*Exito: $12,760 for 6-pack | Turbo: $15,480*
*"Exito has it cheaper — want me to add it to cart?"*
You: "Get me Tylenol from Farmatodo and a bottle of wine from Carulla"
Claude: *searches both stores in parallel*
*adds Tylenol PM ($32,900) and Casillero del Diablo ($45,000)*
*shows combined checkout with delivery fees*
The plugin gives your AI assistant 40 tools across all Rappi store types, 4 workflow skills, a specialized ordering agent, and a local memory system that builds a taste profile from your order history.
Store Types
Not just restaurants. The plugin works with every store type on Rappi — cart, checkout, and order tracking automatically detect the correct store type.
| Type | Examples | What You Can Do |
|---|---|---|
| Restaurants | El Corral, McDonald's, local places | Browse menus, customize toppings, reorder favorites |
| Turbo | Turbo convenience stores | Quick snacks, drinks, essentials — delivered in ~10 min |
| Supermarkets | Carulla, Exito, Jumbo, Olimpica | Weekly groceries, compare prices across stores |
| Pharmacies | La Rebaja, Farmatodo | Medicines, personal care products |
| Liquor Stores | Cervesia, Exito Licores | Beer, wine, spirits with age verification |
Install
Prerequisites
- Python 3.12+
- uv
- A Rappi account (Colombia or Mexico)
Setup
git clone https://github.com/garavitgabriel/rappi-plugin-claude-openclaw.git
cd rappi-plugin-claude-openclaw
uv sync
uv run playwright install chromium
Authenticate
# Colombia (default)
uv run rappi auth login
# Mexico
uv run rappi auth login --country mx
# Headless servers (no browser — SSH, VPS, etc.)
uv run rappi auth token <RAPPI_TOKEN> <DEVICE_ID>
uv run rappi auth token <RAPPI_TOKEN> <DEVICE_ID> --country mx
Your token is saved locally at ~/.rappi/config.json. It never leaves your machine.
Connect to Your AI Platform
Claude Code (auto-discovers everything)
cd rappi-claude-plugin
claude # MCP server auto-registers from .mcp.json
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"rappi": {
"command": "uv",
"args": ["run", "--project", "/path/to/rappi-claude-plugin", "rappi-mcp"]
}
}
}
Claude Cowork (web — requires remote MCP server)
- Deploy the MCP server (see Deployment)
- Generate plugin zip:
uv run rappi build-plugin build --url https://your-server.up.railway.app/sse - Upload the zip via Cowork > Customize > Plugins
- Add the SSE URL as a remote MCP connector
OpenClaw (one-command install)
cd rappi-claude-plugin
./install-openclaw.sh # Handles uv, deps, MCP registration, skills
uv run rappi auth login # Or: rappi auth token <TOKEN> <DEVICE_ID> (headless)
openclaw gateway restart
For remote MCP:
uv run rappi build-plugin build --target openclaw --url https://your-server.up.railway.app/sse
openclaw plugins install ~/Desktop/rappi-openclaw-plugin.zip
openclaw gateway restart
See docs/openclaw-setup.md for the full OpenClaw guide.
Skills
Just talk naturally. The plugin auto-triggers when you mention food, ordering, stores, or Rappi.
| Skill | Trigger | What It Does |
|---|---|---|
/order-food |
"Order me food", "get me a burger", "find beer at Turbo" | Full workflow: search → browse → cart → checkout → track |
/rappi-search |
"What's available?", "find pizza", "search Exito for wine" | Searches all store types, compares prices |
/rappi-reorder |
"Order the same as last time" | Re-adds past order items to cart |
/rappi-suggest |
"What should I eat?", "suggest something" | Analyzes your taste profile, suggests based on habits and time of day |
Intelligence & Memory
The plugin stores everything locally in SQLite (~/.rappi/rappi.db) and computes a taste profile that gets smarter with every order. All data stays on your machine.
What It Learns
| Data | How It's Used |
|---|---|
| Order history | "The usual" per store, reorder patterns, spending trends |
| Product cache | Category preferences (Hamburguesas 40%, Bebidas 25%), favorite items |
| Time patterns | "You usually order lunch at 12:30 on weekdays" |
| Topping choices | "Always adds extra cheese, never onions" |
| Price patterns | Average spend, price sensitivity, tip habits |
| Dietary preferences | Filters recommendations (allergies, restrictions) |
How It Works Without Embeddings (Default)
Everything runs on pure SQL — no external APIs, no cost, no setup:
- "The usual" — Products you've ordered 3+ times from a store
- Time-based suggestions — Stores you order from at this time of day
- New store discovery — Stores matching your preferred type that you haven't tried
- Menu scoring — Ranks items by how often you've ordered them
- Smart search — SQL LIKE matching across all cached products
- Taste profile — Full breakdown of categories, stores, spending, time patterns
How Embeddings Add Semantic Intelligence (Optional)
Enable OpenAI embeddings to unlock meaning-based features on top of the SQL foundation:
export OPENAI_API_KEY="sk-..."
uv run rappi prefs set embeddings.enabled true
| Feature | Without Embeddings | With Embeddings |
|---|---|---|
| Product search | Keyword matching ("pizza" finds "Pizza Margherita") | Semantic matching ("something refreshing" finds "Sprite", "Limonada") |
| Menu scoring | Frequency-based (items you've ordered before rank higher) | Taste-vector similarity (items like what you usually order rank higher) |
| Recommendations | Frequency + time patterns | + "similar products" you haven't tried yet |
| Taste profile | Category %, stores, spending, time patterns | + taste vector (average embedding of all ordered products) |
How it works: Each product gets a 1536-dimension vector (text-embedding-3-small). Your taste profile is the average of all products you've ordered. Menu scoring = cosine similarity between each item and your taste vector. All vectors stored as BLOBs in SQLite — no external vector database needed.
Cost: ~$0.02 per 1M tokens. A typical menu generates ~100 embeddings. Negligible cost for personal use.
MCP Tools Reference
All 40 tools
Discovery & Browsing
explore_verticals— all available store types in area (Restaurants, Turbo, Markets, Farmacia, Licores)search_restaurants(query)— search products/stores by keyword (all store types)browse_restaurants(offset, limit)— nearby restaurantsbrowse_stores(store_type, query)— find stores by type (turbo, exito, carulla, olimpica, etc.)get_store_categories(store_id)— browse store aisles/categoriesget_aisle_products(store_id, aisle_id)— products in a categoryget_store_info(store_id)— hours, charges, addresssearch_store_products(store_id, query)— CPG product search with brand infosearch_in_store(store_id, query)— search within any store
Menu & Products
get_restaurant_menu(store_id)— full menu by categoryget_product_toppings(store_id, product_id)— customization options
Cart & Checkout
add_to_cart(store_id, product_id, quantity, topping_ids, product_name, product_price)— add itemview_cart/remove_from_cart(store_id, product_id)get_tip_suggestions— suggested tip amounts for current cartset_tip(tip_amount)— set delivery tip in COP (persists until order is placed)checkout(confirm)— preview then place. Use set_tip before, not during checkout.get_payment_methods— available payment methods and cards
Order Tracking
get_active_orders— currently active orderstrack_order(order_id)— real-time state, ETA, driver positionget_order_detail(order_id)— full order summaryget_order_breakdown(order_id)— detailed costs, fees, discountsget_order_status— active and cancelled ordersget_order_history(limit)— past orders with items
Account
get_ordering_context— full state snapshot (user, address, cart, memory)auth_status— profile and Prime statuslist_delivery_addresses/set_delivery_address(address_id)get_credits_balance— Rappi credits/wallet balanceget_rappi_favorites— favorite stores from Rappiget_favorites/add_favorite/remove_favorite— local favorites
Intelligence & Memory
get_taste_profile— computed taste profile (categories, time patterns, spending)get_recommendations(context?)— smart suggestions based on habitsscore_menu(store_id)— rank menu items by taste matchquick_reorder(order_id)— re-add past order to cartget_preferences/set_preference(key, value)smart_search(query)— semantic search across cached products
Terminal (CLI)
uv run rappi go # Interactive guided ordering
uv run rappi search "hamburguesa" # Quick search
uv run rappi store detail 900004 # View a store menu
uv run rappi cart show # View cart
uv run rappi order checkout # Place order
uv run rappi history # Past orders
uv run rappi favorites # Saved stores
uv run rappi prefs # Your preferences
Full CLI command reference
| Command | Description |
|---|---|
rappi go |
Interactive ordering session |
rappi auth login |
Authenticate (browser or manual token) |
rappi auth token <token> <device_id> |
Set credentials directly (headless) |
rappi auth status |
Show profile and Prime status |
rappi auth logout |
Clear saved token |
rappi address list |
List delivery addresses |
rappi address set <id> |
Switch active address |
rappi search <query> |
Search restaurants and products |
rappi store browse |
Browse nearby restaurants |
rappi store detail <id> |
View store info and menu |
rappi store toppings <store> <product> |
View product customizations |
rappi cart show |
View cart contents |
rappi cart add <store> <product> |
Add item with interactive toppings |
rappi cart remove <store> <product> |
Remove item from cart |
rappi order checkout |
Review and place order |
rappi order list |
View active and past orders |
rappi order track |
Live order tracking |
rappi history |
View order history from memory |
rappi favorites |
List favorite stores |
rappi prefs |
View preferences |
rappi prefs set tip 5000 |
Set default tip |
Deployment
The MCP server supports two modes:
- Local (stdio): For Claude Code, Claude Desktop, and OpenClaw — runs as a subprocess
- Remote (SSE over HTTP): For Claude Cowork and OpenClaw — deployed to Railway
Railway Deployment
Or deploy manually:
- Fork this repo to your GitHub account
- Connect it to Railway (New Project → Deploy from GitHub)
- Set environment variables in Railway dashboard:
| Variable | Value | Purpose |
|---|---|---|
RAPPI_TOKEN |
ft.xxxxx |
Auth token from ~/.rappi/config.json |
RAPPI_DEVICE_ID |
UUID | Device ID from config |
MCP_TRANSPORT |
sse |
Enables HTTP transport |
RAPPI_COUNTRY |
co |
Country code: co (Colombia) or mx (Mexico) |
- Railway auto-assigns a URL like
https://your-app.up.railway.app - Verify:
curl https://your-app.up.railway.app/healthshould returnok
Coordinates are auto-synced from your Rappi active address — no need to set lat/lng.
Get your token and device ID:
uv run rappi auth login # Authenticate first
cat ~/.rappi/config.json | python3 -c "import json,sys; c=json.load(sys.stdin); print(f'RAPPI_TOKEN={c[\"token\"]}\nRAPPI_DEVICE_ID={c[\"device_id\"]}')"
Plugin Builds
After deploying to Railway:
# Claude Cowork plugin
uv run rappi build-plugin build --url https://your-app.up.railway.app/sse
# OpenClaw bundle
uv run rappi build-plugin build --target openclaw --url https://your-app.up.railway.app/sse
For Cowork: upload the zip via Cowork > Customize > Plugins, then add the SSE URL as a remote MCP connector.
For OpenClaw: openclaw plugins install ~/Desktop/rappi-openclaw-plugin.zip && openclaw gateway restart.
Security
This plugin can place real orders and spend real money. The Rappi auth token grants full access to your account — searching, ordering, and paying. Understand what you're enabling:
- Orders require explicit confirmation — the AI always previews first and asks before placing
- Spending limit — orders over $500,000 COP are blocked by default. Change with
rappi prefs set max_order_amount 1000000 - Token storage — saved locally at
~/.rappi/config.json(never committed to git) - Railway deployment — your token is stored in Railway's env vars. Use Railway's secrets management
- No password access — the plugin only captures the Bearer token, not your Rappi password
How the API Was Mapped
The Rappi API is undocumented. All 40+ endpoints were reverse-engineered by capturing browser network traffic from rappi.com.co using Chrome DevTools, assisted by reverse-api-engineer — a tool that automatically generates API clients from captured HAR traffic using AI analysis. The full API map is in API_ENDPOINTS.md.
Updating the app-version Header
Rappi deploys new versions regularly. If API calls start returning 403 errors:
- Open your country's Rappi website in Chrome DevTools (Network tab)
- Look at any API request's
app-versionheader - Update
APP_VERSIONinsrc/rappi/constants.py - Also update
WEB_VERSIONif store browsing breaks
Development
uv sync --group dev # Install dev dependencies
uv run rappi --help # Test CLI
uv run pytest # Run tests
npx @modelcontextprotocol/inspector uv run rappi-mcp # Test MCP in browser
See CLAUDE.md for the developer reference, API_ENDPOINTS.md for the full Rappi API map, and TESTING.md for the manual testing checklist.
Author
Gabriel Garavit — GitHub
Built with Claude Code. API reverse-engineered from Rappi's web app using browser DevTools and reverse-api-engineer.
License
MIT
Установка Rappi Plugin Claude Openclaw
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/garavitgabriel/rappi-plugin-claude-openclawFAQ
Rappi Plugin Claude Openclaw MCP бесплатный?
Да, Rappi Plugin Claude Openclaw MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Rappi Plugin Claude Openclaw?
Нет, Rappi Plugin Claude Openclaw работает без API-ключей и переменных окружения.
Rappi Plugin Claude Openclaw — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Rappi Plugin Claude Openclaw в Claude Desktop, Claude Code или Cursor?
Открой Rappi Plugin Claude Openclaw на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Rappi Plugin Claude Openclaw with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development


