Skip to content

Commit d9d4038

Browse files
Adding completions in server capabilities
1 parent 8847e77 commit d9d4038

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/mcp/server/lowlevel/server.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ def get_capabilities(
190190
resources_capability = None
191191
tools_capability = None
192192
logging_capability = None
193+
completions_capability = None
193194

194195
# Set prompt capabilities if handler exists
195196
if types.ListPromptsRequest in self.request_handlers:
@@ -209,12 +210,17 @@ def get_capabilities(
209210
if types.SetLevelRequest in self.request_handlers:
210211
logging_capability = types.LoggingCapability()
211212

213+
# Set completions capabilities if handler exists
214+
if types.CompleteRequest in self.request_handlers:
215+
completions_capability = types.CompletionsCapability()
216+
212217
return types.ServerCapabilities(
213218
prompts=prompts_capability,
214219
resources=resources_capability,
215220
tools=tools_capability,
216221
logging=logging_capability,
217222
experimental=experimental_capabilities,
223+
completions=completions_capability,
218224
)
219225

220226
@property

src/mcp/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,12 @@ class LoggingCapability(BaseModel):
286286
model_config = ConfigDict(extra="allow")
287287

288288

289+
class CompletionsCapability(BaseModel):
290+
"""Capability for completions operations."""
291+
292+
model_config = ConfigDict(extra="allow")
293+
294+
289295
class ServerCapabilities(BaseModel):
290296
"""Capabilities that a server may support."""
291297

@@ -299,6 +305,10 @@ class ServerCapabilities(BaseModel):
299305
"""Present if the server offers any resources to read."""
300306
tools: ToolsCapability | None = None
301307
"""Present if the server offers any tools to call."""
308+
completions: CompletionsCapability | None = None
309+
"""
310+
Present if the server offers autocompletion suggestions for prompts and resources.
311+
"""
302312
model_config = ConfigDict(extra="allow")
303313

304314

0 commit comments

Comments
 (0)