11
11
from mcp .shared .session import RequestResponder
12
12
from mcp .types import (
13
13
ClientNotification ,
14
+ CompletionsCapability ,
14
15
InitializedNotification ,
15
16
PromptsCapability ,
16
17
ResourcesCapability ,
@@ -88,6 +89,7 @@ async def test_server_capabilities():
88
89
caps = server .get_capabilities (notification_options , experimental_capabilities )
89
90
assert caps .prompts is None
90
91
assert caps .resources is None
92
+ assert caps .completions is None
91
93
92
94
# Add a prompts handler
93
95
@server .list_prompts ()
@@ -97,6 +99,7 @@ async def list_prompts():
97
99
caps = server .get_capabilities (notification_options , experimental_capabilities )
98
100
assert caps .prompts == PromptsCapability (listChanged = False )
99
101
assert caps .resources is None
102
+ assert caps .completions is None
100
103
101
104
# Add a resources handler
102
105
@server .list_resources ()
@@ -106,6 +109,17 @@ async def list_resources():
106
109
caps = server .get_capabilities (notification_options , experimental_capabilities )
107
110
assert caps .prompts == PromptsCapability (listChanged = False )
108
111
assert caps .resources == ResourcesCapability (subscribe = False , listChanged = False )
112
+ assert caps .completions is None
113
+
114
+ # Add a complete handler
115
+ @server .completion ()
116
+ async def complete ():
117
+ return None
118
+
119
+ caps = server .get_capabilities (notification_options , experimental_capabilities )
120
+ assert caps .prompts == PromptsCapability (listChanged = False )
121
+ assert caps .resources == ResourcesCapability (subscribe = False , listChanged = False )
122
+ assert caps .completions == CompletionsCapability ()
109
123
110
124
111
125
@pytest .mark .anyio
0 commit comments