Skip to content

Commit 32e4d07

Browse files
committed
merge
2 parents 70d5e88 + d77292f commit 32e4d07

File tree

18 files changed

+1648
-1603
lines changed

18 files changed

+1648
-1603
lines changed

examples/clients/sse-polling-client/mcp_sse_polling_client/main.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
from mcp import ClientSession
2222
from mcp.client.streamable_http import streamable_http_client
2323

24-
logger = logging.getLogger(__name__)
25-
2624

2725
async def run_demo(url: str, items: int, checkpoint_every: int) -> None:
2826
"""Run the SSE polling demo."""

examples/servers/simple-auth/mcp_simple_auth/simple_auth_provider.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
99
"""
1010

11-
import logging
1211
import secrets
1312
import time
1413
from typing import Any
@@ -29,8 +28,6 @@
2928
)
3029
from mcp.shared.auth import OAuthClientInformationFull, OAuthToken
3130

32-
logger = logging.getLogger(__name__)
33-
3431

3532
class SimpleAuthSettings(BaseSettings):
3633
"""Simple OAuth settings for demo purposes."""

src/mcp/client/auth/utils.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import logging
21
import re
32
from urllib.parse import urljoin, urlparse
43

@@ -16,8 +15,6 @@
1615
)
1716
from mcp.types import LATEST_PROTOCOL_VERSION
1817

19-
logger = logging.getLogger(__name__)
20-
2118

2219
def extract_field_from_www_auth(response: Response, field_name: str) -> str | None:
2320
"""Extract field from WWW-Authenticate header.

src/mcp/client/client.py

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,29 @@
55
from contextlib import AsyncExitStack
66
from typing import Any
77

8-
import mcp.types as types
98
from mcp.client._memory import InMemoryTransport
109
from mcp.client.session import ClientSession, ElicitationFnT, ListRootsFnT, LoggingFnT, MessageHandlerFnT, SamplingFnT
1110
from mcp.server import Server
1211
from mcp.server.fastmcp import FastMCP
1312
from mcp.shared.session import ProgressFnT
14-
from mcp.types._types import RequestParamsMeta
13+
from mcp.types import (
14+
CallToolResult,
15+
CompleteResult,
16+
EmptyResult,
17+
GetPromptResult,
18+
Implementation,
19+
ListPromptsResult,
20+
ListResourcesResult,
21+
ListResourceTemplatesResult,
22+
ListToolsResult,
23+
LoggingLevel,
24+
PaginatedRequestParams,
25+
PromptReference,
26+
ReadResourceResult,
27+
RequestParamsMeta,
28+
ResourceTemplateReference,
29+
ServerCapabilities,
30+
)
1531

1632

