Skip to content

Moltler

The skills framework for Elasticsearch. Build, share, and run skills on your data.


What is Moltler?

Moltler is a framework for building skills - reusable operations that run directly on your Elasticsearch data. Create your own skills, share them with the community, and leverage 155+ ready-to-use skills.


Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        USER / AI AGENT                          │
└─────────────────────────────────────────────────────────────────┘
        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌───────────────┐    ┌───────────────┐    ┌───────────────┐
│  MoltlerHub   │    │  Moltler CLI  │    │  Moltler MCP  │
│  (Web Portal) │    │  (Terminal)   │    │  (AI Bridge)  │
└───────────────┘    └───────────────┘    └───────────────┘
        │                     │                     │
        └─────────────────────┼─────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│               Elasticsearch + elastic-script plugin             │
│                        (Skills Runtime)                         │
└─────────────────────────────────────────────────────────────────┘
Component Purpose Required
elastic-script plugin Elasticsearch plugin that executes skills ✅ Yes
Moltler CLI Install and manage skills from your terminal ✅ Yes
MoltlerHub Web portal to browse, search, and discover skills Optional
Moltler MCP Bridge for AI agents (Claude, Cursor, etc.) Optional

Getting Started

Choose your installation path:

  • Try It Out

    Demo, evaluation, or development

    Quick Start

    git clone --recurse-submodules https://github.com/bahaaldine/moltler.git
    cd moltler && ./scripts/quick-start.sh
    
  • Existing Cluster

    Install on production Elasticsearch

    Production Install

    # Build plugin, install on each node
    elasticsearch-plugin install elastic-script.zip
    

Quick Start

5 minutes to first skill:

# 1. Clone and start (builds plugin + starts ES)
git clone --recurse-submodules https://github.com/bahaaldine/moltler.git
cd moltler && ./scripts/quick-start.sh

# 2. Install skills
cd hub && ./moltler-cli.sh install --all

# 3. Run your first skill
./moltler-cli.sh run get-recent-errors

# 4. (Optional) Browse skills on MoltlerHub
cd ../moltler-hub && npm install && npm run dev

Result: Elasticsearch on localhost:9200 with 155+ skills.

Full Installation Guide →


Why build skills on Elasticsearch?

  • Your data is already there - Logs, metrics, traces, security events
  • Elasticsearch's power - Search, aggregations, semantic, ML built-in
  • No data movement - Skills run where the data lives
  • AI-ready - Skills are discoverable by AI agents via MCP
  • Community - Share skills, learn from others, contribute back

Pick Your Solution

  • Observability

    Investigate incidents, analyze logs, monitor services.

    Get Started

    RUN SKILL get_recent_errors();
    RUN SKILL get_slow_transactions(service => 'api');
    RUN SKILL correlate_logs(trace_id => 'abc123');
    
  • Security

    Hunt threats, investigate alerts, assess risk.

    Get Started

    RUN SKILL hunt_ioc(ioc => '192.168.1.100');
    RUN SKILL get_risky_users(threshold => 70);
    RUN SKILL search_security_events(query => 'failed login');
    
  • Search

    Query documents, build aggregations, semantic search.

    Get Started

    RUN SKILL semantic_search(query => 'pricing info');
    RUN SKILL top_values(field => 'category', limit => 10);
    RUN SKILL get_search_analytics();
    

30-Second Demo

1. Start Moltler (one command)

./scripts/quick-start.sh

2. Run a skill (instant value)

curl -s -u elastic-admin:elastic-password http://localhost:9200/_escript \
  -H "Content-Type: application/json" \
  -d '{"query": "RUN SKILL get_recent_errors()"}' | jq

3. See results

{
  "result": [
    {"level": "ERROR", "service": "api-gateway", "message": "Connection timeout"},
    {"level": "ERROR", "service": "payment", "message": "Invalid card number"}
  ]
}

That's it. No configuration, no learning curve, just answers.


How It Works

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│   You/AI     │────▶│    Skill     │────▶│ Elasticsearch│
│              │     │              │     │              │
│ "Find errors"│     │ get_recent_  │     │ ES|QL query  │
│              │     │ errors()     │     │ on your data │
└──────────────┘     └──────────────┘     └──────────────┘

Skills are: - Pre-built ES|QL queries with parameters - Stored in Elasticsearch (.escript_skills index) - Callable via REST API or MCP (for AI agents) - Shareable via MoltlerHub (155+ skills available)


Install Skills

# Install all 155 skills
cd hub && ./moltler-cli.sh install --all

# Or install by solution
./moltler-cli.sh install --all --category observability
./moltler-cli.sh install --all --category security
./moltler-cli.sh install --all --category search

For AI Agents (MCP)

Skills are automatically exposed to AI agents via the Model Context Protocol:

# List available skills
curl -s http://localhost:9200/_escript/mcp \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'

# Call a skill
curl -s http://localhost:9200/_escript/mcp \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {"name": "get_recent_errors", "arguments": {"limit": 5}},
    "id": 1
  }'

Your AI assistant can now query your Elasticsearch data using natural language.


Build Your Own Skills

Once you've used the pre-built skills, create your own:

CREATE SKILL my_custom_skill
  VERSION '1.0.0'
  DESCRIPTION 'Describe what it does and when to use it'
  (param1 STRING DEFAULT 'logs-*')
  RETURNS ARRAY
BEGIN
  RETURN ESQL_QUERY('FROM ' || param1 || ' | LIMIT 10');
END SKILL;

Share with your team or the community via MoltlerHub.


The Golden Path

┌─────────────────────────────────────────────────────────────────────┐
│                         YOUR JOURNEY                                 │
│                                                                      │
│  ① RUN existing skills                                              │
│     └── 155+ skills for O11y, Security, Search                       │
│                     ↓                                                │
│  ② BUILD your own skills                                            │
│     └── elastic-script with full ES power                            │
│                     ↓                                                │
│  ③ SHARE with the community                                         │
│     └── Publish to MoltlerHub                                        │
│                     ↓                                                │
│  ④ CONNECT to AI assistants                                         │
│     └── Every skill is MCP-ready                                     │
└─────────────────────────────────────────────────────────────────────┘

Next Steps

I want to... Go here
Investigate an incident Observability Guide
Hunt for threats Security Guide
Query my data Search Guide
Browse all skills MoltlerHub
Build my own skill Creating Skills
Connect an AI agent MCP Integration
Run the demo ./scripts/demo.sh