Ensure plugin IDs are compliant as MCP provider names (no `:`)
## Description
The MCP specification forbids the `:` character in provider names (tool names, prompt names, resource names, etc.). The SDK enforces this via `Mcp\Capability\Validator\NameValidator`. Today, `mcp_server` exposes Drupal plugin IDs directly as MCP wire names, but plugin IDs can contain `:` for two reasons:
1. **Multi-tool Tool plugins** use `:` to compose `pluginId:toolId` registrations via `ToolPluginBase::getRegistrations()` and friends. This entire machinery is being removed in https://git.drupalcode.org/project/mcp_server/-/work_items/3585863.
2. **Derivative plugin IDs** are encoded as `"$base_plugin_id:$derivative_id"` by Drupal's `DerivativeDiscoveryDecorator::encodePluginId()`/`decodePluginId()`, which hardcode the `:` literal (it is *not* read from `PluginBase::DERIVATIVE_SEPARATOR`). Any deriver attached to any `mcp_server` plugin manager therefore emits invalid MCP names. Plan 37 (`37--mcp-tool-name-separator`) replaces the encoding with `.` across all `mcp_server`-owned plugin managers via a `DotDerivativeDiscoveryDecorator` and `DotDerivativeSeparatorTrait`.
This umbrella issue tracks the overall goal: every plugin ID surfaced as an MCP provider name must satisfy `NameValidator::isValid()`. The two underlying fixes are tracked separately (multi-tool removal in #3585863, derivative separator in plan 37). Closing both should leave no remaining `:` in any plugin ID exposed by this module, with a regression test that asserts MCP-name validity for derivative IDs across all `mcp_server` plugin managers.
## Acceptance Criteria
- [ ] Multi-tool Tool plugin support is removed (tracked in https://git.drupalcode.org/project/mcp_server/-/work_items/3585863).
- [ ] Derivative plugin ID encoding uses `.` instead of `:` for all `mcp_server`-owned plugin managers (tracked in plan 37).
- [ ] A kernel test asserts that derivative plugin IDs from at least one `mcp_server` plugin manager pass `Mcp\Capability\Validator\NameValidator::isValid()` and contain no `:`.
- [ ] No warning of the form `Tool name "...:..." is invalid` is emitted when enabling `mcp_server_examples` or any submodule.
## Additional Context
Related: plan 37 (`.ai/task-manager/plans/37--mcp-tool-name-separator/`) and plan 38 (`.ai/task-manager/plans/38--drop-multi-tool-support/`) cover the two underlying fixes. The current branch `3585863--drop-multi-tool-support` corresponds to the multi-tool removal work. SDK validator: `Mcp\Capability\Validator\NameValidator`. Drupal core encoder (read-only, subclassed not patched): `Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator::encodePluginId()`/`decodePluginId()`.
issue