Skip to main content
Glama
Warteg Online MCP Server
by andhikapraa

Warteg Online MCP Server

Manage your Warteg Online meal deliveries using AI assistants like Claude. Simply talk to Claude in natural language to view, reschedule, or manage your daily meal subscriptions.

About Warteg Online

Warteg Online provides healthy, home-style Indonesian meals delivered to your door. With 500+ rotating menu options prepared by former 5-star hotel chefs, it's perfect for busy professionals who want nutritious, restaurant-quality meals without the hassle of cooking.

Service Areas: Jakarta, Depok, Tangerang, Bekasi

Related MCP server: MCP WaliChat WhatsApp API Connector

What is This?

This is a special tool that lets AI assistants (like Claude) manage your Warteg Online deliveries for you. Instead of logging into the dashboard and clicking around, you can simply chat with Claude and say things like:

  • "Show me my delivery schedule for this week"

  • "Skip tomorrow's lunch, I have a meeting"

  • "Hold all my deliveries from January 20-25 while I'm traveling"

  • "Change my dinner delivery address to my office"

  • "What's the summary of my remaining deliveries?"

The AI understands your request and handles everything automatically.

What Can It Do?

Task

What You Can Say

View Schedule

"Show my deliveries" or "What's coming this week?"

Skip a Day

"Skip Monday's delivery"

Hold Deliveries

"Pause my meals from Jan 10 to Jan 15"

Reschedule

"Move Friday's lunch to next Monday"

Change Address

"Deliver to my office address tomorrow"

Check Summary

"How many deliveries do I have left?"

View Restrictions

"What are my food restrictions?"

Update Restrictions

"I'm allergic to seafood" or "Remove spicy food from my meals"

Getting Started

Prerequisites

You'll need:

  1. A Warteg Online subscription (sign up at warloncatering.com)

  2. Your account username and password

  3. Claude Desktop app installed on your computer

Installation

Option 1: Via Smithery (Easiest)

Open your terminal and run:

npx -y @smithery/cli install @pras/wartegonline-mcp --client claude

Option 2: Manual Setup

  1. Download the tool:

    git clone https://github.com/anthropics/warlon-mcp.git
    cd warlon-mcp
  2. Install dependencies:

    uv sync
  3. Configure Claude Desktop:

    Open Claude Desktop settings and add this MCP server configuration:

    On Mac: Edit ~/.config/claude/claude_desktop_config.json

    On Windows: Edit %APPDATA%\Claude\claude_desktop_config.json

    {
      "mcpServers": {
        "warlon": {
          "command": "uv",
          "args": ["run", "--directory", "/path/to/warlon-mcp", "warlon_mcp.py"],
          "env": {
            "WARLON_USERNAME": "your_username",
            "WARLON_PASSWORD": "your_password"
          }
        }
      }
    }

    Replace /path/to/warlon-mcp with the actual folder location, and enter your Warteg Online login credentials.

  4. Restart Claude Desktop

First Time Use

After setup, open Claude Desktop and try saying:

"Login to Warteg Online and show me my delivery schedule"

Claude will connect to your account and display your upcoming meals.

Common Questions

Is this official? Yes, this tool is designed to work with the official Warteg Online platform.

Is my password safe? Your credentials are stored locally on your computer and are only used to authenticate with Warteg Online's servers. They are never shared with anyone else.

Can I still use the website/app? Absolutely! This tool is just another way to manage your deliveries. You can still use customer.warloncatering.com anytime.

What if something goes wrong? The tool will inform Claude if an action can't be completed. For any issues with your actual subscription, contact Warteg Online directly through their Instagram or website.

For Developers

Technical Details

This is an MCP (Model Context Protocol) server that provides 15 tools for delivery management:

  • login - Authenticate with Warlon

  • get_package_orders - List all orders

  • get_order_details - Get package info

  • get_schedule - View full delivery schedule

  • get_orders_by_date_range - Filter deliveries by date

  • get_available_addresses - List delivery addresses

  • get_delivery_summary - Stats and counts

  • reschedule_delivery - Move single delivery

  • skip_day - Skip a date (move to end)

  • hold_deliveries - Pause for date range

  • bulk_reschedule - Move multiple deliveries

  • change_address - Update delivery address

  • get_available_restrictions - List all dietary restriction options

  • get_my_restrictions - View current dietary restrictions

  • update_restrictions - Set dietary restrictions (pantangan)

Features:

  • Jakarta timezone (UTC+7) support

  • Sunday delivery validation (no deliveries on Sundays)

Development

# Install dev dependencies
uv sync

# Run locally in stdio mode
uv run warlon_mcp.py

# Run in HTTP mode (for testing remote deployment)
uv run warlon_mcp.py --http

Support

  • Warteg Online Support: Contact via Instagram or website

  • Technical Issues: Open an issue on the GitHub repository

License

MIT

Available Tools

15 tools
bulk_rescheduleB
    Bulk reschedule all deliveries within a date range to new dates.

    Args:
        order_id: The ID of the package order
        start_date: Start of the date range to reschedule (YYYY-MM-DD)
        end_date: End of the date range to reschedule (YYYY-MM-DD)
        target_start_date: The new start date for rescheduled deliveries
        order_types: Optional - "LUNCH", "DINNER", or "LUNCH,DINNER"

    Returns:
        Summary of rescheduling results
    

Inputs: order_id (required), start_date (required), end_date (required), target_start_date (required), +1 more. Returns: result

