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
-
Existing Cluster
Install on production Elasticsearch
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.
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.
-
Security
Hunt threats, investigate alerts, assess risk.
-
Search
Query documents, build aggregations, semantic search.
30-Second Demo¶
1. Start Moltler (one command)
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 |