Ola Hungerford
8e373f0f2e
Add structured content to the Python weather server and client and update to v2 ( #164 )
...
* Add structured output to the Python weather server and client
Both tools declare an output schema - the return type annotation - and return
structured_content alongside the text.
get_alerts answers with a top-level JSON array rather than an array nested in
an object, which protocol revision 2026-07-28 is the first to allow. "No
alerts" is simply []. get_forecast returns an object, for contrast.
The detail worth reading the source for: Alerts is a RootModel[list[Alert]],
not a plain list[Alert]. A list is not a JSON object, so the SDK wraps it as
{"result": [...]} and advertises an object-rooted schema to match, with no
opt-out. A RootModel is a BaseModel, so it is taken as the schema exactly as
written, and a RootModel over a list serializes as the bare list.
Error paths raise: a tool declaring an output schema MUST return conforming
structured content, so a path with no data has to fail.
The client moves to the 2.0 Client API with mode="auto" and prints the
negotiated version on connect. call_tool already revalidates every non-error
result against the declared schema, so the client-side SHOULD needs no code.
Each channel goes to its stated reader: content is forwarded to the model,
structured_content is used as data, reporting how many items came back.
This clears the staleness modelcontextprotocol#3124 flags against this
repository - weather.py imported mcp.server.fastmcp, client.py held the
ClientSession version - and matches that PR's idioms: the short
"from mcp.server import MCPServer" spelling, httpx2 with httpx dropped from
the dependencies since httpx2>=2.5.0 is a hard dependency of mcp,
result.content narrowed to TextContent, and input() on a worker thread.
Requires mcp 2.0.0b2; pyproject.toml sets [tool.uv] prerelease = "allow" so
plain uv run and uv sync work without flags. Model identifier moves to
claude-sonnet-5.
Note that an array-rooted schema only works on a 2026-07-28 connection. This
SDK does not project it down for older clients; it raises server-side instead.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Update to mcp 2.0.0
The SDK left beta on 2026-07-28, so the pins move off 2.0.0b2 and both
projects drop `[tool.uv] prerelease = allow` — plain `uv run` works now.
Also from review: declare the imports rather than lean on transitive
resolution. weather.py imports httpx2 and client.py imports mcp_types, so
both are listed explicitly. The client README no longer implies every
structured result is counted — only array-rooted ones are.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Fix get_alerts failing when NWS sends a null field
`dict.get(key, default)` returns the default only when the key is absent. The
NWS API sends these fields as explicit nulls instead of omitting them, so
`props.get(instruction, ...)` passed None straight into a `str` field and
Pydantic rejected the whole result.
One alert in eight for TX is a Special Weather Statement with a null
instruction, which was enough to fail the entire call:
Error executing tool get_alerts: 1 validation error for Alert
instructions
Input should be a valid string [type=string_type, input_value=None]
The smoke test missed it twice over: it calls get_alerts with CA, whose
alerts happen to have no nulls today, and it reports an isError result as a
skip rather than a failure.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* Say "structured content", not "structured output"
The spec never uses the phrase "structured output". It defines two separate
things under Tool Result: "Structured Content" (the `structuredContent` field)
and "Output Schema" (the `outputSchema` field). Collapsing them into
"structured output" conflates the two.
It is also actively confusing here. In LLM tooling "structured output" means
constrained decoding — making the *model* emit conforming JSON. These clients
call a model API, so a reader could reasonably take the phrase to mean the
tool constrains the model's response, which is the opposite of what is going
on: the tool describes the shape of its own result.
Headings and prose now say "structured content". References to real
identifiers are left alone: the Python SDK's own docs page is called
Structured Output and lives at docs/servers/structured-output.md, and its
decorator parameter is `structured_output`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 14:46:03 +02:00
dependabot[bot]
b14bf6ee71
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Bumps the uv group with 1 update in the /weather-server-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Updates `mcp` from 1.27.2 to 1.28.1
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.2...v1.28.1 )
Updates `mcp` from 1.27.2 to 1.28.1
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.27.2...v1.28.1 )
---
updated-dependencies:
- dependency-name: mcp
dependency-version: 1.28.1
dependency-type: direct:production
dependency-group: uv
- dependency-name: mcp
dependency-version: 1.28.1
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-18 17:44:14 +00:00
dependabot[bot]
95643d21c4
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Bumps the uv group with 1 update in the /weather-server-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Updates `mcp` from 1.26.0 to 1.27.2
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.2 )
Updates `mcp` from 1.26.0 to 1.27.2
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.26.0...v1.27.2 )
---
updated-dependencies:
- dependency-name: mcp
dependency-version: 1.27.2
dependency-type: direct:production
dependency-group: uv
- dependency-name: mcp
dependency-version: 1.27.2
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-16 20:11:59 +00:00
dependabot[bot]
e93a3a26ba
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [pydantic-settings](https://github.com/pydantic/pydantic-settings ).
Bumps the uv group with 1 update in the /weather-server-python directory: [pydantic-settings](https://github.com/pydantic/pydantic-settings ).
Updates `pydantic-settings` from 2.13.1 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic-settings/releases )
- [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.2 )
Updates `pydantic-settings` from 2.13.1 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic-settings/releases )
- [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.2 )
---
updated-dependencies:
- dependency-name: pydantic-settings
dependency-version: 2.14.2
dependency-type: indirect
dependency-group: uv
- dependency-name: pydantic-settings
dependency-version: 2.14.2
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 14:16:25 +00:00
dependabot[bot]
b879b483ab
Bump the uv group across 2 directories with 3 updates
...
Bumps the uv group with 3 updates in the /mcp-client-python directory: [cryptography](https://github.com/pyca/cryptography ), [python-multipart](https://github.com/Kludex/python-multipart ) and [starlette](https://github.com/Kludex/starlette ).
Bumps the uv group with 3 updates in the /weather-server-python directory: [cryptography](https://github.com/pyca/cryptography ), [python-multipart](https://github.com/Kludex/python-multipart ) and [starlette](https://github.com/Kludex/starlette ).
Updates `cryptography` from 46.0.7 to 48.0.1
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.7...48.0.1 )
Updates `python-multipart` from 0.0.27 to 0.0.31
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.31 )
Updates `starlette` from 1.0.1 to 1.3.1
- [Release notes](https://github.com/Kludex/starlette/releases )
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md )
- [Commits](https://github.com/Kludex/starlette/compare/1.0.1...1.3.1 )
Updates `cryptography` from 46.0.7 to 48.0.1
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.7...48.0.1 )
Updates `python-multipart` from 0.0.27 to 0.0.31
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.31 )
Updates `starlette` from 1.0.1 to 1.3.1
- [Release notes](https://github.com/Kludex/starlette/releases )
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md )
- [Commits](https://github.com/Kludex/starlette/compare/1.0.1...1.3.1 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 48.0.1
dependency-type: indirect
dependency-group: uv
- dependency-name: python-multipart
dependency-version: 0.0.31
dependency-type: indirect
dependency-group: uv
- dependency-name: starlette
dependency-version: 1.3.1
dependency-type: indirect
dependency-group: uv
- dependency-name: cryptography
dependency-version: 48.0.1
dependency-type: indirect
dependency-group: uv
- dependency-name: python-multipart
dependency-version: 0.0.31
dependency-type: indirect
dependency-group: uv
- dependency-name: starlette
dependency-version: 1.3.1
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 17:47:55 +00:00
dependabot[bot]
848831dceb
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [pyjwt](https://github.com/jpadilla/pyjwt ).
Bumps the uv group with 1 update in the /weather-server-python directory: [pyjwt](https://github.com/jpadilla/pyjwt ).
Updates `pyjwt` from 2.12.1 to 2.13.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0 )
Updates `pyjwt` from 2.12.1 to 2.13.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.12.1...2.13.0 )
---
updated-dependencies:
- dependency-name: pyjwt
dependency-version: 2.13.0
dependency-type: indirect
dependency-group: uv
- dependency-name: pyjwt
dependency-version: 2.13.0
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-16 03:51:21 +00:00
dependabot[bot]
28af746e9b
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [starlette](https://github.com/Kludex/starlette ).
Bumps the uv group with 1 update in the /weather-server-python directory: [starlette](https://github.com/Kludex/starlette ).
Updates `starlette` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/Kludex/starlette/releases )
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md )
- [Commits](https://github.com/Kludex/starlette/compare/1.0.0...1.0.1 )
Updates `starlette` from 1.0.0 to 1.0.1
- [Release notes](https://github.com/Kludex/starlette/releases )
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md )
- [Commits](https://github.com/Kludex/starlette/compare/1.0.0...1.0.1 )
---
updated-dependencies:
- dependency-name: starlette
dependency-version: 1.0.1
dependency-type: indirect
dependency-group: uv
- dependency-name: starlette
dependency-version: 1.0.1
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 17:35:02 +00:00
dependabot[bot]
e749a0e950
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [idna](https://github.com/kjd/idna ).
Bumps the uv group with 1 update in the /weather-server-python directory: [idna](https://github.com/kjd/idna ).
Updates `idna` from 3.11 to 3.15
- [Release notes](https://github.com/kjd/idna/releases )
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md )
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15 )
Updates `idna` from 3.11 to 3.15
- [Release notes](https://github.com/kjd/idna/releases )
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md )
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15 )
---
updated-dependencies:
- dependency-name: idna
dependency-version: '3.15'
dependency-type: indirect
dependency-group: uv
- dependency-name: idna
dependency-version: '3.15'
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 21:34:22 +00:00
Alex Akimov
36b6ca4070
Update quickstart URLs ( #140 )
2026-05-16 08:59:02 -07:00
dependabot[bot]
e6711da7a5
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Bumps the uv group with 1 update in the /weather-server-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Updates `python-multipart` from 0.0.26 to 0.0.27
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27 )
Updates `python-multipart` from 0.0.26 to 0.0.27
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.26...0.0.27 )
---
updated-dependencies:
- dependency-name: python-multipart
dependency-version: 0.0.27
dependency-type: indirect
dependency-group: uv
- dependency-name: python-multipart
dependency-version: 0.0.27
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 12:16:56 +00:00
dependabot[bot]
5cc52dd906
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Bumps the uv group with 1 update in the /weather-server-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Updates `python-multipart` from 0.0.22 to 0.0.26
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.26 )
Updates `python-multipart` from 0.0.22 to 0.0.26
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.26 )
---
updated-dependencies:
- dependency-name: python-multipart
dependency-version: 0.0.26
dependency-type: indirect
dependency-group: uv
- dependency-name: python-multipart
dependency-version: 0.0.26
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-15 20:58:36 +00:00
Alex Akimov
400aa2d929
Merge pull request #126 from modelcontextprotocol/dependabot/uv/mcp-client-python/uv-1e7e8acca4
...
Bump the uv group across 2 directories with 1 update
2026-04-12 21:11:05 +02:00
Alex Akimov
42c3b35f79
Upgrade python packages to fix security vulnerabilities in PyJwt ( #124 )
2026-04-11 09:07:50 -07:00
dependabot[bot]
0f75c3ced2
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [cryptography](https://github.com/pyca/cryptography ).
Bumps the uv group with 1 update in the /weather-server-python directory: [cryptography](https://github.com/pyca/cryptography ).
Updates `cryptography` from 46.0.6 to 46.0.7
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7 )
Updates `cryptography` from 46.0.6 to 46.0.7
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.6...46.0.7 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: indirect
dependency-group: uv
- dependency-name: cryptography
dependency-version: 46.0.7
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 22:37:29 +00:00
dependabot[bot]
a1fe9478fa
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [cryptography](https://github.com/pyca/cryptography ).
Bumps the uv group with 1 update in the /weather-server-python directory: [cryptography](https://github.com/pyca/cryptography ).
Updates `cryptography` from 46.0.5 to 46.0.6
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.6 )
Updates `cryptography` from 46.0.5 to 46.0.6
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.5...46.0.6 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: indirect
dependency-group: uv
- dependency-name: cryptography
dependency-version: 46.0.6
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-29 03:53:41 +00:00
dependabot[bot]
52add536c8
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [cryptography](https://github.com/pyca/cryptography ).
Bumps the uv group with 1 update in the /weather-server-python directory: [cryptography](https://github.com/pyca/cryptography ).
Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5 )
Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.5
dependency-type: indirect
dependency-group: uv
- dependency-name: cryptography
dependency-version: 46.0.5
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-02-11 02:53:35 +00:00
dependabot[bot]
4a500c4fe8
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /mcp-client-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Bumps the uv group with 1 update in the /weather-server-python directory: [python-multipart](https://github.com/Kludex/python-multipart ).
Updates `python-multipart` from 0.0.20 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.22 )
Updates `python-multipart` from 0.0.20 to 0.0.22
- [Release notes](https://github.com/Kludex/python-multipart/releases )
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.20...0.0.22 )
---
updated-dependencies:
- dependency-name: python-multipart
dependency-version: 0.0.22
dependency-type: indirect
dependency-group: uv
- dependency-name: python-multipart
dependency-version: 0.0.22
dependency-type: indirect
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 23:57:16 +00:00
dependabot[bot]
56eec87d84
Bump the uv group across 2 directories with 1 update
...
Bumps the uv group with 1 update in the /weather-server-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Bumps the uv group with 1 update in the /mcp-client-python directory: [mcp](https://github.com/modelcontextprotocol/python-sdk ).
Updates `mcp` from 1.21.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.0...v1.23.0 )
Updates `mcp` from 1.21.0 to 1.23.0
- [Release notes](https://github.com/modelcontextprotocol/python-sdk/releases )
- [Changelog](https://github.com/modelcontextprotocol/python-sdk/blob/main/RELEASE.md )
- [Commits](https://github.com/modelcontextprotocol/python-sdk/compare/v1.21.0...v1.23.0 )
---
updated-dependencies:
- dependency-name: mcp
dependency-version: 1.23.0
dependency-type: indirect
dependency-group: uv
- dependency-name: mcp
dependency-version: 1.23.0
dependency-type: direct:production
dependency-group: uv
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-01-25 16:46:37 +00:00
Alex Akimov
ba6c1d2133
remove unnecessary ruff linting ignores
2025-12-12 20:01:41 +01:00
Alex Akimov
2af8046eb7
Add ruff and apply it
2025-12-06 15:58:38 +01:00
Alex Akimov
613f53055e
Python server upgrade dependencies
2025-11-09 22:15:33 +01:00
datashaman
3bc819fff8
Weather server missing main function
...
The weather server script does not run.
```
❯ uv run weather
Traceback (most recent call last):
File "/projects/quickstart-resources/weather-server-python/.venv/bin/weather", line 4, in <module>
from weather import main
ImportError: cannot import name 'main' from 'weather' (/projects/quickstart-resources/weather-server-python/weather.py)
```
The script definition in `pyproject.toml` is looking for a `main` function which does not exist.
2025-09-04 06:16:24 +02:00
Justin Spahr-Summers
c82c5dd2c8
Remove node_modules and JS build
2025-01-23 14:12:39 +00:00
Se7en
50239a954f
Update python quickstart to use FastMCP API
2025-01-09 22:58:23 +08:00
hideya
55cc631696
Update README.md files
2024-12-14 19:33:33 +09:00
Zachary Lee
e07b24ac4c
First commit
2024-12-11 14:47:06 -05:00