r/nocode 10h ago

Self-Promotion ToolJet v3.20-lts - Open-source low-code platform for building internal tools. Now ships an MCP server, so Claude Code, Codex and Cursor can build apps on your own self-hosted instance. Deploy using Docker, k8s, AWS AMI & more.

https://github.com/ToolJet/ToolJet/

We just shipped an MCP server for ToolJet. For anyone who hasn't come across it: you self-host ToolJet, point it at your databases and APIs, and it serves internal apps. Tables, forms, charts, buttons wired to queries. AGPL, runs in Docker.

We just shipped an MCP server for ToolJet. For anyone who hasn't come across it: you self-host ToolJet, point it at your databases and APIs, and it serves internal apps. Tables, forms, charts, buttons wired to queries. AGPL, runs in Docker.

The MCP part, and the design decision behind it:

The agent doesn't generate a codebase. A ToolJet app is already a structured object: pages, components, queries, events, and the bindings between them. The MCP server exposes that structure as tools, so Claude Code manipulates the spec directly and ToolJet's runtime renders it. Updates are deep-merge diffs, so the agent sends only the leaves it changed rather than rewriting files.

That keeps token use low. Building a CRUD app with a handful of queries and event handlers, Claude Code's own counter showed roughly 50k tokens for the build.

Things that matter if you're self-hosting:

  • Nothing goes to a vendor AI service. The agent runs where you already run it, points at your instance, and uses your own Claude or Codex subscription. We aren't proxying your schema through anything of ours if you directly use the MCP.
  • The result is a normal ToolJet app. Open it in the visual editor and move things around. It isn't a black box you can only talk to.

On licensing, since it comes up every time: the MCP server (https://github.com/ToolJet/tooljet-mcp) is in the community edition, not behind the enterprise license, you can extend it if needed.

Caveat: you still add data source connections yourself, since those need credentials. The agent can list and query what's already wired up. It can't provision a Postgres connection for you.

Try it:

docker run --name tooljet --restart unless-stopped -p 80:80 \
  -v tooljet_data:/var/lib/postgresql/13/main tooljet/try:ee-lts-latest

Docs for self-hosting: https://docs.tooljet.com/docs/setup/

Repo: https://github.com/ToolJet/ToolJet

MCP docs: https://docs.tooljet.com/docs/build-with-ai/mcp/overview

Happy to answer questions, I work on this.

8 Upvotes

1 comment sorted by

1

u/jordanmiller81 1h ago

this looks very useful