Using MySQL from a MoonBit Agent

SkillDatabases & data

Using golem:rdbms/mysql from a MoonBit Golem agent. Use when the user asks to connect to MySQL, run SQL, or use MySQL from MoonBit agent code.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Using MySQL from a MoonBit Agent skill

What this skill tells your AI

The instructions your AI receives, as published by golemcloud/golem in golem-skills/skills/moonbit/golem-add-mysql-moonbit/SKILL.md and read by ahel’s review.

The MoonBit SDK already includes the generated package for golem:rdbms/mysql@1.5.0.

Add the Package Import

In the component's moon.pkg, add an alias for the package:

import {
  "golemcloud/golem_sdk/interface/golem/rdbms/mysql" @mysql,
}

Open a Connection

let conn = @mysql.DbConnection::open("mysql://user:password@localhost:3306/app")
  .or_error!("failed to connect to MySQL")

Query Data

MySQL placeholders use ?.

let result = conn.query(
  "SELECT ?",
  [@mysql.DbValue::Varchar("hello")],
).or_error!("query failed")

let row = result.rows[0]
let value = row.values[0]

let message = match value {
  @mysql.DbValue::Varchar(value) => value
  @mysql.DbValue::Text(value) => value
  @mysql.DbValue::Tinytext(value) => value
  @mysql.DbValue::Mediumtext(value) => value
  @mysql.DbValue::Longtext(value) => value
  @mysql.DbValue::Fixchar(value) => value
  _ => abort("unexpected MySQL value")
}

Execute Statements

conn.execute(
  "INSERT INTO notes (id, body) VALUES (?, ?)",
  [@mysql.DbValue::Int(1), @mysql.DbValue::Varchar("hello")],
).or_error!("insert failed")

Transactions

let tx = conn.begin_transaction().or_error!("failed to start transaction")
tx.execute(
  "UPDATE notes SET body = ? WHERE id = ?",
  [@mysql.DbValue::Varchar("updated"), @mysql.DbValue::Int(1)],
).or_error!("update failed")
tx.commit().or_error!("commit failed")

Signals

GitHub stars
2k
Forks
212
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
golem-add-mysql-moonbit
Source
github.com/golemcloud/golem