# nobrainer-tech-flow 2.7.2: the plugin ZIP declares the MCP server for portable packages too

Release date: 2026-10-25.

This release changes packaging only. Skills, references, workflow guidance, hooks and
the module set (eighteen) do not change.

## Why

After 2.7.1, the OpenAI plugin directory still reported "We are not accepting more
skills-only submissions at this time." The root `plugin.json` carries
`extensions.com.openai`, so OpenAI reads the ZIP as a portable (Agent Plugins) package
and ignores `.codex-plugin/plugin.json`, including its `mcpServers` reference to
`.mcp.json`. Portable packages discover a root `mcp.json`, which the ZIP did not have.

## What changes

- `scripts/build_plugin.py` also writes a root `mcp.json` into the ZIP in the portable
  format: the Agent Plugins schema
  (`https://agent-plugins.org/schemas/1.0.0/mcp.schema.json`) and one server,
  `nobrainer-tech-flow`, with `type: "streamable-http"` and
  `url: "https://mcp.nobrainer.tech/mcp"`. The Codex `.mcp.json` stays for clients that
  read the Codex manifest.
- Both files exist only in the ZIP. The repository root stays free of MCP declarations,
  so marketplace installs do not connect to the remote server.
- The distribution repository `nobrainer-tech-flow-plugin`, tracked by the Claude
  directory, still exports the release without either file, as `docs/RELEASING.md`
  describes.

## Verification record

- `tests/test_mcp_isolation.py` checks that the ZIP contains exactly one root `mcp.json`
  with the exact portable shape, that the root manifest carries `extensions.com.openai`,
  and that the repository root has no `mcp.json`.
- `python3 scripts/validate_skills.py` and `--suite`, the full test suite and
  `git diff --check` pass before merge; the ZIP is byte-identical across builds.
