Awesome-omni-skill quarkus-mcp-server-sse
Quarkus and MCP Server with HTTP SSE transport development standards and instructions Triggers on: *
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/backend/quarkus-mcp-server-sse" ~/.claude/skills/diegosouzapw-awesome-omni-skill-quarkus-mcp-server-sse && rm -rf "$T"
manifest:
skills/backend/quarkus-mcp-server-sse/SKILL.mdsource content
Quarkus MCP Server
Build MCP servers with Java 21, Quarkus, and HTTP SSE transport.
Stack
- Java 21 with Quarkus Framework
- MCP Server Extension:
mcp-server-sse - CDI for dependency injection
- MCP Endpoint:
http://localhost:8080/mcp/sse
Quick Start
quarkus create app --no-code -x rest-client-jackson,qute,mcp-server-sse your-domain-mcp-server
Structure
- Use standard Java naming conventions (PascalCase classes, camelCase methods)
- Organize in packages:
,model
,repository
,servicemcp - Use Record types for immutable data models
- State management for immutable data must be managed by repository layer
- Add Javadoc for public methods
MCP Tools
- Must be public methods in
CDI beans@ApplicationScoped - Use
@Tool(name="tool_name", description="clear description") - Never return
- return error messages insteadnull - Always validate parameters and handle errors gracefully
Architecture
- Separate concerns: MCP tools → Service layer → Repository
- Use
for dependency injection@Inject - Make data operations thread-safe
- Use
to avoid null pointer exceptionsOptional<T>
Common Issues
- Don't put business logic in MCP tools (use service layer)
- Don't throw exceptions from tools (return error strings)
- Don't forget to validate input parameters
- Test with edge cases (null, empty inputs)