https://github.com/quarkiverse/quarkus-mcp-server
This extension enables developers to implement the MCP server features easily.
https://github.com/quarkiverse/quarkus-mcp-server
quarkus-extension
Last synced: 25 days ago
JSON representation
This extension enables developers to implement the MCP server features easily.
- Host: GitHub
- URL: https://github.com/quarkiverse/quarkus-mcp-server
- Owner: quarkiverse
- License: apache-2.0
- Created: 2024-12-11T12:40:16.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-12T12:03:06.000Z (about 1 month ago)
- Last Synced: 2025-03-12T13:20:02.361Z (about 1 month ago)
- Topics: quarkus-extension
- Language: Java
- Homepage: https://docs.quarkiverse.io/quarkus-mcp-server/dev/
- Size: 642 KB
- Stars: 34
- Watchers: 3
- Forks: 9
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-mcp-servers - quarkiverse/quarkus-mcp-server - Java SDK for building MCP servers using Quarkus. (Frameworks / 🛠️ <a name="other-tools-and-integrations"></a>Other Tools and Integrations)
- awesome-mcp-servers - quarkiverse/quarkus-mcp-server - Java SDK for building MCP servers using Quarkus. (Frameworks / 🛠️ <a name="other-tools-and-integrations"></a>Other Tools and Integrations)
- awesome-mcp-servers - Quarkus MCP Server - This extension enables developers to implement the MCP server features easily. (Table of Contents / Developer Tools)
- awesome-mcp-servers - Quarkus MCP Server - This extension enables developers to implement the MCP server features easily. (Table of Contents / Developer Tools)
README
# Quarkus Model Context Protocol (MCP) Server
[](#contributors-)
[](https://central.sonatype.com/artifact/io.quarkiverse.mcp/quarkus-mcp-server-parent)
_"[Model Context Protocol](https://modelcontextprotocol.io/) (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](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
${project-version}```
### 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(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](https://allcontributors.org/docs/en/emoji-key)):
Martin Kouba
💻 🚧
Georgios Andrianakis
💻
Max Rydahl Andersen
💡
Rostislav Svoboda
💻
George Gastaldi
🚇
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!