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: 4 months 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 (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-12T12:03:06.000Z (4 months ago)
- Last Synced: 2025-03-12T13:20:02.361Z (4 months 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 - Quarkus MCP Server SDK - A Java SDK for building MCP servers as Quarkus extensions, leveraging Java's ecosystem and Quarkus performance optimizations for enterprise-grade MCP deployments. ([Read more](/details/quarkus-mcp-server-sdk.md)) `java` `sdk` `quarkus` `mcp` (Development Tools MCP Servers)
- 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-devtools - quarkus-mcp-server - Java SDK for building MCP servers using Quarkus (SDKs / Java)
- 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)
- awesome-mcp-devtools - quarkus-mcp-server - Java SDK for building MCP servers using Quarkus (SDKs / Java)
- mcp-index - Quarkus MCP Server - Enables seamless integration between LLM applications and external data sources and tools using the Model Context Protocol (MCP). Provides both declarative and programmatic APIs for implementing various MCP server functionalities. (Cloud Services)
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!