

# x claude mcp use ...

# x claude mcp use ds
# x claude mcp use miniax
# x claude mcp use zhipu|glm
# x claude mcp use moorethread

# x claude mcp use chrome-dev
# x claude mcp use context7
# x claude mcp use serena
# x claude mcp use ???

___x_cmd_claude_mcp_use(){
    [ $# -gt 0 ] ||     set -- --help

    while [ $# -gt 0 ]; do
        case "$1" in
            -h|--help)  ___x_cmd help -m claude mcp use "$@" ; return 0  ;;
            *)          ___x_cmd_claude_mcp_use___one "$1"; shift ;;
        esac
    done
}

___x_cmd_claude_mcp_use___one(){
    [ $# -gt 0 ] ||     set -- --help
    local op="$1" ;     shift

    case "$op" in
        mm|minimax)     ___x_cmd_claude_mcp_use_minimax     "$@" ;;
        zhipu|glm)      ___x_cmd_claude_mcp_use_zhipu       "$@" ;;
        ds|deepseek)    ___x_cmd_claude_mcp_use_deepseek    "$@" ;;

        *)              ___x_cmd_claude___runcmd    "$op"   "$@" ;;
    esac
}


___x_cmd_claude_mcp_use_minimax(){
    local apikey=""
    local codingplan_apikey=""

    claude:info "Introducing minimax mcp."

    ___x_cmd minimax --cur  apikey:=    codingplan_apikey:=
    local apikey_to_request=""

    if [ -n "$codingplan_apikey" ]; then
        apikey_to_request="$codingplan_apikey"
    elif [ -n "$apikey" ]; then
        apikey_to_request="$apikey"
    else
        [ -n "$apikey_to_request" ] || {
            claude:info \
                --tip1 'x minimax --cfg'                       \
                --tip2 'x minimax --cfg codingplan_apikey=<YOUR-CODING-PLAN-API-KEY>' \
                --tip2 'x minimax --cfg apikey=<YOUR-API-KEY>' \
                "Please setup MINIMAX API-KEY."
            return 1
        }
    fi

    ___x_cmd_claude___runcmd mcp add        \
        -s user                             \
        MiniMax                             \
        --env MINIMAX_API_KEY="$apikey_to_request"  \
        --env MINIMAX_API_HOST=https://api.minimaxi.com -- uvx minimax-coding-plan-mcp -y
}

___x_cmd_claude_mcp_use_zhipu(){
    :
}

___x_cmd_claude_mcp_use_deepseek(){
    :
}

___x_cmd_claude_mcp_use_chrome(){
    :
}

___x_cmd_claude_mcp_use_serena(){
    ___x_cmd_hascmd uvx || {
        claude:info "uvx command not found, installing uv ..."
        ___x_cmd env use uv || return $?
    }

    local project_dir="$PWD"
    ___x_cmd claude -- mcp add serena -- \
        uvx --from git+https://github.com/oraios/serena serena start-mcp-server \
        --context claude-code --project "$project_dir"
}


___x_cmd_claude_mcp_use_cloudflare(){
    claude:info "Setupping Cloudfare MCP"

    claude:info --desc "Cloudflare documentation search" "Adding [MCP=cloudflare-docs]"
    ___x_cmd claude -- mcp add-json cloudflare-docs \
        '{ "type": "http", "url": "https://docs.mcp.cloudflare.com/mcp" }'

    claude:info --desc "Cloudflare Workers builds" "Adding [MCP=cloudflare-workers-builds]"
    ___x_cmd claude -- mcp add-json cloudflare-workers-builds \
        '{ "type": "http", "url": "https://builds.mcp.cloudflare.com/mcp" }'

    claude:info --desc "Cloudflare Workers bindings" "Adding [MCP=cloudflare-workers-bindings]"
    ___x_cmd claude -- mcp add-json cloudflare-workers-bindings \
        '{ "type": "http", "url": "https://bindings.mcp.cloudflare.com/mcp" }'

    claude:info --desc "Cloudflare observability/logs" "Adding [MCP=cloudflare-observability]"
    ___x_cmd claude -- mcp add-json cloudflare-observability \
        '{ "type": "http", "url": "https://observability.mcp.cloudflare.com/mcp" }'

}
