LI

Lippia Custom MCP Server for Autonomous Agents

Deploy the Lippia custom MCP server to connect and manage any Autonomous Agent supporting the protocol for seamless integration and control.

Overview

Lippia Custom MCP Server is a Java-based Model Context Protocol (MCP) server built to integrate with any Autonomous Agent that implements the MCP standard. It exposes a set of automation primitives, test-generation capabilities and reporting utilities over both StdIO and HTTP REST transports so agents can orchestrate end-to-end UI automation, exploratory navigation, and test execution workflows programmatically.

The server is intended for developers who want to run Lippia as a self-hosted MCP-compatible endpoint. An agent can drive feature generation, create glue code, execute suites, and receive structured reports and progress notifications. This decoupled approach makes it straightforward to plug Lippia into multi-agent systems, CI pipelines, or custom orchestration layers.

Features

  • Support for MCP over StdIO and HTTP REST transports
  • Autonomous feature and test generation (create_feature, create_test)
  • Test execution orchestration (execute_test) with result reporting
  • Navigation and UI actions: open_browser, close_browser, navigate_to, click, type, screenshot, get_text, get_page_title, get_current_url, get_page_source
  • Wait helpers: wait_clickable, wait_visibility, wait_presence, wait_invisibility, etc.
  • Verification utilities: is_enabled, is_selected, is_present, is_visible
  • Integration hooks for chat/notification platforms (Google Chat, Slack, Teams, Discord)
  • Built on Java 17+, Spring Boot and the MCP Java SDK for extensibility and production-ready operation

Installation / Configuration

Prerequisites:

  • Java 17+ installed
  • Maven 3.x
  • Optional: Docker for containerized runs

Clone and build:

git clone https://github.com/Lippia-io/Lippia-MCP-Server.git
cd Lippia-MCP-Server
mvn -DskipTests clean package

Run the server (HTTP REST mode, default Spring Boot properties):

java -jar target/lippia-mcp-server.jar --server.port=8080

Run the server in StdIO mode (intended when the agent launches the process and communicates via stdin/stdout):

# Example environment variable to select transport (implementation may vary)
export LIPPIA_TRANSPORT=stdio
java -jar target/lippia-mcp-server.jar

Configuration notes:

  • Use standard Spring Boot properties (application.yml / application.properties) to configure HTTP port, logging, credentials and persistence.
  • Notification integrations (Slack/Teams) typically require webhook URLs or bot credentials — configure them as environment variables or in config files.
  • The server exposes MCP endpoints and/or listens for MCP messages over StdIO depending on the transport selected.

Docker (optional):

FROM eclipse-temurin:17-jre
COPY target/lippia-mcp-server.jar /app/lippia-mcp-server.jar
CMD ["java","-jar","/app/lippia-mcp-server.jar"]

Build and run:

docker build -t lippia-mcp-server .
docker run -p 8080:8080 --env LIPPIA_TRANSPORT=http lippia-mcp-server

Available Resources

Key categories of server capabilities:

CategoryExamples
Navigation / Actionsopen_browser, close_browser, navigate_to, click, type, screenshot
Waitswait_clickable, wait_visibility, wait_presence, wait_invisibility
Verificationsis_enabled, is_selected, is_present, is_visible
Build & Reportingcreate_feature, create_test, execute_test, send_report
TransportsStdIO, HTTP REST

These resources are exposed as MCP commands/messages. The server stores mapping information generated during autonomous navigation to help glue-code generation and test orchestration.

Use Cases

  1. Autonomous feature generation from user stories

    • Developer or CI job sends user stories to the agent.
    • Agent requests create_feature from the MCP server.
    • Server returns a Gherkin feature file and location.
    • Example (pseudo-MCP request):
      {
        "action": "create_feature",
        "payload": {
          "user_story": "As a user, I want to log in so I can access my dashboard"
        }
      }
      
    • The agent fetches the generated feature and proceeds to create glue code.
  2. Exploratory navigation and test discovery

    • Agent drives the server’s navigation actions (open_browser, navigate_to, click) to map flows.
    • Server keeps an in-memory application map used by create_test to propose test cases.
    • Example: agent issues navigate_to + click sequences; server returns discovered page elements and suggested assertions.
  3. Automated test execution in CI

    • CI job triggers execute_test with a test suite identifier.
    • Server runs the suite using WebDriver browsers, captures screenshots and results.
    • After completion, send_report posts results to Slack or a configured notification channel.
  4. Complex form automation and visual validation

    • Agent instructs the server to fill out multi-step forms using type, click, and validation checks (is_visible, is_present).
    • Server captures screenshots at checkpoints and uses AI-assisted analysis to validate UI states, returning enriched reports.

Quick Reference — Example MCP message (illustrative)

Request to execute a test:

{
  "id": "req-123",
  "method": "execute_test",
  "params": {
    "suite": "regression-login",
    "browser": "chrome",
    "headless": true
  }
}

Typical response:

{
  "id": "req-123",
  "result": {
    "status": "started",
    "executionId": "exec-456"
  }
}

Use the executionId to query progress or request