一个 Keycloak 示例:使用 Quarkus 构建我的第一个 MCP 服务器工具

主要观点:近期探索了 Model Context Protocol(MCP)在 Java 生态系统中的发展,开始实验编写 MCP 服务器,选择 Keycloak 编写实验性 MCP 服务器实现,介绍 MCP 的标准及作用,包括在本地开发和远程开发中的不同方式(Stdio 与 SSE),详细阐述 Keycloak 的相关内容,如创建 Keycloak MCP 服务器的步骤(包括添加依赖、创建服务类、编写工具类等),以及如何打包和运行应用,还提到用 Goose 运行应用并给出示例问题,最后总结创建 Keycloak MCP 服务器的过程及相关资源。

关键信息:

  • MCP 是 Anthropic 于 2024 年 11 月推出的标准,旨在帮助社区编写和使用“工具”“提示”和“资源”。
  • Keycloak 是开源身份和访问管理软件,当前版本 26,已广泛使用,提供单点登录等功能。
  • 在 Keycloak 中,“领域”是所有配置和选项的逻辑命名空间,用于管理用户等。
  • 创建 Keycloak MCP 服务器的步骤包括添加 Quarkus 扩展、创建服务类(如 UserService)和工具类(如 UserTool)等。
  • 可通过添加特定属性进行应用打包,用 Goose 运行应用并可通过自然语言查询与 Keycloak 交互。

重要细节:

  • 在创建 UserService 时,通过注入 Keycloak 客户端进行操作,如获取用户列表、创建用户等,并进行了详细的参数处理和错误处理。
  • 在创建 UserTool 时,通过注入 UserService 和 ObjectMapper 进行转换,定义了获取用户和创建用户的工具方法,并对工具描述和参数进行了说明。
  • 提供了相关资源的链接,如 Goose、MCP、Keycloak MCP 服务器等的 GitHub 仓库及相关文章。
阅读 116
0 条评论