mcp/server: advertise completions only if installed (#213)
Previously, completions would always be advertised as a capability even if the CompletionHandler was not installed by the server. This CL fixes that.
This commit is contained in:
parent
0cde9623d3
commit
faaf77dc05
1 changed files with 38 additions and 36 deletions
|
|
@ -238,9 +238,7 @@ func (s *Server) capabilities() *serverCapabilities {
|
|||
defer s.mu.Unlock()
|
||||
|
||||
caps := &serverCapabilities{
|
||||
// TODO(samthanawalla): check for completionHandler before advertising capability.
|
||||
Completions: &completionCapabilities{},
|
||||
Logging: &loggingCapabilities{},
|
||||
Logging: &loggingCapabilities{},
|
||||
}
|
||||
if s.opts.HasTools || s.tools.len() > 0 {
|
||||
caps.Tools = &toolCapabilities{ListChanged: true}
|
||||
|
|
@ -254,6 +252,9 @@ func (s *Server) capabilities() *serverCapabilities {
|
|||
caps.Resources.Subscribe = true
|
||||
}
|
||||
}
|
||||
if s.opts.CompletionHandler != nil {
|
||||
caps.Completions = &completionCapabilities{}
|
||||
}
|
||||
return caps
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue