MCP ExplorerExplorer

Mcp Api Demo

@sebastienblancon 10 months ago
1 MIT
FreeCommunity
AI Systems
# A Quarkus Example Exposing CRUD Services via REST and MCP Server.

Overview

What is Mcp Api Demo

mcp-api-demo is a demonstration project built using Quarkus, showcasing how to expose a service that performs CRUD operations on a database as both a REST endpoint and an MCP Server.

Use cases

Use cases include developing backend services for web applications, creating APIs for mobile applications, and building microservices that require database interactions.

How to use

To use mcp-api-demo, run the application in development mode with ‘./mvnw quarkus:dev’ for live coding. For packaging, use ‘./mvnw package’ to create a runnable JAR file, or use the native executable option with ‘./mvnw package -Dnative’.

Key features

Key features include live coding support, REST endpoint exposure, CRUD operations on a database, and the ability to create native executables using GraalVM.

Where to use

mcp-api-demo can be used in web application development, microservices architecture, and any scenario requiring a lightweight Java service with RESTful capabilities.

Content

mcp-api-demo

This project uses Quarkus, the Supersonic Subatomic Java Framework.

If you want to learn more about Quarkus, please visit its website: https://quarkus.io/.

This simple demo shows how to expose a service (doing CRUD ops in a database) both as REST endpoint and as MCP Server.

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./mvnw quarkus:dev

Navigate to the Dev UI, which is available at http://localhost:8080/q/dev/.
From there you can access the SwaggerUI and the Tools UI, play around !

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/mcp-api-demo-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.
  • Hibernate ORM with Panache (guide): Simplify your persistence code for Hibernate ORM via the active record or the repository pattern
  • JDBC Driver - PostgreSQL (guide): Connect to the PostgreSQL database via JDBC

Provided Code

Hibernate ORM

Create your first JPA entity

Related guide section…

Related Hibernate with Panache section…

REST

Easily start your REST Web Services

Related guide section…

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers