Skip to content

Commit 7619ded

Browse files
Add test for completions capability exposition by server
1 parent d9d4038 commit 7619ded

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/server/test_session.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@
1111
from mcp.shared.session import RequestResponder
1212
from mcp.types import (
1313
ClientNotification,
14+
Completion,
15+
CompletionArgument,
16+
CompletionsCapability,
1417
InitializedNotification,
18+
PromptReference,
1519
PromptsCapability,
20+
ResourceReference,
1621
ResourcesCapability,
1722
ServerCapabilities,
1823
)
@@ -80,6 +85,7 @@ async def test_server_capabilities():
8085
caps = server.get_capabilities(notification_options, experimental_capabilities)
8186
assert caps.prompts is None
8287
assert caps.resources is None
88+
assert caps.completions is None
8389

8490
# Add a prompts handler
8591
@server.list_prompts()
@@ -89,6 +95,7 @@ async def list_prompts():
8995
caps = server.get_capabilities(notification_options, experimental_capabilities)
9096
assert caps.prompts == PromptsCapability(listChanged=False)
9197
assert caps.resources is None
98+
assert caps.completions is None
9299

93100
# Add a resources handler
94101
@server.list_resources()
@@ -98,6 +105,21 @@ async def list_resources():
98105
caps = server.get_capabilities(notification_options, experimental_capabilities)
99106
assert caps.prompts == PromptsCapability(listChanged=False)
100107
assert caps.resources == ResourcesCapability(subscribe=False, listChanged=False)
108+
assert caps.completions is None
109+
110+
# Add a complete handler
111+
@server.completion()
112+
async def complete(
113+
ref: PromptReference | ResourceReference, argument: CompletionArgument
114+
):
115+
return Completion(
116+
values=["completion1", "completion2"],
117+
)
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()
101123

102124

103125
@pytest.mark.anyio

0 commit comments

Comments
 (0)