Shaaf's blog

A technical blog about Java, Kubernetes and things that matter

Keycloak MCP Server: Manage Identity with Natural Language

There is always a distinct thrill in learning something new and immediately putting it to the test. My journey with Model Context Protocol (MCP) servers began with a basic ‘books API’ demo, but I quickly wanted to take it a step further and build something with real-world utility. Since I enjoy working with Keycloak, I thought: Why not create an MCP server for it?

The vision was simple: enable developers to just ‘chat’ with Keycloak. There are so many standard tasks—setting up new users, groups, clients, and browser workflows—that could be streamlined through conversation. For those unfamiliar, Keycloak is an open-source identity and access management solution. I released the first experimental version this past summer, and since then, the wave of constructive community feedback has been incredible. That momentum is exactly what gets me excited to keep building.


Migrating JavaEE apps using Generative AI and Konveyor AI

Static code analysis + Gen-AI

Konveyor AI is a tool used to migrate Java applications to different Java frameworks, such as from JavaEE to Quarkus or Spring or from Spring 5 to 6, using Generative AI and static code analysis. I wrote a detailed post about this last year for the Java Advent Calendar.

Most recently, we have all been hard at work, bringing a preview for our community of users. In this post, I will outline how you can install and configure Konveyor AI using OpenAI and make meaningful generations. However, I have chosen OpenAI for the sake of simplicity in this post. Users can choose many other models, which are documented here.