different-ai/openwork · error · Error
DATABASE_URL is required (e.g. mysql://root:password@127.0.0
Error message
DATABASE_URL is required (e.g. mysql://root:password@127.0.0.1:3306/openwork_den)
What it means
Error "DATABASE_URL is required (e.g. mysql://root:password@127.0.0.1:3306/openwork_den)" thrown in different-ai/openwork.
Source
Thrown at ee/packages/den-admin-mcp/index.mjs:30
//
// Register in OpenWork (opencode.json):
// { "mcp": { "den-admin": { "type": "local",
// "command": ["node", "/path/to/ee/packages/den-admin-mcp/index.mjs"],
// "environment": { "DATABASE_URL": "mysql://..." }, "enabled": true } } }
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import mysql from "mysql2/promise";
import { z } from "zod";
const DEFAULT_ROW_LIMIT = Number(process.env.DEN_ADMIN_MCP_ROW_LIMIT || 200);
let pool = null;
function getPool() {
if (!pool) {
const url = process.env.DATABASE_URL;
if (!url) {
throw new Error(
"DATABASE_URL is required (e.g. mysql://root:password@127.0.0.1:3306/openwork_den)",
);
}
pool = mysql.createPool({ uri: url, connectionLimit: 4, dateStrings: true });
}
return pool;
}
async function rows(sqlText, params = []) {
const [result] = await getPool().query(sqlText, params);
return result;
}
const n = (value) => Number(value ?? 0);
function ok(data) {
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
}View on GitHub (pinned to 2b7df46e8a)
When it happens
Trigger: Thrown at ee/packages/den-admin-mcp/index.mjs:30 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of different-ai/openwork@2b7df46e8a (2026-09-01).
Data as JSON: /api/errors/3810a325c9457426.
Report an issue: GitHub.