Install
$ agentstack add mcp-quarkiverse-quarkus-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Quarkus MCP Server
[](#contributors-)
[](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[^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:
io.quarkiverse.mcp
quarkus-mcp-server-http
${quarkus-mcp-server-version}
> [!NOTE] > This dependency includes both the legacy "HTTP/SSE" and the "Streamable HTTP" transport. Use the quarkus-mcp-server-stdio artifactId if you want to use the STDIO transport instead. See also the 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.
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 MyFeatures {
@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.txt")
byte[] alpha() throws IOException{
return 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💻 🚧 Georgios Andrianakis💻 Max Rydahl Andersen💡 Rostislav Svoboda💻 George Gastaldi🚇 Jan Martiska📖 Ioannis Canellos💻
Sergey Beryozkin💡 Konstantin Pavlov⚠️ 🚇 Martijn van Duijnhoven💻 ⚠️ 📖 Pierre Beitz💻 ⚠️ Matthieu Recouly📖 Willem Jan Glerum🚇 Sascha Steffen💻 ⚠️
Clement Escoffier📖 Rolfe Dlugy-Hegwer📖 💻 Bruno Baptista📖 💻 Moayad Alyaghshi🐛 💻
This project follows the all-contributors specification. Contributions of any kind welcome!
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: quarkiverse
- Source: quarkiverse/quarkus-mcp-server
- License: Apache-2.0
- Homepage: https://docs.quarkiverse.io/quarkus-mcp-server/dev/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.