sdkman-mcp

查看源码
2025-5-12
Words 1123Read Time 3 min
Score:85

为SDKMAN提供MCP服务器功能,支持通过AI助手管理SDK版本。

SDKMAN 交互式命令行工具

为 SDKMAN(软件开发工具包管理器)提供交互式命令行界面,使浏览、筛选和安装 SDK 更加便捷。
中文文档

功能特性

  • 交互式版本选择,支持格式化显示
  • 通过关键词筛选版本(例如 "21" 可筛选 Java 21)
  • 支持所有 SDKMAN 候选工具(如 Java、Kotlin、Gradle 等)
  • 全面的命令行接口
  • 用户友好的版本信息展示

环境要求

  • Python 3.6 及以上版本
  • 已安装并配置 SDKMAN
  • Bash shell 环境

安装步骤

克隆本仓库:

使用指南

作为 Python 模块使用

命令行接口

本工具提供开箱即用的脚本:

通用 SDK 安装器

安装任意 SDKMAN 候选工具:

JDK 专用安装器

主命令行工具

模块也可直接运行:

与 AI 助手集成(MCP 支持)

SDKMAN 交互式 CLI 可集成支持模型上下文协议(MCP)的 AI 助手,使您能够通过对话直接管理 SDK。

与 Claude Desktop 集成

要在 Claude Desktop 中使用本工具,请编辑 Claude 配置文件:
  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
添加以下配置:

与其他 MCP 兼容 AI 助手集成

对于其他支持 MCP 的 AI 助手:
  1. 配置助手以本模块作为 MCP 服务器
  1. 提供模块路径:src.sdkman_mcp.sdk_commands
  1. 确保环境可访问您的 SDKMAN 安装

可用 MCP 命令

集成 MCP 后,您可以使用自然语言与 SDKMAN 交互:
  • "列出可用的 Java 版本"
  • "安装 Java 21"
  • "显示当前安装的 SDK"
  • "将 Gradle 更新到最新版本"
  • "将 Java 17 设为默认版本"
AI 助手将解释这些命令并使用相应的 SDKMAN 功能执行。

示例输出

运行交互式安装器时,您将看到格式化的可用版本列表:

API 参考

模块提供以下函数:
  • sdk_interactive_install(candidate, search_version=None):交互式安装
  • parse_sdk_versions(output, search_version=None):解析 SDK 版本列表
  • 其他标准 SDKMAN 函数(list、install、current 等)

工作原理

本工具通过以下方式增强 SDKMAN 的交互体验:
  1. 通过 shell 执行 SDKMAN 命令
  1. 解析并格式化输出
  1. 提供交互式选择界面
  1. 处理安装过程中的确认步骤

故障排除

常见问题及解决方案:
  • SDKMAN 未找到:确保 SDKMAN 已正确安装在 ~/.sdkman 或设置 SDKMAN_DIR 环境变量
  • 权限被拒绝:检查 SDKMAN 脚本是否具有执行权限
  • 命令未找到:确保系统已安装 bash(运行 SDKMAN 命令需要)
  • MCP 集成问题:检查 AI 助手是否具有执行命令的适当权限

贡献指南

欢迎贡献!请随时提交 Pull Request。

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

致谢

  • SDKMAN - 软件开发工具包管理器
  • 所有为本项目做出贡献的开发者
上一篇
NeoCoder-neo4j-ai-workflow
下一篇
mcp-say