Add argument autocompletion support for resource URI templates (ref/resource)
## Motivation
The MCP `completion/complete` capability supports argument autocompletion for two reference types: `ref/prompt` (prompt arguments) and `ref/resource` (resource URI-template variables). Today `mcp_server` implements completion only for prompts. Resource templates such as `drupal://entity/{entity_type}/{entity_id}` expose URI variables to clients, but the server offers no way to suggest valid values for them, so users get no IDE-style autocomplete when filling those variables.
This is purely an implementation gap, not a protocol or SDK limitation. The bundled `mcp/sdk` already fully supports resource-template completion: `Server\Builder::add()` accepts a third `$completionProviders` argument and explicitly permits it for `ResourceTemplate` definitions (it throws only for `Tool`/`Resource`), and `CompletionCompleteHandler` already routes `ref/resource` requests to `$reference->completionProviders`. The server also declares `completions: true` unconditionally. The only missing piece is on the Drupal side.
## Proposed Solution
Wire up resource-template argument completion so it reaches parity with prompt-argument completion:
1. Introduce a resource-argument completion plugin type mirroring the existing `PromptArgumentCompletionProvider` stack (attribute, interface, base, manager). It should let a plugin declare completion providers keyed by URI-template variable name (e.g. `entity_type`, `entity_id`), returning suggestion values for a partial input. The existing `ChainedCompletionProvider` can be reused to chain multiple providers per variable.
2. Extend `ResourceTemplateProviderInterface` (and `ResourceTemplateProviderBase`) so a resource template plugin can associate completion providers with its URI-template variables, analogous to how prompt configs associate providers with arguments.
3. In `McpServerFactory::registerPluginResources()`, build the per-variable completion providers and pass them as the third argument to `$builder->add($template, $handler, $completionProviders)` — currently the call omits it, so resources always register with an empty provider map. Prompts already do this via `addPrompt(..., $completion_providers)`.
4. Add kernel test coverage asserting that a `completion/complete` request with a `ref/resource` reference returns the expected suggestions for a resource-template variable, and consider demonstrating it in `mcp_server_examples` (e.g. autocompleting `entity_type` against available content entity types).
## Additional Context
Relevant code paths:
- `src/McpServerFactory.php` — `registerPluginResources()` calls `$builder->add($template, $handler)` without completion providers (contrast `registerPrompt()` which passes `$completion_providers`).
- `src/Plugin/ResourceTemplateProviderInterface.php` / `ResourceTemplateProviderBase.php` — no completion contract.
- `src/Capability/Handler/ResourceTemplateProviderHandler.php` — implements only `read()`.
- Existing prompt-completion stack to mirror: `src/Plugin/PromptArgumentCompletionProvider*`, `src/Attribute/PromptArgumentCompletionProvider.php`, `src/Capability/Loader/ChainedCompletionProvider.php`.
- SDK support already present: `vendor/mcp/sdk/src/Server/Builder.php` (`add()` accepts `$completionProviders` for `ResourceTemplate`), `vendor/mcp/sdk/src/Server/Handler/Request/CompletionCompleteHandler.php` (handles `ResourceReference`).
MCP spec reference: Completion utility, revision 2025-06-18 — defines `ref/resource` as one of the two completion reference types and adds `context.arguments` for context-aware multi-variable completion.
issue