annotated-types==0.8.0
    # via pydantic
anyio==4.16.0
    # via
    #   httpx2
    #   mcp
    #   sse-starlette
    #   starlette
    #   wled-mcp
attrs==26.1.0
    # via
    #   jsonschema
    #   referencing
cffi==2.1.1 ; platform_python_implementation != 'PyPy'
    # via cryptography
click==8.5.0
    # via uvicorn
cryptography==50.0.2
    # via pyjwt
h11==0.16.0
    # via
    #   httpcore2
    #   uvicorn
httpcore2==2.16.0 ; sys_platform != 'emscripten'
    # via httpx2
httpx2==2.16.0
    # via
    #   mcp
    #   wled-mcp
httpx2-jsfetch==1.0 ; sys_platform == 'emscripten'
    # via httpx2
idna==3.20
    # via
    #   anyio
    #   httpx2
jsonschema==4.26.0
    # via mcp
jsonschema-specifications==2025.9.1
    # via jsonschema
mcp==2.3.0
    # via wled-mcp
mcp-types==2.3.0
    # via mcp
opentelemetry-api==1.45.2
    # via mcp
pycparser==3.12 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy'
    # via cffi
pydantic==2.14.2
    # via
    #   mcp
    #   mcp-types
    #   wled-mcp
pydantic-core==2.50.2
    # via pydantic
pyjwt==2.15.1
    # via mcp
python-multipart==0.0.33
    # via mcp
pywin32==312 ; sys_platform == 'win32'
    # via mcp
referencing==0.37.0
    # via
    #   jsonschema
    #   jsonschema-specifications
rpds-py==2026.9.1
    # via
    #   jsonschema
    #   referencing
sse-starlette==3.6.0
    # via mcp
starlette==1.10.0
    # via
    #   mcp
    #   sse-starlette
    #   wled-mcp
truststore==0.10.5 ; sys_platform != 'emscripten'
    # via
    #   httpcore2
    #   httpx2
typing-extensions==4.16.0
    # via
    #   anyio
    #   mcp
    #   mcp-types
    #   opentelemetry-api
    #   pydantic
    #   pydantic-core
    #   typing-inspection
typing-inspection==0.4.5
    # via
    #   mcp
    #   pydantic
uvicorn==0.54.0
    # via
    #   mcp
    #   wled-mcp
