V2 Edit pass (#1728)
This commit is contained in:
parent
2d1b9a3462
commit
b283596df1
1 changed files with 263 additions and 251 deletions
|
|
@ -15,8 +15,8 @@ MCP [completions] allow servers to provide argument auto-completion suggestions
|
|||
|
||||
Completions work with two types of references:
|
||||
|
||||
- **Prompt argument completions**: Suggest values for prompt parameters (e.g., language names, style options)
|
||||
- **Resource template argument completions**: Suggest values for URI template parameters (e.g., file paths, resource IDs)
|
||||
- **Prompt argument completions**: Suggest values for prompt parameters (for example, language names, style options)
|
||||
- **Resource template argument completions**: Suggest values for URI template parameters (for example, file paths, resource IDs)
|
||||
|
||||
The server returns a <xref:ModelContextProtocol.Protocol.Completion> object containing a list of suggested values, an optional total count, and a flag indicating if more values are available.
|
||||
|
||||
|
|
@ -83,7 +83,7 @@ builder.Services.AddMcpServer()
|
|||
|
||||
### Automatic completions with AllowedValuesAttribute
|
||||
|
||||
For parameters with a known set of valid values, you can use `System.ComponentModel.DataAnnotations.AllowedValuesAttribute` on `string` parameters of prompts or resource templates. The server will automatically surface those values as completions without needing a custom completion handler.
|
||||
For parameters with a known set of valid values, you can use `System.ComponentModel.DataAnnotations.AllowedValuesAttribute` on `string` parameters of prompts or resource templates. The server automatically surfaces those values as completions without needing a custom completion handler.
|
||||
|
||||
#### Prompt parameters
|
||||
|
||||
|
|
@ -115,11 +115,11 @@ public class MyResources
|
|||
}
|
||||
```
|
||||
|
||||
With these attributes in place, when a client sends a `completion/complete` request for the `language` or `section` argument, the server will automatically filter and return matching values based on what the user has typed so far. This approach can be combined with a custom completion handler registered via `WithCompleteHandler`; the handler's results are returned first, followed by any matching `AllowedValues`.
|
||||
With these attributes in place, when a client sends a `completion/complete` request for the `language` or `section` argument, the server automatically filters and returns matching values based on what the user has typed so far. This approach can be combined with a custom completion handler registered via `WithCompleteHandler`; the handler's results are returned first, followed by any matching `AllowedValues`.
|
||||
|
||||
### Requesting completions on the client
|
||||
|
||||
Clients request completions using <xref:ModelContextProtocol.Client.McpClient.CompleteAsync*>. Provide a reference to the prompt or resource template, the argument name, and the current partial value:
|
||||
Clients request completions using <xref:ModelContextProtocol.Client.McpClient.CompleteAsync*>. Provide a reference to the prompt or resource template, the argument name, and the current partial value.
|
||||
|
||||
#### Prompt argument completions
|
||||
|
||||
|
|
@ -142,7 +142,7 @@ if (result.Completion.HasMore == true)
|
|||
}
|
||||
```
|
||||
|
||||
#### Resource template argument completions
|
||||
#### Resource-template argument completions
|
||||
|
||||
```csharp
|
||||
// Get completions for a resource template argument
|
||||
|
|
|
|||
Loading…
Reference in a new issue