Appcircle 远程 MCP 用 mcp.appcircle.io,不要 mcp login
官方 Codex:mcp add appcircle --url https://mcp.appcircle.io,再 bearer_token_env_var 读 APPCIRCLE_ACCESS_TOKEN。URL 没有 /mcp。这是 JWT Bearer,不要 mcp login。不要抄 Claude 插件或 http_headers 字面量。
Appcircle 给 Codex 有专节,写在仓库安装指南。官方 CLI 主路径是远程 HTTP:
export APPCIRCLE_ACCESS_TOKEN
codex mcp add appcircle --url https://mcp.appcircle.io --bearer-token-env-var APPCIRCLE_ACCESS_TOKEN
URL 没有 /mcp 后缀。这是 Bearer JWT,不要 codex mcp login:官方没给 OAuth / DCR。不要抄 Claude 的 /plugin marketplace add appcircleio/appcircle-ai-plugins,也不要抄 Copilot 的 appcircle@appcircle-ai-plugins。不要发明 codex plugin add appcircle@openai-curated。不要抄 --transport http。不要抄 JSON mcpServers。
[mcp_servers.appcircle]
url = "https://mcp.appcircle.io"
bearer_token_env_var = "APPCIRCLE_ACCESS_TOKEN"
enabled = true
APPCIRCLE_ACCESS_TOKEN 必须是 Auth API 换回来的 JWT,不是控制台里的 Personal Access Key 或 API Key secret。个人密钥走:
curl -X POST https://auth.appcircle.io/auth/v3/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "personalAccessKey=$APPCIRCLE_PERSONAL_ACCESS_KEY"
响应里的 access_token 才 export。令牌大约 24 小时过期,服务器不自动刷新。401 先查是不是把 raw key 当 token 用了,再查过期。变量必须在启动 Codex 的那个进程里。不要把 JWT 写进 http_headers。App / IDE 节那份 Authorization = "Bearer …" 字面量不要抄。
trigger_build / start_publish / send_app_version_to_testers 会动真流水线,保持工具批准。不要一上来 --yolo。不要 required = true。先问 get_build_profiles 或 get_build_insights_report。
本地 stdio 才 pip install . 后:
codex mcp add appcircle -- /abs/appcircle-mcp
然后 env_vars 转发 APPCIRCLE_ACCESS_TOKEN。不要抄 --env APPCIRCLE_ACCESS_TOKEN= 写进 env 表。本机 HTTP / Docker 才 http://localhost:8000,同样走 bearer_token_env_var,不要 mcp login。
不要做这些:
- 不要发明
codex plugin add appcircle@…。 - 不要抄 Claude / Copilot 的
appcircleio/appcircle-ai-plugins。 - 不要
mcp login,也不要把 raw key 或 JWT 写进http_headers/env表。 - 不要给它
required = true挂全局。
网页 Cloud 不读 ~/.codex/config.toml。改完新开会话。用 codex mcp get appcircle 看传输是 streamable_http。