* Add message handler function
* Notification test
* feat: logging callback
* Separate logging tests
* Documentation
* Remove duplicate
* rename notidfication test
* Discovery - client reacts to tools,resources,prompts update notifications
* integration test
* unit tests
* Fix, remove asyncio task creation, if we do not cache the tools it is not necessary to refresh. I wonder if it caching them tools (etc) is any important for somebody
* Fix type names in the docs
* Refactor integration test to have multiple mcp servers
* fix: check correct attribute in client_session validation
* Minor
* Add custom streaming server integration test (not related to the issue)
* Add server
* Enhanced base connector connection check to fix connection status as True even after SSE connections were closed by the server.
* Fix test since now we are using the connector and not the client_session
* Add integration tests and servers for timeout and connection testing
* Removed wrapped call_tool from session and test connection from the base connector + fix tests
* Add fallback check or default assumption for stream object
* Add connector hooks to resources and propts
* Adapter implementation for resources and tools, treated them as tools
* Move unpacking responsibility to adapters
* Update unittests
* Separate unit and integration
* Fix initialization logic
* Fixed tests with capability check
* Removed tool reference from session