﻿---
title: "exec 里插件 MCP 要用 name@version，少了后缀就像用户取消"
summary: "plugins.\"inspect-skills\" 对不上 inspect-skills@meridian。lookup miss 后 exec 报 user cancelled，其实没人点过取消。"
category: mcp
level: advanced
surfaces: [cli, ci]
tags: ["MCP", "exec", "插件"]
canonical: /tips/plugin-mcp-exec-key/
---

# exec 里插件 MCP 要用 name@version，少了后缀就像用户取消

plugins."inspect-skills" 对不上 inspect-skills@meridian。lookup miss 后 exec 报 user cancelled，其实没人点过取消。

交互 TUI 里 MCP 能跑，`codex exec` 却报 `user cancelled MCP tool call`，先查插件配置键，不要先开 `--dangerously-bypass-approvals-and-sandbox`。

装完插件后，审批写在带 marketplace 的键下：

```toml
[plugins."inspect-skills@meridian"]
enabled = true

[plugins."inspect-skills@meridian".mcp_servers."py-repl"]
enabled = true
default_tools_approval_mode = "approve"
```

只写 `[plugins."inspect-skills".mcp_servers."py-repl"]` 时，运行时按 `inspect-skills@meridian` 查找会 miss，静默落到 `auto`。exec 没有批准 UI，`None` 被收成 Cancel，于是看起来像用户点了取消。

核对：

```bash
codex mcp list
codex exec --sandbox read-only "只用已配置的 MCP 跑一条只读探测。"
```

`codex mcp list` 里的服务器名（上例是 `py-repl`）必须和 `mcp_servers.` 那段一致；插件键必须是 `name@marketplace`。不要用 `--yolo` 当修配置。用户级 `[mcp_servers]` 改不了插件自带服务器的启动命令。

## 来源

- [openai/codex#29857](https://github.com/openai/codex/issues/29857)
- [OpenAI · Model Context Protocol](https://learn.chatgpt.com/docs/extend/mcp)
