Hugging Face MCP 用 huggingface.co/mcp,不要把 token 写进 http_headers
CLI:codex mcp add huggingface --url https://huggingface.co/mcp,再 mcp login。受限路径走 bearer_token_env_var = HF_TOKEN。不要抄 Claude 的 -t http,也不要把 hf_ 写进 TOML。这不是 Inference Providers 那条 model_providers。
Hugging Face 托管的是远程 Streamable HTTP。公开 Server Card 给的规范地址是 https://huggingface.co/mcp,不带登录查询参数:
codex mcp add huggingface --url https://huggingface.co/mcp
codex mcp login huggingface
[mcp_servers.huggingface]
url = "https://huggingface.co/mcp"
enabled = true
OAuth 走 mcp login huggingface。Claude / Gemini 文档用 https://huggingface.co/mcp?login 打开登录页;Codex 先加规范 URL 再 login。login 起不来时,才把 ?login 写进 url,不要把 token 塞进查询串。
无头备选是进程环境里的 HF_TOKEN:
[mcp_servers.huggingface]
url = "https://huggingface.co/mcp"
bearer_token_env_var = "HF_TOKEN"
enabled = true
键是变量名。不要和已经 login 的 OAuth 写在同一张表。Cursor / VS Code 那份 JSON 把 Bearer 写进 headers,抄进 Codex 的 http_headers 会把密钥提交进 config。
连上之后去 https://huggingface.co/settings/mcp 勾工具和 Gradio Spaces。改完要新开会话,tools/list 才会变。Hub 浏览多用内置 hf_fs。这不是 [model_providers.huggingface] 那条 Inference Providers 路由;MCP 查 Hub,模型供应商改的是你用哪颗模型。
不要做这些:
- 不要抄
claude mcp add hf-mcp-server -t http。Codex 远程用--url,名字写在add后面。 - 不要把
hf_字面量写进 TOML、URL 或http_headers。 - 不要把本地
npx @llmindset/hf-mcp-server/ Docker stdio 当成 Codex 默认。那是自托管。 - 不要给它
required = true挂全局。 - 不要抄
mcpServersJSON,也不要套mcp-remote。
网页 Cloud 不读 ~/.codex/config.toml。改完用 codex mcp get huggingface 看传输是 streamable_http。