Detected in daily compat check §24548289602: 2 high-star repos have the same syntax error — a custom MCP server name placed directly in the tools: section instead of mcp-servers:.
Pattern
Users write:
tools:
serena: ['typescript'] # storybookjs/storybook
or:
tools:
tavily:
tools: [search, search_news] # SSWConsulting/SSW.Rules.Content
But the compiler requires unknown servers to be declared under mcp-servers::
mcp-servers:
serena:
command: "..."
tools: ['typescript']
Affected Repositories
Proposed Codemod: tools-unknown-to-mcp-servers
gh aw fix could detect when a tools: entry uses an unrecognized key (not a built-in tool name) and:
- Move the block from
tools: to mcp-servers:
- Wrap it in the correct MCP server config structure (with a skeleton
command: if not present)
- Update the lock file
Example transformation (duplicate-code-detector.md):
# Before
tools:
serena: ['typescript']
# After
mcp-servers:
serena:
command: "..." # TODO: fill in command
tools: ['typescript']
Why This is Common
The tools: and mcp-servers: sections look similar syntactically. A user configuring a new MCP integration naturally tries tools: myserver: ... first before discovering mcp-servers: is the right namespace. The error message already provides good guidance, but an auto-fix would reduce friction for these high-traffic repos.
Acceptance Criteria
gh aw fix migrates tools: { unknown-name: value } → mcp-servers: { unknown-name: value }
- If the value is a list (e.g.
['typescript']), wraps it as tools: under the server block
- Inserts a
# TODO: fill in command placeholder for command: if not present
- Does not touch recognized built-in tool names
References: §24548289602
Related to #26811
Generated by Daily AW Cross-Repo Compile Check · ● 911.5K · ◷
Detected in daily compat check §24548289602: 2 high-star repos have the same syntax error — a custom MCP server name placed directly in the
tools:section instead ofmcp-servers:.Pattern
Users write:
or:
But the compiler requires unknown servers to be declared under
mcp-servers::Affected Repositories
duplicate-code-detector.mdserenacontent-campaign.mdtavilyProposed Codemod:
tools-unknown-to-mcp-serversgh aw fixcould detect when atools:entry uses an unrecognized key (not a built-in tool name) and:tools:tomcp-servers:command:if not present)Example transformation (
duplicate-code-detector.md):Why This is Common
The
tools:andmcp-servers:sections look similar syntactically. A user configuring a new MCP integration naturally triestools: myserver: ...first before discoveringmcp-servers:is the right namespace. The error message already provides good guidance, but an auto-fix would reduce friction for these high-traffic repos.Acceptance Criteria
gh aw fixmigratestools: { unknown-name: value }→mcp-servers: { unknown-name: value }['typescript']), wraps it astools:under the server block# TODO: fill in commandplaceholder forcommand:if not presentReferences: §24548289602
Related to #26811