1733
class Client:
@@ -57,7 +73,7 @@ def __init__(
5773
list_roots_callback: ListRootsFnT | None = None,
5874
logging_callback: LoggingFnT | None = None,
5975
message_handler: MessageHandlerFnT | None = None,
60-
client_info: types.Implementation | None = None,
76+
client_info: Implementation | None = None,
6177
elicitation_callback: ElicitationFnT | None = None,
6278
) -> None:
6379
"""Initialize the client with a server.
@@ -138,11 +154,11 @@ def session(self) -> ClientSession:
138154
return self._session
139155

140156
@property
141-
def server_capabilities(self) -> types.ServerCapabilities | None:
157+
def server_capabilities(self) -> ServerCapabilities | None:
142158
"""The server capabilities received during initialization, or None if not yet initialized."""
143159
return self.session.get_server_capabilities()
144160

145-
async def send_ping(self, *, meta: RequestParamsMeta | None = None) -> types.EmptyResult:
161+
async def send_ping(self, *, meta: RequestParamsMeta | None = None) -> EmptyResult:
146162
"""Send a ping request to the server."""
147163
return await self.session.send_ping(meta=meta)
148164

@@ -161,12 +177,7 @@ async def send_progress_notification(
161177
message=message,
162178
)
163179

164-
async def set_logging_level(
165-
self,
166-
level: types.LoggingLevel,
167-
*,
168-
meta: RequestParamsMeta | None = None,
169-
) -> types.EmptyResult:
180+
async def set_logging_level(self, level: LoggingLevel, *, meta: RequestParamsMeta | None = None) -> EmptyResult:
170181
"""Set the logging level on the server."""
171182
return await self.session.set_logging_level(level=level, meta=meta)
172183

@@ -175,22 +186,20 @@ async def list_resources(
175186
*,
176187
cursor: str | None = None,
177188
meta: RequestParamsMeta | None = None,
178-
) -> types.ListResourcesResult:
189+
) -> ListResourcesResult:
179190
"""List available resources from the server."""
180-
return await self.session.list_resources(params=types.PaginatedRequestParams(cursor=cursor, _meta=meta))
191+
return await self.session.list_resources(params=PaginatedRequestParams(cursor=cursor, _meta=meta))
181192

182193
async def list_resource_templates(
183194
self,
184195
*,
185196
cursor: str | None = None,
186197
meta: RequestParamsMeta | None = None,
187-
) -> types.ListResourceTemplatesResult:
198+
) -> ListResourceTemplatesResult:
188199
"""List available resource templates from the server."""
189-
return await self.session.list_resource_templates(
190-
params=types.PaginatedRequestParams(cursor=cursor, _meta=meta)
191-
)
200+
return await self.session.list_resource_templates(params=PaginatedRequestParams(cursor=cursor, _meta=meta))
192201

193-
async def read_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> types.ReadResourceResult:
202+
async def read_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> ReadResourceResult:
194203
"""Read a resource from the server.
195204
196205
Args:
@@ -202,11 +211,11 @@ async def read_resource(self, uri: str, *, meta: RequestParamsMeta | None = None
202211
"""
203212
return await self.session.read_resource(uri, meta=meta)
204213

205-
async def subscribe_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> types.EmptyResult:
214+
async def subscribe_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> EmptyResult:
206215
"""Subscribe to resource updates."""
207216
return await self.session.subscribe_resource(uri, meta=meta)
208217

209-
async def unsubscribe_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> types.EmptyResult:
218+
async def unsubscribe_resource(self, uri: str, *, meta: RequestParamsMeta | None = None) -> EmptyResult:
210219
"""Unsubscribe from resource updates."""
211220
return await self.session.unsubscribe_resource(uri, meta=meta)
212221

@@ -218,7 +227,7 @@ async def call_tool(
218227
progress_callback: ProgressFnT | None = None,
219228
*,
220229
meta: RequestParamsMeta | None = None,
221-
) -> types.CallToolResult:
230+
) -> CallToolResult:
222231
"""Call a tool on the server.
223232
224233
Args:
@@ -244,13 +253,13 @@ async def list_prompts(
244253
*,
245254
cursor: str | None = None,
246255
meta: RequestParamsMeta | None = None,
247-
) -> types.ListPromptsResult:
256+
) -> ListPromptsResult:
248257
"""List available prompts from the server."""
249-
return await self.session.list_prompts(params=types.PaginatedRequestParams(cursor=cursor, _meta=meta))
258+
return await self.session.list_prompts(params=PaginatedRequestParams(cursor=cursor, _meta=meta))
250259

251260
async def get_prompt(
252261
self, name: str, arguments: dict[str, str] | None = None, *, meta: RequestParamsMeta | None = None
253-
) -> types.GetPromptResult:
262+
) -> GetPromptResult:
254263
"""Get a prompt from the server.
255264
256265
Args:
@@ -265,10 +274,10 @@ async def get_prompt(
265274

266275
async def complete(
267276
self,
268-
ref: types.ResourceTemplateReference | types.PromptReference,
277+
ref: ResourceTemplateReference | PromptReference,
269278
argument: dict[str, str],
270279
context_arguments: dict[str, str] | None = None,
271-
) -> types.CompleteResult:
280+
) -> CompleteResult:
272281
"""Get completions for a prompt or resource template argument.
273282
274283
Args:
@@ -281,9 +290,9 @@ async def complete(
281290
"""
282291
return await self.session.complete(ref=ref, argument=argument, context_arguments=context_arguments)
283292

284-
async def list_tools(self, *, cursor: str | None = None) -> types.ListToolsResult:
293+
async def list_tools(self, *, cursor: str | None = None, meta: RequestParamsMeta | None = None) -> ListToolsResult:
285294
"""List available tools from the server."""
286-
return await self.session.list_tools(params=types.PaginatedRequestParams(cursor=cursor))
295+
return await self.session.list_tools(params=PaginatedRequestParams(cursor=cursor, _meta=meta))
287296

288297
async def send_roots_list_changed(self) -> None:
289298
"""Send a notification that the roots list has changed."""

src/mcp/server/websocket.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import logging
21
from contextlib import asynccontextmanager
32

43
import anyio
@@ -10,8 +9,6 @@
109
import mcp.types as types
1110
from mcp.shared.message import SessionMessage
1211

13-
logger = logging.getLogger(__name__)
14-
1512

1613
@asynccontextmanager # pragma: no cover
1714
async def websocket_server(scope: Scope, receive: Receive, send: Send):

0 commit comments

Comments
 (0)