Fixes CI failures in PR #3220.
PR #3220 updated `mcp` library from 1.0.0 to 1.23.0, which caused test
failures due to a breaking change in `McpError` constructor API.
The `McpError` constructor now expects an `ErrorData` object instead of
a plain string message. This commit fixes the usage in `get_zoneinfo()`
function to use `ErrorData(code=INVALID_PARAMS, message=...)`.
```console
Error before fix:
AttributeError: 'str' object has no attribute 'message'
```
Also updates `mcp` dependency to >=1.23.0 in pyproject.toml to ensure
compatibility with the new API.
Replaced local timezone detection using tzinfo string (e.g. "CEST")
with tzlocal.get_localzone_name() to ensure a valid IANA time zone
(e.g. "Europe/Paris") is passed to ZoneInfo. This avoids runtime
errors on macOS and other systems that return non-IANA tz abbreviations.