Quarkus MCP
This project is a poc of MCP server generation from an openapi file. It shows how mustache templating can address the need of transform an api in a GenAI-ready API.
Ask AI about Quarkus MCP
Powered by Claude · Grounded in docs
I know everything about Quarkus MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Quarkus MCP Automatic generation
General
This project aims to automatically generate mcp server from openapi spec using :
mvn clean install
When this command is run, the openapi spec located in src/main/resources/openapi.yaml is used to generate the mcp server code.
How to update the generation
The mustache template is located in src/main/resources/openapi-templates/JavaJaxRS/resteasy
This template specifies the code generation for each operation defined in the openapi spec.
If you want to enable mcp server, you have to specify in your openapi spec :
x-enable-mcp-server: true
and you have to specify for each operation
x-enable-mcp-operation: true
In this example, the put operation on orders is the only one enabled.
About Quarkus usage
This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/.
Running the application in dev mode
You can run your application in dev mode that enables live coding using:
./mvnw quarkus:dev
NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
Packaging and running the application
The application can be packaged using:
./mvnw package
It produces the quarkus-run.jar file in the target/quarkus-app/ directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.
The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.jar.type=uber-jar
The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar.
Creating a native executable
You can create a native executable using:
./mvnw package -Dnative
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Dnative -Dquarkus.native.container-build=true
You can then execute your native executable with: ./target/code-with-quarkus-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
Related Guides
- REST (guide): A Jakarta REST implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.
Provided Code
REST
Easily start your REST Web Services
