From 937c640f04d9bc74bc3b75419c7a93e22ee0719b Mon Sep 17 00:00:00 2001 From: restlessronin <88921269+restlessronin@users.noreply.github.com> Date: Thu, 5 Dec 2024 10:30:01 +0530 Subject: [PATCH] feat: add version string parameter to 'create_initialization_options' --- README.md | 9 +-------- src/mcp/server/__init__.py | 3 ++- src/mcp/server/sse.py | 3 ++- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4ef08cf..20fd03e 100644 --- a/README.md +++ b/README.md @@ -135,14 +135,7 @@ async def run(): await server.run( read_stream, write_stream, - InitializationOptions( - server_name="example", - server_version="0.1.0", - capabilities=server.get_capabilities( - notification_options=NotificationOptions(), - experimental_capabilities={}, - ) - ) + server.create_initialization_options("0.1.0") ) if __name__ == "__main__": diff --git a/src/mcp/server/__init__.py b/src/mcp/server/__init__.py index a0dd033..212f011 100644 --- a/src/mcp/server/__init__.py +++ b/src/mcp/server/__init__.py @@ -114,6 +114,7 @@ class Server: def create_initialization_options( self, + version: str | None = None, notification_options: NotificationOptions | None = None, experimental_capabilities: dict[str, dict[str, Any]] | None = None, ) -> InitializationOptions: @@ -133,7 +134,7 @@ class Server: return InitializationOptions( server_name=self.name, - server_version=pkg_version("mcp"), + server_version=version if version else pkg_version("mcp"), capabilities=self.get_capabilities( notification_options or NotificationOptions(), experimental_capabilities or {}, diff --git a/src/mcp/server/sse.py b/src/mcp/server/sse.py index 3062b32..765c0eb 100644 --- a/src/mcp/server/sse.py +++ b/src/mcp/server/sse.py @@ -19,8 +19,9 @@ Example usage: async with sse.connect_sse( request.scope, request.receive, request._send ) as streams: + # Pass user visible version string, egs. 0.1.0 await app.run( - streams[0], streams[1], app.create_initialization_options() + streams[0], streams[1], app.create_initialization_options("0.1.0") ) async def handle_messages(request):