本文将深入探讨如何配置macOS环境,以实现高效的Codex CLI与MCP(Model Context Protocol)的集成。我们将详细解析安装必要工具、配置API密钥、安装和配置MCP服务,以及如何编写Serena脚本以实现自动化管理。这些步骤将帮助用户充分利用macOS的强大功能,提升工作效率。

一、安装各种工具

首先,我们需要安装Codex CLI。打开终端并执行以下命令:

npm i -g @openai/codex

接下来,下载并安装CC Switch,这是一个用于管理多个MCP服务的工具。你可以从这里获取更多信息。

二、配置KEY

配置API密钥是使用Codex CLI和MCP服务的关键步骤。具体的配置方法可以参考各个服务提供商的中转站文档,这里不再赘述。

三、安装MCP

在安装MCP之前,请确保你已经安装了npxuv,并正确配置了源。然后,打开CC Switch,选择Codex,添加MCP服务。你可以使用预设的配置,也可以手动添加自定义的MCP服务。以下是一些示例配置:

[ddg-search]
type = "stdio"
command = "uvx"
args = ["duckduckgo-mcp-server"]

=======分割线=======

[@playwright/mcp]

type = "stdio"
command = "npx"
args = ["@playwright/mcp@latest"]

=======分割线=======

[mcp-deepwiki]

type = "stdio"
command = "npx"
args = ["-y", "mcp-deepwiki@latest"]

接下来,检查你的Codex配置文件~/.codex/config.toml,确保它包含了正确的MCP服务器设置。

四、安装Serena并配置

首先,使用以下命令克隆Serena的GitHub仓库:

git clone https://github.com/oraios/serena.git
cd serena
uv run serena start-mcp-server --context codex --transport streamable-http --port 9121

然后,修改Codex配置文件~/.codex/config.toml,添加rmcp_client = true,并在MCP区域添加Serena服务器的配置。

五、编写Serena脚本

创建一个脚本文件,例如vi ~/serena.sh,并添加以下内容:

#!/bin/bash
APP_DIR="$HOME/serena"
PID_FILE="$APP_DIR/serena.pid"
COMMAND="uv run serena start-mcp-server --context codex --transport streamable-http --port 9121"

if [ ! -d "$APP_DIR" ]; then
    echo "错误: 应用程序目录 '"$APP_DIR"' 不存在。"
    echo "请先创建该目录并放置好您的 serena 项目。"
    exit 1
fi

start() {
    if [ -f "$PID_FILE" ]; then
        PID=$(cat "$PID_FILE")
        if kill -0 "$PID" > /dev/null 2>&1; then
            echo "Serena 已经在运行中,PID: $PID"
            exit 0
        else
            echo "发现一个无效的 PID 文件,将自动删除它。"
            rm "$PID_FILE"
        fi
    fi

    echo "正在启动 Serena..."
    cd "$APP_DIR" && $COMMAND > /dev/null 2>&1 &
    PID=$!
    echo $PID > "$PID_FILE"
    sleep 1
    if kill -0 $PID > /dev/null 2>&1; then
        echo "Serena 启动成功,PID: $PID"
    else
        echo "Serena 启动失败,请检查配置或手动执行命令排查问题。"
        rm "$PID_FILE"
        exit 1
    fi
}

stop() {
    if [ ! -f "$PID_FILE" ]; then
        echo "Serena 未在运行 (未找到 PID 文件)。"
        exit 0
    fi

    PID=$(cat "$PID_FILE")

    if ! kill -0 "$PID" > /dev/null 2>&1; then
        echo "Serena 未在运行 (但找到了一个无效的 PID 文件)。"
        rm "$PID_FILE"
        exit 0
    fi

    echo "正在停止 Serena (PID: $PID)..."
    kill "$PID"
    rm "$PID_FILE"

    echo "Serena 已停止。"
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    *)
        echo "用法: $0 {start|stop}"
        exit 1
        ;;
esac

exit 0

每次开机时,执行~/serena.sh start命令即可启动Serena服务。如果需要停止服务,则执行~/serena.sh stop

以上就是关于如何配置macOS环境以实现Codex CLI与MCP集成的全部内容。希望这些信息能帮助你更好地利用macOS的强大功能,提升工作效率。

标签: none

评论已关闭