# quarkus-mcp-server **Repository Path**: mirrors/quarkus_mcp_server ## Basic Information - **Project Name**: quarkus-mcp-server - **Description**: ☕ - 用于基于Quarkus构建MCP服务器的Java SDK。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-07-04 - **Last Updated**: 2025-10-11 ## Categories & Tags **Categories**: Artificial-Intelligence, MCP **Tags**: None ## README # Quarkus MCP Server [![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-) [![Version](https://img.shields.io/maven-central/v/io.quarkiverse.mcp/quarkus-mcp-server-parent?logo=apache-maven&style=flat-square)](https://central.sonatype.com/artifact/io.quarkiverse.mcp/quarkus-mcp-server-parent) This Quarkus extension provides both declarative and programmatic APIs that enable developers to easily implement [MCP](https://modelcontextprotocol.io/)[^1] server features. [^1]: _"[Model Context Protocol](https://modelcontextprotocol.io/) (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools."_ > [!NOTE] > The [LangChain4j](https://github.com/langchain4j/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: ```xml io.quarkiverse.mcp quarkus-mcp-server-sse ${quarkus-mcp-server-version} ``` > [!NOTE] > This dependency includes the HTTP/SSE transport. Use the `quarkus-mcp-server-stdio` artifactId if you want to use the STDIO transport instead. See also the [Supported transports](https://docs.quarkiverse.io/quarkus-mcp-server/dev/#_supported_transports) section in the docs for more information. ### Step #2 Add server features (prompts, resources and tools) represented by _annotated business methods_ of CDI beans. ```java 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.Resource; import io.quarkiverse.mcp.server.TextContent; import io.quarkiverse.mcp.server.Tool; // This class is automatically registered as a @Singleton CDI bean public class MyServerFeatures { @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(Path.of("alpha.txt"))); } } ``` ### 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](https://allcontributors.org/docs/en/emoji-key)):
Martin Kouba
Martin Kouba

💻 🚧
Georgios Andrianakis
Georgios Andrianakis

💻
Max Rydahl Andersen
Max Rydahl Andersen

💡
Rostislav Svoboda
Rostislav Svoboda

💻
George Gastaldi
George Gastaldi

🚇
Jan Martiska
Jan Martiska

📖
Ioannis Canellos
Ioannis Canellos

💻
Sergey Beryozkin
Sergey Beryozkin

💡
Konstantin Pavlov
Konstantin Pavlov

⚠️ 🚇
Martijn van Duijnhoven
Martijn van Duijnhoven

💻 ⚠️ 📖
Pierre Beitz
Pierre Beitz

💻 ⚠️
Matthieu Recouly
Matthieu Recouly

📖
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!