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):