tuma250-mcp
Enables AI clients to search products, manage shopping carts, and browse order history on the Tuma 250 grocery site in Kigali, Rwanda.
README
tuma250-mcp
An MCP server for the Tuma 250 grocery site (Kigali, Rwanda).
Gives any MCP-compatible AI client (Cursor, Claude Desktop, etc.) the ability to search products, manage a shopping cart, and browse order history on Tuma250 — using a headless Playwright browser under the hood.
Example uses
Imported as MCP server in Perplexity (or any other MCP-compatible client)

Imported as a skill in OpenClaw
The skill definition can be copied from skills/tuma250/SKILL.md (requires the mcporter skill to be enabled, and the MCP server added to its configuration)

Tools
| Tool | Description |
|---|---|
login |
Authenticate and persist the browser session |
search_products |
Search for products by keyword |
get_product_variations |
List available variants (size/weight) for a variable product |
add_to_cart |
Add a product (or specific variant) to the cart |
get_cart |
Retrieve cart contents with full cost breakdown |
list_recent_orders |
List recent orders from My Account |
get_order_details |
Fetch line items for a specific order |
Prerequisites
Playwright with one headless browser
npm i -g playwright
playwright install chromium
Configuration
The server reads credentials from environment variables (or a .env file):
TUMA250_BASE_URL=https://tuma250.com
TUMA250_USERNAME=your-email@example.com
TUMA250_PASSWORD=your-password
# Optional
TUMA250_SESSION_FILE=.tuma250_session.json # persists login between runs
TUMA250_DEBUG=false # set true for headed browser
Usage
Cursor / Claude Desktop
Add to ~/.cursor/mcp.json / ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"tuma250": {
"command": "uvx",
"args": ["tuma250-mcp"],
"env": {
"TUMA250_BASE_URL": "https://tuma250.com",
"TUMA250_USERNAME": "your-email@example.com",
"TUMA250_PASSWORD": "your-password"
}
}
}
}
Direct (stdio)
pip install tuma250-mcp
TUMA250_USERNAME=you@example.com TUMA250_PASSWORD=secret tuma250-mcp
Session persistence
After the first successful login, the browser session (cookies) is saved to TUMA250_SESSION_FILE (default: .tuma250_session.json). Subsequent runs reuse the saved session and skip the login step entirely.
Variable products
Some products on Tuma250 require a size/weight selection before they can be added to the cart. Pass the product slug (from search_products or get_order_details) and optionally variation_attributes:
1. search_products("fresh carrots") → returns slug in each result
2. get_product_variations(product_url) → lists 250g / 500g / 1kg variants
3. add_to_cart(product_slug, quantity=1, variation_attributes={"attribute_quantity": "500g"})
Development
# Clone and setup
uv venv
source .venv/bin/activate # or: .venv\Scripts\activate on Windows
uv pip install -e ".[dev]"
playwright install chromium
# Run tests
pytest -v
Copy config-example.env to .env and fill in your Tuma250 credentials before running tests or the server locally.
To test from command line, you may use mcporter, e.g.:
npx mcporter call --stdio "uv run tuma250-mcp" get_cart
npx mcporter call --stdio "uv run tuma250-mcp" 'tuma250.get_order_details(order_id: "193457")'
npx mcporter call --stdio "uv run tuma250-mcp" 'tuma250.add_to_cart(product_slug: "ripe-mango-fruit-1kg")'
npx mcporter call --stdio "uv run tuma250-mcp" add_to_cart --args '{"product_slug": "viande-hachee-de-bouef-ordinaire-regular-ground-beef", "variation_attributes": {"attribute_weight":"1kg"}}'
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。