Skip to content

Commit ccdf624

Browse files
Adding completions in server capabilities
1 parent b3ef9ee commit ccdf624

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
@@ -186,6 +186,7 @@ def get_capabilities(
186186
resources_capability = None
187187
tools_capability = None
188188
logging_capability = None
189+
completion_capability = None
189190

190191
# Set prompt capabilities if handler exists
191192
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+
completion_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=completion_capability,
218224
)
219225

220226
@property

src/mcp/types.py

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

269269

270+
class CompletionsCapability(BaseModel):
271+
"""Capability for completions operations."""
272+
273+
model_config = ConfigDict(extra="allow")
274+
275+
270276
class ServerCapabilities(BaseModel):
271277
"""Capabilities that a server may support."""
272278

@@ -280,6 +286,10 @@ class ServerCapabilities(BaseModel):
280286
"""Present if the server offers any resources to read."""
281287
tools: ToolsCapability | None = None
282288
"""Present if the server offers any tools to call."""
289+
completions: CompletionsCapability | None = None
290+
"""
291+
Present if the server offers autocompletion suggestions for prompts and resources.
292+
"""
283293
model_config = ConfigDict(extra="allow")
284294

285295

0 commit comments

Comments
 (0)