[DOCS] Redundant Metadata – Plugin Manifest Structure in MCP Documentation

Resolved 💬 2 comments Opened Jan 19, 2026 by coygeek Closed Jan 21, 2026

Documentation Type

Missing documentation (feature not documented)

Documentation Location

https://code.claude.com/docs/en/mcp (File: docs/en/mcp.md)

Section/Topic

The "Plugin-provided MCP servers" section, specifically the example regarding inline configuration within plugin.json.

Current Documentation

The documentation provides two examples for plugin-provided MCP servers. While one is for .mcp.json, the general context of the "inline" configuration for plugin.json suggests a structure that may lead users to place server definitions at the root level of the manifest.

What's Wrong or Missing?

The example JSON snippet for a plugin-provided MCP server within plugin.json is missing the mandatory mcpServers wrapper key.

In a standalone .mcp.json file, the root object contains the server names as keys. however, when these same configurations are placed inline inside the main plugin.json manifest, they must be nested under the mcpServers key to be valid. Providing a snippet with the server name at the root level is technically invalid for the plugin.json schema and leads to configuration errors.

Suggested Improvement

Wrap the JSON snippet in the mcpServers key to match the required schema for plugin.json.

Suggested Text for the "inline in plugin.json" example:

{
  "name": "my-plugin",
  "version": "1.0.0",
  "mcpServers": {
    "my-server-name": {
      "command": "${CLAUDE_PLUGIN_ROOT}/servers/my-server",
      "args": ["--port", "8080"]
    }
  }
}

Impact

High - Prevents users from using a feature

Additional Context

  • Severity: Nitpick
  • Related Documentation: This should be cross-referenced with docs/en/plugins-reference.md, which correctly identifies that mcpServers is a top-level key in the manifest used to point to a file or an inline object. Conflicting styles between docs/en/mcp.md and docs/en/plugins-reference.md creates confusion for developers starting with plugins.

---

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