Atlas / MCP servers / antonylu0826 / Zenku

ZenkuBLOCK

mcp/antonylu0826/zenku

AI-first No-Code engine for building production-ready data apps via conversation. Features Multi-Agent architecture, dynamic UI rendering, and built-in Undo/Time-Machine. Supports SQLite, Postgres, and MSSQL.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
4 2r · 2w · 0d
Transport
streamable-http
License
NOASSERTION
Stars
35
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Build Production-Ready Data Apps via Conversation.

繁體中文 | Documentation

Zenku is an AI-first, open-source No-Code Engine designed for building enterprise-grade data applications. Instead of generating static code, Zenku uses a sophisticated Multi-Agent Architecture to dynamically evolve your database schema, UI views, and business logic in real-time through natural language.

  • Chat-to-App Workflow: Transform "I need a CRM" into a live system (Schema -> CRUD UI -> Dashboard) in seconds.
  • Specialist Agent System: Dedicated agents for Schema, UI, Logic, Query, and Testing, coordinated by a central Orchestrator.
  • Enterprise DB Support: Native support for SQLite, PostgreSQL, and Microsoft SQL Server (MSSQL).
  • Versatile View Engine: Dynamic rendering for Kanban, Gantt, Calendar, Timeline, Dashboard, and more.
  • Real-time Logic: A powerful Business Rules Engine for automation, validation, and third-party webhooks (e.g., n8n).
  • Reliability & Undo: A built-in Design Journal acting as a "Time Machine," allowing you to undo any AI change instantly.
  • MCP Ready: Full Model Context Protocol support, enabling external AI tools to control your Zenku instance.

🧠 Architecture: The Multi-Agent Orchestrator

Unlike simple "Code Gen" wrappers, Zenku separates reasoning from execution through specialized roles:

graph TD
User[User]  Orch[Orchestrator Agent]
Orch  Schema[Schema Agent]
Orch  UI[UI Agent]
Orch  Query[Query Agent]
Orch  Logic[Logic Agent]
Orch  Test[Test Agent]

🏗️ Architecture

Zenku uses a Monorepo (npm workspaces) structure:

1. @zenku/server (The Brain)

Read from source at commit 5fdcbd16a862OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add web --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env GEMINI_API_KEY=${GEMINI_API_KEY} --env OPENAI_API_KEY=${OPENAI_API_KEY} --env OPENROUTER_API_KEY=${OPENROUTER_API_KEY} -- npx -y @zenku/[email protected]
claude-desktop
{
  "mcpServers": {
    "web": {
      "command": "npx",
      "args": [
        "-y",
        "@zenku/[email protected]"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
        "GEMINI_API_KEY": "${GEMINI_API_KEY}",
        "OPENAI_API_KEY": "${OPENAI_API_KEY}",
        "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}"
      }
    }
  }
}
03

Exposed tools (4)

2 read · 2 write · 0 destructive.

ToolRiskDescription
assess_impactreadAssess impact of destructive schema changes. Must call this tool before executing drop_column, rename_column, change_type, or drop_table. Reports affected interfaces, rules, record count, and foreign key dependencies.
query_datawriteQuery data and answer statistics questions. Can only execute SELECT queries.
set_translationswriteRegister or update translation entries for user-defined content ($key → display text per locale). Call this after creating schema or views when the user
undo_actionreadUndo previous operations. Call when user says
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (5 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (12)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
packages/server/src/db/mssql-adapter.ts:332
EXEC('ALTER TABLE [' + @tbl + '] DROP CONSTRAINT [' + @con + ']');
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
packages/web/src/components/blocks/TableView.tsx:421
const blob = new Blob(['' + csv], { type: 'text/csv;charset=utf-8;' });
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/server/src/index.ts:6
dotenv.config({ path: path.resolve(process.cwd(), '../../.env') });
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/server/src/tools/handlers/guide-tool.ts:5
const GUIDE_PATH = join(process.cwd(), '../../docs', 'external-integration-guide.md');
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/server/src/tools/handlers/i18n-tool.ts:2
import { bulkSetTranslations } from '../../i18n';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/server/src/tools/handlers/meta-tool.ts:2
import { getUserTables, getTableSchema } from '../../db/schema';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/server/src/tools/handlers/query-tool.ts:2
import { runQueryAgent } from '../../agents/query-agent';
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
concurrently, kill-port
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/server/package.json
@anthropic-ai/sdk, @google/generative-ai, @modelcontextprotocol/sdk, @zenku/shared, bcryptjs, cors, dotenv, express
Why it matters. 23 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/shared/package.json
typescript
Why it matters. 1 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/web/package.json
@codemirror/lang-json, @codemirror/state, @codemirror/theme-one-dark, @codemirror/view, @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities, @fontsource-variable/geist
Why it matters. 79 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
docs/external-integration-guide.md:264
| `403 ERROR_API_KEY_INVALID_OR_INSUFFICIENT_SCOPE` | API key lacks the required scope | Add `write:*` for POST/PATCH, `webhook:callback` for the callback endpoint |
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha 5fdcbd16a862full audit observations/trust-audit/mcp-server/antonylu0826__zenku.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-085fdcbd16a862BLOCKD69first audit
06

Questions

What is the Zenku MCP server?

AI-first No-Code engine for building production-ready data apps via conversation. Features Multi-Agent architecture, dynamic UI rendering, and built-in Undo/Time-Machine. Supports SQLite, Postgres, and MSSQL.

What tools does Zenku expose?

4 in total: 2 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is Zenku safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What credentials does Zenku need?

It reads ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY and WEBHOOK_SECRET from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Zenku run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as @zenku/web at 1.0.2.

How current is this page?

The grade is for one exact copy of the source (5fdcbd16a862), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement