This extension enables developers to implement the MCP server features easily.
Quarkus Model Context Protocol (MCP) Server
β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.
Get Started
Step #1
Add the following dependency to your POM file:
<dependency>
<groupId>io.quarkiverse.mcp</groupId>
<!-- use 'quarkus-mcp-server-stdio' if you want to use the STDIO transport instead of the HTTP/SSE transport -->
<artifactId>quarkus-mcp-server-sse</artifactId>
<version>${project-version}</version>
</dependency>
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!
Prerequisites
- β’Familiarity with the server domain
- β’Basic understanding of related technologies
- β’Knowledge of Developer Tools
Recommended Server
Win Cli Mcp Server
Model Context Protocol server for secure command-line interactions on Windows systems
Gmail Mcp Server
A Model Context Protocol (MCP) server for Gmail integration in Claude Desktop with auto authentication support. This server enables AI assistants to manage Gmail through natural language interactions.
Travel Planner Mcp Server
Travel planning and itinerary management microservice server
Details
More Server
Json Mcp Server
JSON handling and processing microservice server
Mcp Server Rabbitmq
MCP server for interacting with RabbitMQ
Redis Mcp Server
A Redis Model Context Protocol (MCP) server implementation for interacting with Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Mcp Pif
A MCP implementation of the personal intelligence framework (PIF)