quarkus-mcp-servers

MCP.Pizza Chef: quarkiverse

Each one runs on its own with a single command, and all of them need Java on your machine. The database one reads and also writes, including creating tables and running deletes. The file one reads, searches, and renames, but cannot write new content into a file. The container one starts, stops, and removes containers. The Wolfram Alpha one needs a developer ID from Wolfram before it will answer anything. Pick the piece you need rather than installing the lot.

Coding
Data
Files/PDF

Use This MCP server To

Ask questions of my database in plain English Add or update rows in a database table Search a folder for files matching a name List and clean up containers running on my machine Check what a running Java program is doing Ask Wolfram Alpha a maths or science question

README

Model Context Protocol Servers in Quarkus/Java

This project contains Model Context Protocol servers, implemented in Java using the Quarkus MCP server framework.

These lets you extend the capabilities of your MCP enabled LLM (Large Language Model) AI applications.

These also work in MCP enabled LLM applications, like Claude Desktop. You can find other clients on Awesome MCP Clients page.

Running the servers

All of these servers are available to run with jbang everywhere: Java, JavaScript, Python and more. Where it says jbang it can be replaced with npx @jbangdev/jbang or uvx jbang or pipx jbang dependent on your preference.

Servers

jdbc

The jdbc server can be used to store and retrieve data from a database given just a JDBC URL. You can use any JDBC database, like Postgres, MySQL, Oracle, Sqlite, etc.

jbang jdbc@quarkiverse/quarkus-mcp-servers

See more in the jdbc readme.

jvminsight

The jvminsight server is a server that can be used to inspect a running JVM process.

jbang jvminsight@quarkiverse/quarkus-mcp-servers

See more in the jvminsight readme.

filesystem

The filesystem server is a file system server that can be used to serve files from a file system.

jbang filesystem@quarkiverse/quarkus-mcp-servers [path1] [path2] ...

See more in the filesystem readme.

jfx

The jfx server exposes a canvas that can be used to make drawings using JavaFX.

jbang jfx@quarkiverse/quarkus-mcp-servers

See more in the jfx readme.

kubernetes

The kubernetes server can be used to interact with a Kubernetes cluster.

jbang kubernetes@quarkiverse/quarkus-mcp-servers

containers

The 'containers' server lets you work with Docker/Podman/OCI compatible container engines.

jbang containers@quarkiverse/quarkus-mcp-servers

wolfram

The wolfram server can be used to perform web search optimized for use by a large language model through the Wolfram Alpha LLM API.

jbang wolfram@quarkiverse/quarkus-mcp-servers

Other Quarkus MCP based servers

A WildFly MCP server that allows you to interact with WildFly running servers.

You can check this WildFly vlog that demonstrates its capabilities.

Read more in the WildFly MCP Server readme.

Ideas for other servers

If you have ideas for other servers, feel free to contribute them to this project.

If missing ideas, then look at the reference servers at https://github.com/modelcontextprotocol/servers and see if you can implement them in this project.

Other ideas:

  • zulip
  • jfr/java hooked to jmx/jfr
  • quarkus dev mode
  • ...

Contributing

If you have ideas for other servers, feel free to contribute them to this project.

To get started, clone the repository and build it:

git clone https://github.com/quarkiverse/quarkus-mcp-servers
cd quarkus-mcp-servers
mvn clean install

Then run the following command to generate a new server for i.e. jfr:

mkdir jfr
cd jfr
jbang init -t mcp jfr

This will create the jfr directory with a Hello World MCP server.

You can then build it:

mvn clean install

To wire it into the full project you need to add <module>jfr</module> to the root pom.xml file.

Make sure you have added some useful content to the README.md file + updated the demo image.

Then open a PR :)

quarkus-mcp-servers FAQ

Is this one server or several?
Several. Seven separate servers live in the same project, and you run whichever one you want on its own.
Do I need Java installed?
Yes. Every one of them starts through a small Java launcher called jbang, so a Java runtime has to be on the machine.
Do I need a key or token?
Only for the Wolfram Alpha one, which needs a developer ID from Wolfram. The database one needs your database sign-in details; the rest ask for nothing.
Can I use this to edit a document on my computer?
No. The file server reads, lists, searches, and can rename or move things, but it has no way to write new content into a file.
Can it change my database, or only read it?
It can change it. Alongside read-only queries there are tools that insert, update, delete, and create tables, so point it at a copy first.
Which apps does it work in?
Claude Desktop and other tools that accept a small config file naming the command to run.