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 挂全局。
  • 不要抄 mcpServers JSON,也不要套 mcp-remote

网页 Cloud 不读 ~/.codex/config.toml。改完用 codex mcp get huggingface 看传输是 streamable_http。

来源