{"type":"mcp_server","name":"quarkus-mcp-server","description":"This repository provides a Quarkus extension for implementing Model Context Protocol (MCP) servers, enabling seamless integration between LLM applications and external data sources through declarative and programmatic APIs.","category":"Developer Tools","language":"Java","stars":192,"forks":13,"owner":"quarkiverse","github_url":"https://github.com/quarkiverse/quarkus-mcp-server","homepage":"https://docs.quarkiverse.io/quarkus-mcp-server/dev/","setup":"## Setup\n\n### Step #1\nAdd the following dependency to your POM file:\n\n```xml\n<dependency>\n    <groupId>io.quarkiverse.mcp</groupId>\n    <!-- use 'quarkus-mcp-server-stdio' if you want to use the STDIO transport instead of the HTTP/SSE transport -->\n    <artifactId>quarkus-mcp-server-sse</artifactId>\n    <version>${project-version}</version>\n</dependency>\n```\n\n### Step #2\nAdd server features (prompts, resources and tools) represented by _annotated business methods_ of CDI beans.\n\n```java\nimport jakarta.inject.Inject;\n\nimport java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\n\nimport io.quarkiverse.mcp.server.BlobResourceContents;\nimport io.quarkiverse.mcp.server.Prompt;\nimport io.quarkiverse.mcp.server.PromptArg;\nimport io.quarkiverse.mcp.server.PromptMessage;\n\nimport io.quarkiverse.mcp.server.Tool;\nimport io.quarkiverse.mcp.server.Resource;\nimport io.quarkiverse.mcp.server.TextContent;\n\n// This class is automatically registered as a @Singleton CDI bean\npublic class ServerFeatures {\n\n    @Inject\n    CodeService codeService;\n\n    @Tool(description = \"Converts the string value to lower case\")\n    String toLowerCase(String value) {\n        return value.toLowerCase();\n    }\n\n    @Prompt(name = \"code_assist\")\n    PromptMessage codeAssist(@PromptArg(name = \"lang\") String language) {\n        return PromptMessage.withUserRole(new TextContent(codeService.assist(language)));\n    }\n\n    @Resource(uri = \"file:///project/alpha\")\n    BlobResourceContents alpha(RequestUri uri) throws IOException{\n        return BlobResourceContents.create(uri.value(), Files.readAllBytes(Paths.ALPHA));\n    }\n\n}\n```\n\n### Step #3\nRun your Quarkus app and have fun!","tools":"## Available Tools\n\n1.  Prompts (represented by annotated business methods of CDI beans).\n2.  Resources (represented by annotated business methods of CDI beans).\n3.  Tools (represented by annotated business methods of CDI beans).\n4.  `toLowerCase` (Converts the string value to lower case).\n5.  `code_assist` (Assists with code based on the specified language).\n6.  `alpha` (Retrieves blob resource contents from a specified URI).","faq":null,"created_at":"2024-12-11T12:40:16+00:00","updated_at":"2025-03-28T23:28:17+00:00","source_url":"https://model-context-protocol.com/servers/quarkus-mcp-server-extension-model-context","related_articles":[]}