J

quarkus-mcp-server

...
Created 12/11/2024byquarkiverse

Categories

quarkus-extension

Language:

Java

Stars:

81

Forks:

20

Quarkus Model Context Protocol (MCP) Server

All Contributors

Version

"Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools."

This extension provides declarative and programmatic APIs that enable developers to implement the MCP server features easily.

[!NOTE]
The LangChain4j project provides the MCP client functionality, either as a low-level programmatic API or as a full-fledged integration into AI-infused applications.

Get Started

Step #1

Add the following dependency to your POM file:


    io.quarkiverse.mcp
    
    quarkus-mcp-server-sse
    ${project-version}

Step #2

Add server features (prompts, resources and tools) represented by annotated business methods of CDI beans.

import jakarta.inject.Inject;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;

import io.quarkiverse.mcp.server.BlobResourceContents;
import io.quarkiverse.mcp.server.Prompt;
import io.quarkiverse.mcp.server.PromptArg;
import io.quarkiverse.mcp.server.PromptMessage;

import io.quarkiverse.mcp.server.Tool;
import io.quarkiverse.mcp.server.Resource;
import io.quarkiverse.mcp.server.TextContent;


            
        
            
                // This class is automatically registered as a @Singleton CDI bean
public class ServerFeatures {

    @Inject
    CodeService codeService;

    @Tool(description = "Converts the string value to lower case")
    String toLowerCase(String value) {
        return value.toLowerCase();
    }

    @Prompt(name = "code_assist")
    PromptMessage codeAssist(@PromptArg(name = "lang") String language) {
        return PromptMessage.withUserRole(new TextContent(codeService.assist(language)));
    }

    @Resource(uri = "file:///project/alpha")
    BlobResourceContents alpha(RequestUri uri) throws IOException{
        return BlobResourceContents.create(uri.value(), Files.readAllBytes(Paths.ALPHA));
    }

}

Step #3

Run your Quarkus app and have fun!

Documentation

The full documentation is available at https://quarkiverse.github.io/quarkiverse-docs/quarkus-mcp-server/dev/index.html.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

  Martin Kouba💻 🚧
  Georgios Andrianakis💻

        
    
        
                  Max Rydahl Andersen💡
  Rostislav Svoboda💻
  George Gastaldi🚇

This project follows the all-contributors specification. Contributions of any kind welcome!

Last updated: 4/11/2025

Publisher info

quarkiverse's avatar

Quarkiverse Hub

A place to host and build Quarkus extensions

United States of America
338
followers
0
following
171
repos

More MCP servers built with Java

wildfly-mcp

WildFly MCP server and other tooling to integrate WildFly in AI space

By wildfly-extras4
mcp-server-jina-java

对接jina reader api的mcp服务器

By GARCHENG4
wildfly-weather

Simple MCP Server example

By ehsavoie3