Skip to content

Commit dacf101

Browse files
committed
fix(#397): update context logging type hints to allow any JSON-serializable data
1 parent 5cbd259 commit dacf101

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

src/mcp/server/mcpserver/context.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ async def elicit_url(
187187
async def log(
188188
self,
189189
level: Literal["debug", "info", "warning", "error"],
190-
message: str,
190+
message: Any,
191191
*,
192192
logger_name: str | None = None,
193193
extra: dict[str, Any] | None = None,
@@ -196,7 +196,7 @@ async def log(
196196
197197
Args:
198198
level: Log level (debug, info, warning, error)
199-
message: Log message
199+
message: Log message. Any JSON-serializable type is allowed per the MCP spec.
200200
logger_name: Optional logger name
201201
extra: Optional dictionary with additional structured data to include
202202
"""
@@ -261,20 +261,20 @@ async def close_standalone_sse_stream(self) -> None:
261261
await self._request_context.close_standalone_sse_stream()
262262

263263
# Convenience methods for common log levels
264-
async def debug(self, message: str, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
265-
"""Send a debug log message."""
264+
async def debug(self, message: Any, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
265+
"""Send a debug log message. Any JSON-serializable type is allowed for message."""
266266
await self.log("debug", message, logger_name=logger_name, extra=extra)
267267

268-
async def info(self, message: str, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
269-
"""Send an info log message."""
268+
async def info(self, message: Any, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
269+
"""Send an info log message. Any JSON-serializable type is allowed for message."""
270270
await self.log("info", message, logger_name=logger_name, extra=extra)
271271

272272
async def warning(
273-
self, message: str, *, logger_name: str | None = None, extra: dict[str, Any] | None = None
273+
self, message: Any, *, logger_name: str | None = None, extra: dict[str, Any] | None = None
274274
) -> None:
275-
"""Send a warning log message."""
275+
"""Send a warning log message. Any JSON-serializable type is allowed for message."""
276276
await self.log("warning", message, logger_name=logger_name, extra=extra)
277277

278-
async def error(self, message: str, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
279-
"""Send an error log message."""
278+
async def error(self, message: Any, *, logger_name: str | None = None, extra: dict[str, Any] | None = None) -> None:
279+
"""Send an error log message. Any JSON-serializable type is allowed for message."""
280280
await self.log("error", message, logger_name=logger_name, extra=extra)

0 commit comments

Comments
 (0)