【终极缝合】喂饭式macOS配置Codex MCP指南

本文将为您提供一个详尽的指南,帮助您在macOS上配置Codex CLI以及MCP(Model Context Protocol)服务,实现高效、便捷的AI应用。

一、安装各种工具

首先,您需要安装一些必要的工具,包括Codex和CC Switch。

安装Codex

使用npm全局安装Codex CLI工具。

npm i -g @openai/codex

下载安装CC Switch

CC Switch是一个用于管理多个MCP服务的工具,您可以从这里下载并安装它。

二、配置KEY

关于API密钥的配置,请参考各家中转站的文档进行设置,这里不再赘述。

三、安装MCP

在安装MCP之前,请确保您已经安装了npxuv,并正确配置了源。以下是安装和配置MCP的步骤:

  1. 打开CC Switch,选择Codex,选择MCP——添加MCP。
  2. 先使用预设添加上sequential-thinkingcontext7,再在自定义里手动添加如下MCP(格式:标题-TOML,自己保存):
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" ]
  1. 检查您的codex配置~/.codex/config.toml,确保它包含以下设置:
disable_response_storage = true
model = "gpt-5"
model_provider = "packycode"
model_reasoning_effort = "high"

# 注意,这里默认是没有api-key的。如果你需要更多的搜索额度,去context7的网站注册申请一个key即可。
[mcp_servers.context7]
args = ["-y", "@upstash/context7-mcp", "--api-key", "你的key"]
command = "npx"
type = "stdio"

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

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

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

[mcp_servers.sequential-thinking]
args = ["-y", "@modelcontextprotocol/server-sequential-thinking"]
command = "npx"
type = "stdio"

[model_providers.packycode]
base_url = "https://codex-api-slb.packycode.com/v1"
env_key = "PACKYCODE_API_KEY"
name = "packycode"
requires_openai_auth = true
wire_api = "responses"

四、安装Serena并配置

接下来,我们将安装Serena并配置它以与Codex CLI协同工作。

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区域添加:

[mcp_servers.serena]
url = "http://127.0.0.1:9121/mcp"

五、编写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服务。如果您希望加入开机自启服务,可以自行添加相关配置。由于macOS用户通常不太喜欢频繁关机,因此这里没有加入开机自启的设置。

参考资料

希望这个指南能够帮助您成功配置Codex CLI和MCP服务,享受高效便捷的AI应用体验!

标签: none

评论已关闭