Generate Drawings with LLMs via JavaFX
A Quarkus-based MCP server that lets an LLM make drawings using JavaFX primitives, installed and run via jbang.
1.0.0.CR4Add to Favorites
Why it matters
Enable large language models to create visual drawings using JavaFX primitives. This Quarkus-based MCP server facilitates LLM-driven graphical content generation.
Outcomes
What it gets done
Integrate LLMs with JavaFX for drawing creation
Serve as an MCP server using Quarkus
Simplify installation with JBang
Generate drawings based on LLM instructions
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Overview
JavaFX MCP Server
A Quarkus-based MCP server that exposes JavaFX drawing primitives to an LLM, letting a model direct visual drawing output. It runs on the JVM via jbang rather than a compiled native binary. Use it when an agent needs to produce JavaFX-based visual drawings; not yet available as a native executable.
What it does
This MCP server enables large language models to make drawings using JavaFX primitives. It is implemented on top of Quarkus MCP and JavaFX, with its initial idea and implementation originating from a public gist by @konczdev. A demo video shows the server in action.
When to use - and when NOT to
Use it when an agent needs to produce actual 2D drawings or visual output through JavaFX's drawing primitives, driven by an LLM. It is not packaged as a native executable: at the moment the server cannot be compiled to a native image because of its JavaFX dependencies, so it always runs on the JVM via jbang. Compiling it natively with GluonFX may be possible but is left as an open exercise, and the project welcomes issues or PRs on that front.
Capabilities
The server exposes JavaFX drawing primitives to an LLM through the MCP protocol, letting a model direct what gets drawn.
How to install
Install jbang first, then configure your MCP client to run the server as jbang jfx@quarkiverse/quarkus-mcp-servers. For Claude Desktop (or any client using the same mcp-cli-style config), add this to claude_desktop_config.json or server_config.json:
{
"mcpServers": {
"jfx": {
"command": "jbang",
"args": [
"jfx@quarkiverse/quarkus-mcp-servers"
]
}
}
}
Who it's for
Developers experimenting with giving an LLM the ability to produce visual/drawing output through JavaFX, running the server via jbang rather than a compiled native binary.
Source README
Model Context Protocol Server for JavaFX
This Model Context Protocol(MCP) server enables Large Language Models (LLMs) to make drawings using JavaFX primities.
The server is implemented using Quarkus MCP and JavaFX.
Initial idea and implementation is from @konczdev
See video here.
General Usage
- Install jbang
- Configure your MCP Client to run the server as
jbang jfx@quarkiverse/quarkus-mcp-servers(see Claude Desktop Config below)
Claude Desktop Config and mcp-cli
Add this to your claude_desktop_config.json or server_config.json file:
{
"mcpServers": {
"jfx": {
"command": "jbang",
"args": [
"jfx@quarkiverse/quarkus-mcp-servers"
]
}
}
}
Native Image/Executable
At this moment the jfx server cannot be compiled to a native executable given the JavaFX dependencies.
It should be possible to do this using GluonFX, but that is for now left up as an exercise to the reader. If you are interested in working on this, please open issue or PR.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.