change_addressB
    Change delivery address for specific deliveries.

    Args:
        order_id: The ID of the package order
        new_address_id: The new address ID to use
        date: Single date to change (YYYY-MM-DD)
        start_date: Start of date range (YYYY-MM-DD)
        end_date: End of date range (YYYY-MM-DD)
        order_types: Optional - "LUNCH", "DINNER", or "LUNCH,DINNER"

    Returns:
        Summary of address changes
    

Inputs: order_id (required), new_address_id (required), date, start_date, +2 more.

get_available_addressesB
    Get available delivery addresses for an order.

    Args:
        order_id: The ID of the package order

    Returns:
        List of available addresses with their IDs
    

Inputs: order_id (required). Returns: result

get_available_restrictionsB
    Get all available dietary restrictions (pantangan) that can be set.

    Returns:
        List of available restrictions grouped by category
    

Inputs: no named parameters.

get_delivery_summaryB
    Get a summary of delivery statistics.

    Args:
        order_id: The ID of the package order

    Returns:
        Summary with total, remaining, completed counts by type
    

Inputs: order_id (required).

get_my_restrictionsA
    Get the current user's dietary restrictions (pantangan).

    Returns:
        List of the user's current dietary restrictions
    

Inputs: no named parameters.

get_order_detailsB
    Get detailed information about a specific package order.

    Args:
        order_id: The ID of the package order

    Returns:
        Detailed information about the order
    

Inputs: order_id (required).

get_orders_by_date_rangeC
    Get all deliveries within a specific date range.

    Args:
        order_id: The ID of the package order
        start_date: Start date in YYYY-MM-DD format (inclusive)
        end_date: End date in YYYY-MM-DD format (inclusive)

    Returns:
        List of deliveries within the date range
    

Inputs: order_id (required), start_date (required), end_date (required).

get_package_ordersB
    Get all package orders for the authenticated user.

    Returns:
        List of package orders with their IDs and names
    

Inputs: no named parameters. Returns: result

get_scheduleB
    Get the full delivery schedule for an order.

    Args:
        order_id: The ID of the package order

    Returns:
        Formatted schedule showing all deliveries
    

Inputs: order_id (required).

hold_deliveriesB
    Hold (pause) deliveries for a date range.

    Args:
        order_id: The ID of the package order
        hold_start: Start of hold period (YYYY-MM-DD)
        hold_end: End of hold period (YYYY-MM-DD)
        order_types: Optional - "LUNCH", "DINNER", or "LUNCH,DINNER"

    Returns:
        Summary of held deliveries
    

Inputs: order_id (required), hold_start (required), hold_end (required), order_types.

loginB
    Authenticate with the Warteg Online platform.

    Args:
        username: Your Warteg Online username
        password: Your Warteg Online password

    Returns:
        Success or failure message
    

Inputs: username (required), password (required). Returns: result

reschedule_deliveryB
    Reschedule a single delivery to a new date.

    Args:
        order_id: The ID of the package order
        group_id: The ID of the order group (delivery) to reschedule
        new_date: The new delivery date in YYYY-MM-DD format
        address_id: The address ID for delivery
        order_type: Either "LUNCH" or "DINNER"

    Returns:
        Success or failure message
    

Inputs: order_id (required), group_id (required), new_date (required), address_id (required), +1 more. Returns: result

skip_dayA
    Skip deliveries on a specific date by moving them to the end of the schedule.

    Args:
        order_id: The ID of the package order
        skip_date: The date to skip (YYYY-MM-DD)
        order_types: Optional - "LUNCH", "DINNER", or "LUNCH,DINNER"

    Returns:
        Summary of skipped deliveries
    

Inputs: order_id (required), skip_date (required), order_types.

update_restrictionsA
    Update the user's dietary restrictions (pantangan).

    Args:
        restriction_ids: Comma-separated list of restriction IDs to set.
                        Use empty string or omit to clear all restrictions.

    Available IDs:
        Protein: 1=No Udang, 2=No Ikan, 3=No Sapi, 13=No Cumi, 15=No Seafood
        Additional: 4=No Kecombrang, 7=No Sayur, 10=No Telur, 12=No Olahan Susu, 14=No Kacang
        Rasa: 5=No Pedas, 11=No Mayo

    Returns:
        Result of the update operation
    

Inputs: restriction_ids.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 15 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between bulk_reschedule and reschedule_delivery, as both handle rescheduling with different granularities. Tools like get_available_addresses and get_my_restrictions are clearly separate, but the rescheduling functions could cause confusion if not carefully described.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., get_order_details, update_restrictions, hold_deliveries). The naming is predictable and readable throughout the set, with no deviations in style.

    Tool Count5/5

    With 15 tools, the server is well-scoped for managing package orders, deliveries, and dietary restrictions in a food delivery context. Each tool serves a specific function, such as authentication, retrieval, scheduling, and updates, without appearing excessive or insufficient.

    Completeness4/5

    The toolset covers core CRUD operations for orders, deliveries, addresses, and restrictions, including authentication. Minor gaps exist, such as no tool for creating new orders or deleting/cancelling deliveries, but agents can likely work around these with the available scheduling and update tools.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables AI assistants to interact with the IIIT Hyderabad Mess Management System through natural language, allowing students to view menus, manage meal registrations, check bills, submit feedback, and configure preferences.
      29
      11
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to manage WhatsApp communications by sending messages, managing groups, and analyzing conversation patterns via the WaliChat API. It supports tasks like message scheduling, contact management, and automated business workflows through natural language commands.
      17 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Manage your Blue Apron subscription, browse weekly menus, select recipes, skip deliveries, and update preferences through AI assistants.
      6
      6 npm
      MIT