quarkus-mcp-server

Introduction: This extension enables developers to implement the MCP server features easily.
More: Author   ReportBugs   OfficialWebsite   
Tags:
All Contributors Version This Quarkus extension provides both declarative and programmatic APIs that enable developers to easily implement MCP[^1] server features. [^1]: "Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools." > [!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: xml <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. 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.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(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):
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

⚠️ 🚇

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

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools