==> Building on glalie ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-mcp ./ .SRCINFO 1,421 100% 0.00kB/s 0:00:00 1,421 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 42 100% 41.02kB/s 0:00:00 42 100% 41.02kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,736 100% 1.66MB/s 0:00:00 1,736 100% 1.66MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 437 100% 426.76kB/s 0:00:00 437 100% 426.76kB/s 0:00:00 (xfr#5, to-chk=3/9) python-mcp-1.29.0-1.log 731 100% 713.87kB/s 0:00:00 731 100% 713.87kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,921 bytes received 186 bytes 1,242.80 bytes/sec total size is 4,485 speedup is 1.44 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache ==> Locking pacman database cache...done [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-mcp ==> Locking pacman database cache...done -> repo: extra -> arch: riscv64 -> worker: felix-5 ==> Building python-mcp for [extra] (riscv64) ==> Locking clean chroot...done Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Locking clean chroot [/var/lib/archbuild/extra-riscv64/root]...done ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-5]...done ==> Making package: python-mcp 1.29.0-1 (Tue Sep 1 04:48:20 2026) ==> Retrieving sources...  -> Cloning python-sdk git repo... Cloning into bare repository '/home/felix/packages/python-mcp/python-sdk'... remote: Enumerating objects: 82360, done. remote: Counting objects: 0% (1/3927) remote: Counting objects: 1% (40/3927) remote: Counting objects: 2% (79/3927) remote: Counting objects: 3% (118/3927) remote: Counting objects: 4% (158/3927) remote: Counting objects: 5% (197/3927) remote: Counting objects: 6% (236/3927) remote: Counting objects: 7% (275/3927) remote: Counting objects: 8% (315/3927) remote: Counting objects: 9% (354/3927) remote: Counting objects: 10% (393/3927) remote: Counting objects: 11% (432/3927) remote: Counting objects: 12% (472/3927) remote: Counting objects: 13% (511/3927) remote: Counting objects: 14% (550/3927) remote: Counting objects: 15% (590/3927) remote: Counting objects: 16% (629/3927) remote: Counting objects: 17% (668/3927) remote: Counting objects: 18% (707/3927) remote: Counting objects: 19% (747/3927) remote: Counting objects: 20% (786/3927) remote: Counting objects: 21% (825/3927) remote: Counting objects: 22% (864/3927) remote: Counting objects: 23% (904/3927) remote: Counting objects: 24% (943/3927) remote: Counting objects: 25% (982/3927) remote: Counting objects: 26% (1022/3927) remote: Counting objects: 27% (1061/3927) remote: Counting objects: 28% (1100/3927) remote: Counting objects: 29% (1139/3927) remote: Counting objects: 30% (1179/3927) remote: Counting objects: 31% (1218/3927) remote: Counting objects: 32% (1257/3927) remote: Counting objects: 33% (1296/3927) remote: Counting objects: 34% (1336/3927) remote: Counting objects: 35% (1375/3927) remote: Counting objects: 36% (1414/3927) remote: Counting objects: 37% (1453/3927) remote: Counting objects: 38% (1493/3927) remote: Counting objects: 39% (1532/3927) remote: Counting objects: 40% (1571/3927) remote: Counting objects: 41% (1611/3927) remote: Counting objects: 42% (1650/3927) remote: Counting objects: 43% (1689/3927) remote: Counting objects: 44% (1728/3927) remote: Counting objects: 45% (1768/3927) remote: Counting objects: 46% (1807/3927) remote: Counting objects: 47% (1846/3927) remote: Counting objects: 48% (1885/3927) remote: Counting objects: 49% (1925/3927) remote: Counting objects: 50% (1964/3927) remote: Counting objects: 51% (2003/3927) remote: Counting objects: 52% (2043/3927) remote: Counting objects: 53% (2082/3927) remote: Counting objects: 54% (2121/3927) remote: Counting objects: 55% (2160/3927) remote: Counting objects: 56% (2200/3927) remote: Counting objects: 57% (2239/3927) remote: Counting objects: 58% (2278/3927) remote: Counting objects: 59% (2317/3927) remote: Counting objects: 60% (2357/3927) remote: Counting objects: 61% (2396/3927) remote: Counting objects: 62% (2435/3927) remote: Counting objects: 63% (2475/3927) remote: Counting objects: 64% (2514/3927) remote: Counting objects: 65% (2553/3927) remote: Counting objects: 66% (2592/3927) remote: Counting objects: 67% (2632/3927) remote: Counting objects: 68% (2671/3927) remote: Counting objects: 69% (2710/3927) remote: Counting objects: 70% (2749/3927) remote: Counting objects: 71% (2789/3927) remote: Counting objects: 72% (2828/3927) remote: Counting objects: 73% (2867/3927) remote: Counting objects: 74% (2906/3927) remote: Counting objects: 75% (2946/3927) remote: Counting objects: 76% (2985/3927) remote: Counting objects: 77% (3024/3927) remote: Counting objects: 78% (3064/3927) remote: Counting objects: 79% (3103/3927) remote: Counting objects: 80% (3142/3927) remote: Counting objects: 81% (3181/3927) remote: Counting objects: 82% (3221/3927) remote: Counting objects: 83% (3260/3927) remote: Counting objects: 84% (3299/3927) remote: Counting objects: 85% (3338/3927) remote: Counting objects: 86% (3378/3927) remote: Counting objects: 87% (3417/3927) remote: Counting objects: 88% (3456/3927) remote: Counting objects: 89% (3496/3927) remote: Counting objects: 90% (3535/3927) remote: Counting objects: 91% (3574/3927) remote: Counting objects: 92% (3613/3927) remote: Counting objects: 93% (3653/3927) remote: Counting objects: 94% (3692/3927) remote: Counting objects: 95% (3731/3927) remote: Counting objects: 96% (3770/3927) remote: Counting objects: 97% (3810/3927) remote: Counting objects: 98% (3849/3927) remote: Counting objects: 99% (3888/3927) remote: Counting objects: 100% (3927/3927) remote: Counting objects: 100% (3927/3927), done. remote: Compressing objects: 0% (1/1619) remote: Compressing objects: 1% (17/1619) remote: Compressing objects: 2% (33/1619) remote: Compressing objects: 3% (49/1619) remote: Compressing objects: 4% (65/1619) remote: Compressing objects: 5% (81/1619) remote: Compressing objects: 6% (98/1619) remote: Compressing objects: 7% (114/1619) remote: Compressing objects: 8% (130/1619) remote: Compressing objects: 9% (146/1619) remote: Compressing objects: 10% (162/1619) remote: Compressing objects: 11% (179/1619) remote: Compressing objects: 12% (195/1619) remote: Compressing objects: 13% (211/1619) remote: Compressing objects: 14% (227/1619) remote: Compressing objects: 15% (243/1619) remote: Compressing objects: 16% (260/1619) remote: Compressing objects: 17% (276/1619) remote: Compressing objects: 18% (292/1619) remote: Compressing objects: 19% (308/1619) remote: Compressing objects: 20% (324/1619) remote: Compressing objects: 21% (340/1619) remote: Compressing objects: 22% (357/1619) remote: Compressing objects: 23% (373/1619) remote: Compressing objects: 24% (389/1619) remote: Compressing objects: 25% (405/1619) remote: Compressing objects: 26% (421/1619) remote: Compressing objects: 27% (438/1619) remote: Compressing objects: 28% (454/1619) remote: Compressing objects: 29% (470/1619) remote: Compressing objects: 30% (486/1619) remote: Compressing objects: 31% (502/1619) remote: Compressing objects: 32% (519/1619) remote: Compressing objects: 33% (535/1619) remote: Compressing objects: 34% (551/1619) remote: Compressing objects: 35% (567/1619) remote: Compressing objects: 36% (583/1619) remote: Compressing objects: 37% (600/1619) remote: Compressing objects: 38% (616/1619) remote: Compressing objects: 39% (632/1619) remote: Compressing objects: 40% (648/1619) remote: Compressing objects: 41% (664/1619) remote: Compressing objects: 42% (680/1619) remote: Compressing objects: 43% (697/1619) remote: Compressing objects: 44% (713/1619) remote: Compressing objects: 45% (729/1619) remote: Compressing objects: 46% (745/1619) remote: Compressing objects: 47% (761/1619) remote: Compressing objects: 48% (778/1619) remote: Compressing objects: 49% (794/1619) remote: Compressing objects: 50% (810/1619) remote: Compressing objects: 51% (826/1619) remote: Compressing objects: 52% (842/1619) remote: Compressing objects: 53% (859/1619) remote: Compressing objects: 54% (875/1619) remote: Compressing objects: 55% (891/1619) remote: Compressing objects: 56% (907/1619) remote: Compressing objects: 57% (923/1619) remote: Compressing objects: 58% (940/1619) remote: Compressing objects: 59% (956/1619) remote: Compressing objects: 60% (972/1619) remote: Compressing objects: 61% (988/1619) remote: Compressing objects: 62% (1004/1619) remote: Compressing objects: 63% (1020/1619) remote: Compressing objects: 64% (1037/1619) remote: Compressing objects: 65% (1053/1619) remote: Compressing objects: 66% (1069/1619) remote: Compressing objects: 67% (1085/1619) remote: Compressing objects: 68% (1101/1619) remote: Compressing objects: 69% (1118/1619) remote: Compressing objects: 70% (1134/1619) remote: Compressing objects: 71% (1150/1619) remote: Compressing objects: 72% (1166/1619) remote: Compressing objects: 73% (1182/1619) remote: Compressing objects: 74% (1199/1619) remote: Compressing objects: 75% (1215/1619) remote: Compressing objects: 76% (1231/1619) remote: Compressing objects: 77% (1247/1619) remote: Compressing objects: 78% (1263/1619) remote: Compressing objects: 79% (1280/1619) remote: Compressing objects: 80% (1296/1619) remote: Compressing objects: 81% (1312/1619) remote: Compressing objects: 82% (1328/1619) remote: Compressing objects: 83% (1344/1619) remote: Compressing objects: 84% (1360/1619) remote: Compressing objects: 85% (1377/1619) remote: Compressing objects: 86% (1393/1619) remote: Compressing objects: 87% (1409/1619) remote: Compressing objects: 88% (1425/1619) remote: Compressing objects: 89% (1441/1619) remote: Compressing objects: 90% (1458/1619) remote: Compressing objects: 91% (1474/1619) remote: Compressing objects: 92% (1490/1619) remote: Compressing objects: 93% (1506/1619) remote: Compressing objects: 94% (1522/1619) remote: Compressing objects: 95% (1539/1619) remote: Compressing objects: 96% (1555/1619) remote: Compressing objects: 97% (1571/1619) remote: Compressing objects: 98% (1587/1619) remote: Compressing objects: 99% (1603/1619) remote: Compressing objects: 100% (1619/1619) remote: Compressing objects: 100% (1619/1619), done. Receiving objects: 0% (1/82360) Receiving objects: 1% (824/82360), 464.00 KiB | 849.00 KiB/s Receiving objects: 2% (1648/82360), 464.00 KiB | 849.00 KiB/s Receiving objects: 3% (2471/82360), 464.00 KiB | 849.00 KiB/s Receiving objects: 4% (3295/82360), 464.00 KiB | 849.00 KiB/s Receiving objects: 4% (3314/82360), 464.00 KiB | 849.00 KiB/s Receiving objects: 5% (4118/82360), 2.89 MiB | 2.83 MiB/s Receiving objects: 6% (4942/82360), 2.89 MiB | 2.83 MiB/s Receiving objects: 7% (5766/82360), 2.89 MiB | 2.83 MiB/s Receiving objects: 8% (6589/82360), 2.89 MiB | 2.83 MiB/s Receiving objects: 9% (7413/82360), 2.89 MiB | 2.83 MiB/s Receiving objects: 10% (8236/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 11% (9060/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 12% (9884/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 13% (10707/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 14% (11531/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 14% (12255/82360), 6.03 MiB | 3.97 MiB/s Receiving objects: 15% (12354/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 16% (13178/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 17% (14002/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 18% (14825/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 19% (15649/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 20% (16472/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 21% (17296/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 22% (18120/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 23% (18943/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 24% (19767/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 25% (20590/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 26% (21414/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 27% (22238/82360), 8.90 MiB | 4.40 MiB/s Receiving objects: 28% (23061/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 29% (23885/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 30% (24708/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 31% (25532/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 32% (26356/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 33% (27179/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 34% (28003/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 35% (28826/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 36% (29650/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 37% (30474/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 38% (31297/82360), 12.37 MiB | 4.90 MiB/s Receiving objects: 38% (32046/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 39% (32121/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 40% (32944/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 41% (33768/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 42% (34592/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 43% (35415/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 44% (36239/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 45% (37062/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 46% (37886/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 47% (38710/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 48% (39533/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 49% (40357/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 50% (41180/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 51% (42004/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 52% (42828/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 53% (43651/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 54% (44475/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 55% (45298/82360), 15.34 MiB | 5.01 MiB/s Receiving objects: 56% (46122/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 57% (46946/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 58% (47769/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 59% (48593/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 60% (49416/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 61% (50240/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 62% (51064/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 63% (51887/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 64% (52711/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 65% (53534/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 66% (54358/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 67% (55182/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 68% (56005/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 69% (56829/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 70% (57652/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 70% (58332/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 71% (58476/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 72% (59300/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 73% (60123/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 74% (60947/82360), 19.64 MiB | 5.51 MiB/s Receiving objects: 75% (61770/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 76% (62594/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 77% (63418/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 78% (64241/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 79% (65065/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 80% (65888/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 81% (66712/82360), 23.83 MiB | 5.86 MiB/s Receiving objects: 81% (66750/82360), 32.26 MiB | 6.97 MiB/s Receiving objects: 81% (66750/82360), 37.91 MiB | 6.86 MiB/s Receiving objects: 81% (66750/82360), 43.31 MiB | 6.48 MiB/s Receiving objects: 81% (66750/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 82% (67536/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 83% (68359/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 84% (69183/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 85% (70006/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 86% (70830/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 87% (71654/82360), 49.64 MiB | 6.26 MiB/s Receiving objects: 87% (72265/82360), 52.36 MiB | 5.89 MiB/s Receiving objects: 88% (72477/82360), 52.36 MiB | 5.89 MiB/s Receiving objects: 89% (73301/82360), 52.36 MiB | 5.89 MiB/s Receiving objects: 90% (74124/82360), 52.36 MiB | 5.89 MiB/s Receiving objects: 91% (74948/82360), 55.39 MiB | 5.82 MiB/s Receiving objects: 92% (75772/82360), 55.39 MiB | 5.82 MiB/s Receiving objects: 93% (76595/82360), 55.39 MiB | 5.82 MiB/s Receiving objects: 94% (77419/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 94% (77772/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 95% (78242/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 96% (79066/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 97% (79890/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 98% (80713/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 99% (81537/82360), 58.83 MiB | 5.50 MiB/s remote: Total 82360 (delta 3413), reused 2352 (delta 2303), pack-reused 78433 (from 5) Receiving objects: 100% (82360/82360), 58.83 MiB | 5.50 MiB/s Receiving objects: 100% (82360/82360), 61.43 MiB | 5.90 MiB/s, done. Resolving deltas: 0% (0/58697) Resolving deltas: 1% (587/58697) Resolving deltas: 2% (1174/58697) Resolving deltas: 3% (1761/58697) Resolving deltas: 4% (2350/58697) Resolving deltas: 5% (2935/58697) Resolving deltas: 6% (3523/58697) Resolving deltas: 7% (4109/58697) Resolving deltas: 8% (4696/58697) Resolving deltas: 9% (5283/58697) Resolving deltas: 10% (5870/58697) Resolving deltas: 11% (6457/58697) Resolving deltas: 12% (7044/58697) Resolving deltas: 13% (7631/58697) Resolving deltas: 14% (8221/58697) Resolving deltas: 15% (8805/58697) Resolving deltas: 16% (9392/58697) Resolving deltas: 17% (9980/58697) Resolving deltas: 18% (10567/58697) Resolving deltas: 19% (11153/58697) Resolving deltas: 20% (11741/58697) Resolving deltas: 21% (12327/58697) Resolving deltas: 22% (12914/58697) Resolving deltas: 23% (13502/58697) Resolving deltas: 24% (14089/58697) Resolving deltas: 25% (14675/58697) Resolving deltas: 26% (15262/58697) Resolving deltas: 27% (15849/58697) Resolving deltas: 28% (16436/58697) Resolving deltas: 29% (17024/58697) Resolving deltas: 30% (17610/58697) Resolving deltas: 31% (18197/58697) Resolving deltas: 32% (18785/58697) Resolving deltas: 33% (19371/58697) Resolving deltas: 34% (19957/58697) Resolving deltas: 35% (20544/58697) Resolving deltas: 36% (21132/58697) Resolving deltas: 37% (21718/58697) Resolving deltas: 38% (22305/58697) Resolving deltas: 39% (22892/58697) Resolving deltas: 40% (23479/58697) Resolving deltas: 41% (24066/58697) Resolving deltas: 42% (24653/58697) Resolving deltas: 43% (25240/58697) Resolving deltas: 43% (25241/58697) Resolving deltas: 44% (25827/58697) Resolving deltas: 45% (26415/58697) Resolving deltas: 46% (27001/58697) Resolving deltas: 47% (27588/58697) Resolving deltas: 48% (28175/58697) Resolving deltas: 49% (28762/58697) Resolving deltas: 50% (29349/58697) Resolving deltas: 51% (29936/58697) Resolving deltas: 52% (30523/58697) Resolving deltas: 53% (31110/58697) Resolving deltas: 54% (31697/58697) Resolving deltas: 55% (32284/58697) Resolving deltas: 56% (32871/58697) Resolving deltas: 57% (33458/58697) Resolving deltas: 58% (34045/58697) Resolving deltas: 59% (34632/58697) Resolving deltas: 60% (35219/58697) Resolving deltas: 61% (35806/58697) Resolving deltas: 62% (36393/58697) Resolving deltas: 63% (36981/58697) Resolving deltas: 64% (37567/58697) Resolving deltas: 65% (38154/58697) Resolving deltas: 66% (38741/58697) Resolving deltas: 67% (39327/58697) Resolving deltas: 68% (39914/58697) Resolving deltas: 69% (40501/58697) Resolving deltas: 70% (41088/58697) Resolving deltas: 71% (41675/58697) Resolving deltas: 72% (42262/58697) Resolving deltas: 73% (42849/58697) Resolving deltas: 74% (43436/58697) Resolving deltas: 75% (44023/58697) Resolving deltas: 76% (44610/58697) Resolving deltas: 77% (45197/58697) Resolving deltas: 78% (45784/58697) Resolving deltas: 78% (46185/58697) Resolving deltas: 79% (46371/58697) Resolving deltas: 80% (46958/58697) Resolving deltas: 81% (47545/58697) Resolving deltas: 82% (48132/58697) Resolving deltas: 83% (48719/58697) Resolving deltas: 84% (49306/58697) Resolving deltas: 85% (49894/58697) Resolving deltas: 86% (50480/58697) Resolving deltas: 87% (51067/58697) Resolving deltas: 88% (51654/58697) Resolving deltas: 89% (52242/58697) Resolving deltas: 90% (52828/58697) Resolving deltas: 91% (53415/58697) Resolving deltas: 92% (54002/58697) Resolving deltas: 93% (54590/58697) Resolving deltas: 94% (55176/58697) Resolving deltas: 95% (55763/58697) Resolving deltas: 96% (56350/58697) Resolving deltas: 97% (56938/58697) Resolving deltas: 98% (57524/58697) Resolving deltas: 99% (58114/58697) Resolving deltas: 99% (58509/58697) Resolving deltas: 100% (58697/58697) Resolving deltas: 100% (58697/58697), done. ==> Validating source files with b2sums... python-sdk ... Passed Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ==> Making package: python-mcp 1.29.0-1 (Mon Aug 31 20:49:06 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (35) New Version Net Change Download Size extra/python-annotated-doc 0.0.5-1.1 0.02 MiB 0.01 MiB extra/python-annotated-types 0.8.0-1 0.12 MiB extra/python-attrs 26.1.0-1 0.63 MiB extra/python-certifi 2026.07.22-1 0.02 MiB extra/python-cffi 2.1.1-1 1.41 MiB extra/python-click 8.3.3-1 1.38 MiB extra/python-cryptography 50.0.1-1 6.43 MiB extra/python-h11 0.16.0-2 0.29 MiB extra/python-httpcore 1.0.9-3 1.04 MiB extra/python-idna 3.19-1 0.66 MiB extra/python-jsonschema-specifications 2025.9.1-2 0.05 MiB extra/python-markdown-it-py 4.2.0-1 0.81 MiB extra/python-mdurl 0.1.2-9 0.06 MiB extra/python-pycparser 3.00-1 0.71 MiB extra/python-pydantic-core 3:2.46.4-1 5.35 MiB extra/python-pygments 2.20.0-1 15.36 MiB extra/python-referencing 0.37.0-3.1 0.41 MiB extra/python-rich 15.0.0-1 4.49 MiB extra/python-rpds-py 2026.6.3-1 0.73 MiB extra/python-shellingham 1.5.4-4 0.06 MiB extra/python-anyio 4.14.2-1 2.13 MiB extra/python-dotenv 1.2.3-1 0.18 MiB extra/python-httpx 0.28.1-7 2.83 MiB extra/python-httpx-sse 0.4.3-1 0.05 MiB 0.02 MiB extra/python-jsonschema 4.26.0-1 1.39 MiB extra/python-pydantic 2.13.4-1 6.04 MiB extra/python-pydantic-settings 2.15.0-1 0.85 MiB 0.15 MiB extra/python-pyjwt 2.13.0-1 0.37 MiB extra/python-python-multipart 0.0.32-1 0.29 MiB 0.05 MiB extra/python-sse-starlette 3.4.8-1 0.11 MiB 0.03 MiB extra/python-starlette 1.6.0-1 1.09 MiB extra/python-typer 0.27.1-1 1.72 MiB 0.27 MiB extra/python-typing-inspection 0.4.4-1 0.13 MiB extra/python-typing_extensions 4.16.0-1 0.53 MiB extra/uvicorn 0.52.0-1 1.01 MiB Total Download Size: 0.53 MiB Total Installed Size: 58.76 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-typer-0.27.1-1-any downloading... python-pydantic-settings-2.15.0-1-any downloading... python-python-multipart-0.0.32-1-any downloading... python-sse-starlette-3.4.8-1-any downloading... python-httpx-sse-0.4.3-1-any downloading... python-annotated-doc-0.0.5-1.1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-idna... installing python-anyio... Optional dependencies for python-anyio python-trio: trio backend python-outcome: trio backend python-uvloop: use uvloop for asyncio backend python-pytest: pytest plugin installing python-click... installing python-dotenv... Optional dependencies for python-dotenv ipython: ipython support installing python-certifi... installing python-h11... installing python-httpcore... Optional dependencies for python-httpcore python-h2: for HTTP/2 support python-socksio: for SOCKS support python-anyio: for asyncio backend [installed] python-trio: for trio backend python-sniffio: for async support installing python-httpx... Optional dependencies for python-httpx python-brotli: for brotli response decompression python-brotlicffi: for brotli response decompression python-zstandard: for zstd response decompression python-h2: HTTP/2 support python-socksio: SOCKS proxy support python-click: command line client support [installed] python-rich: command line client support [pending] python-pygments: command line client support [pending] python-trio: alternative async library installing python-httpx-sse... installing python-attrs... installing python-rpds-py... installing python-referencing... installing python-jsonschema-specifications... installing python-jsonschema... Optional dependencies for python-jsonschema python-isoduration: for duration format python-fqdn: for hostname format python-idna: for idn-hostname format [installed] python-jsonpointer: for json-pointer & relative-json-pointer format python-rfc3339-validator: for date-time format python-rfc3987: for iri, iri-reference, uri & uri-reference format python-uri-template: for uri-template format python-webcolors: for color format installing python-annotated-types... installing python-typing_extensions... installing python-typing-inspection... installing python-pydantic-core... installing python-pydantic... Optional dependencies for python-pydantic mypy: for type validation with mypy python-dotenv: for .env file support [installed] python-email-validator: for email validation python-hypothesis: for hypothesis plugin when using legacy v1 installing python-pydantic-settings... Optional dependencies for python-pydantic-settings python-pyyaml: for YAML support installing python-pycparser... installing python-cffi... Optional dependencies for python-cffi python-setuptools: "limited api" version checking in cffi.setuptools_ext installing python-cryptography... installing python-pyjwt... installing python-python-multipart... installing python-starlette... Optional dependencies for python-starlette python-itsdangerous: for session middleware support python-jinja: for jinja templates python-python-multipart: for form parsing [installed] python-pyyaml: for schema generator python-httpx2: for test client installing python-sse-starlette... installing python-mdurl... installing python-markdown-it-py... Optional dependencies for python-markdown-it-py python-mdit_py_plugins: core plugins python-linkify-it-py: linkify extension installing python-pygments... installing python-rich... installing python-shellingham... installing python-annotated-doc... installing python-typer... installing uvicorn... Optional dependencies for uvicorn python-a2wsgi: for WSGI support python-dotenv: for --env-file support [installed] python-gunicorn: for Gunicorn workers python-httptools: for faster HTTP protocol handling python-pyyaml: for --log-config with YAML python-uvloop: for faster event loop python-watchfiles: for --reload support python-websockets: for WebSocket support python-wsproto: for WebSocket support :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (41) New Version Net Change Download Size extra/jemalloc 1:5.3.1-3 0.89 MiB extra/perl-error 0.17030-3 0.04 MiB extra/perl-mailtools 2.22-3 0.10 MiB extra/perl-timedate 2.35-1 0.15 MiB extra/python-asttokens 3.0.2-1 0.24 MiB extra/python-black 26.5.1-1 2.33 MiB extra/python-charset-normalizer 3.5.1-1 0.63 MiB extra/python-dunamai 1.26.2-1 0.35 MiB 0.06 MiB extra/python-editables 0.6-1 0.04 MiB extra/python-execnet 2.1.2-3 0.55 MiB extra/python-executing 2.2.1-3.1 0.29 MiB extra/python-iniconfig 2.3.0-1 0.07 MiB extra/python-jinja 1:3.1.6-3.1 2.04 MiB extra/python-markupsafe 3.0.3-1 0.09 MiB extra/python-mypy_extensions 1.1.0-2 0.03 MiB extra/python-packaging 26.3-1 1.58 MiB extra/python-pathspec 1.1.1-1 0.47 MiB extra/python-platformdirs 4.11.5-1 0.47 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-pytokens 0.4.1-1 0.18 MiB extra/python-pytz 2026.1-1 0.17 MiB extra/python-ruff 0.16.5-1 0.50 MiB 0.05 MiB extra/python-tomlkit 0.15.1-1 0.83 MiB extra/python-trove-classifiers 2026.6.1.19-1 0.16 MiB extra/python-urllib3 2.6.3-1 1.44 MiB extra/zlib-ng 2.3.3-1 0.23 MiB extra/git 2.55.0-1 29.92 MiB extra/python-build 1.6.0-1 0.33 MiB extra/python-dirty-equals 0.11.0-2.1 0.36 MiB 0.06 MiB extra/python-hatchling 1.30.1-1 1.09 MiB extra/python-inline-snapshot 0.32.6-1.1 0.99 MiB 0.19 MiB extra/python-installer 1.0.1-1 0.21 MiB extra/python-pytest 1:9.1.0-1 4.95 MiB extra/python-pytest-examples 0.0.18-2 0.19 MiB 0.04 MiB extra/python-pytest-xdist 3.8.0-3 0.56 MiB extra/python-requests 2.34.2-1 0.76 MiB extra/python-uv-dynamic-versioning 0.14.0-1 0.13 MiB 0.03 MiB extra/python-websockets 16.1.1-1 2.02 MiB extra/ruff 0.16.5-1 24.04 MiB 7.58 MiB extra/uv 0.12.7-1 43.62 MiB Total Download Size: 8.01 MiB Total Installed Size: 123.36 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... ruff-0.16.5-1-riscv64 downloading... python-inline-snapshot-0.32.6-1.1-any downloading... python-dunamai-1.26.2-1-any downloading... python-dirty-equals-0.11.0-2.1-any downloading... python-ruff-0.16.5-1-riscv64 downloading... python-pytest-examples-0.0.18-2-any downloading... python-uv-dynamic-versioning-0.14.0-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-error... installing perl-timedate... installing perl-mailtools... installing zlib-ng... installing git... Optional dependencies for git git-zsh-completion: upstream zsh completion tk: gitk and git gui openssh: ssh transport and crypto man: show help with `git command --help` perl-libwww: git svn perl-term-readkey: git svn and interactive.singlekey setting perl-io-socket-ssl: git send-email TLS support perl-authen-sasl: git send-email TLS support perl-cgi: gitweb (web interface) support python: git svn & git p4 [installed] subversion: git svn org.freedesktop.secrets: keyring credential helper libsecret: libsecret credential helper [installed] less: the default pager for git installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-editables... installing python-pathspec... Optional dependencies for python-pathspec python-google-re2: re2 backend installing python-pluggy... installing python-trove-classifiers... installing python-hatchling... installing python-installer... installing python-dunamai... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-tomlkit... installing python-uv-dynamic-versioning... installing python-pytz... installing python-dirty-equals... Optional dependencies for python-dirty-equals python-pydantic: for pydantic support [installed] installing python-asttokens... installing python-executing... installing python-iniconfig... installing python-pytest... installing python-inline-snapshot... Optional dependencies for python-inline-snapshot python-black: retains black formatting [pending] python-dirty-equals: snapshot comparison using dirty-equals [installed] installing python-mypy_extensions... installing python-platformdirs... installing python-pytokens... installing python-black... Optional dependencies for python-black ipython: for Jupyter notebook support python-tokenize-rt: for Jupyter notebook support python-aiohttp: for the blackd HTTP server python-colorama: for colored diffs installing ruff... installing python-ruff... installing python-pytest-examples... installing python-execnet... installing python-pytest-xdist... Optional dependencies for python-pytest-xdist python-psutil: to use psutil for detection of the number of CPUs available python-setproctitle: to update the process title installing python-charset-normalizer... installing python-urllib3... Optional dependencies for python-urllib3 python-brotli: Brotli support python-brotlicffi: Brotli support python-h2: HTTP/2 support python-pysocks: SOCKS support installing python-requests... Optional dependencies for python-requests python-chardet: alternative character encoding library python-pysocks: SOCKS proxy support installing python-websockets... installing jemalloc... Optional dependencies for jemalloc perl: for jeprof [installed] installing uv... :: Running post-transaction hooks... (1/4) Creating system user accounts... Creating group 'git' with GID 968. Creating user 'git' (git daemon user) with UID 968 and GID 968. (2/4) Reloading system manager configuration... Skipped: Current root is not booted. (3/4) Arming ConditionNeedsUpdate... (4/4) Checking for old perl modules... [?25h==> Retrieving sources... ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Creating working copy of python-sdk git repo... Cloning into 'python-sdk'... done. Updating files: 77% (1291/1665) Updating files: 78% (1299/1665) Updating files: 79% (1316/1665) Updating files: 80% (1332/1665) Updating files: 81% (1349/1665) Updating files: 82% (1366/1665) Updating files: 83% (1382/1665) Updating files: 84% (1399/1665) Updating files: 85% (1416/1665) Updating files: 86% (1432/1665) Updating files: 87% (1449/1665) Updating files: 88% (1466/1665) Updating files: 89% (1482/1665) Updating files: 90% (1499/1665) Updating files: 91% (1516/1665) Updating files: 92% (1532/1665) Updating files: 93% (1549/1665) Updating files: 94% (1566/1665) Updating files: 95% (1582/1665) Updating files: 96% (1599/1665) Updating files: 97% (1616/1665) Updating files: 98% (1632/1665) Updating files: 99% (1649/1665) Updating files: 100% (1665/1665) Updating files: 100% (1665/1665), done. Switched to a new branch 'makepkg' ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built mcp-1.29.0-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.0, pluggy-1.6.0 rootdir: /build/python-mcp/src/python-sdk configfile: pyproject.toml plugins: anyio-4.14.2, examples-0.0.18, inline-snapshot-0.32.6, xdist-3.8.0 created: 128/128 workers 128 workers [1227 items] scheduling tests via LoadScheduling tests/cli/test_utils.py::test_parse_file_path_missing tests/cli/test_utils.py::test_build_uv_command_minimal tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_exchange_token_without_scopes tests/client/test_auth.py::TestOAuthContext::test_token_validity_checking tests/client/auth/extensions/test_client_credentials.py::TestOAuthFlowClientCredentials::test_token_exchange_request_jwt tests/client/test_auth.py::TestOAuthContext::test_oauth_provider_initialization [gw1] [ 0%] PASSED tests/cli/test_utils.py::test_parse_file_path_missing tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_with_scopes tests/client/test_auth.py::TestOAuthFallback::test_handle_metadata_response_success [gw24] [ 0%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_handle_metadata_response_success tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_exchange_token_client_credentials tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_root_when_auth_server_has_no_path tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_init_sets_client_info [gw13] [ 0%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_init_sets_client_info [gw18] [ 0%] PASSED tests/client/test_auth.py::TestOAuthContext::test_oauth_provider_initialization tests/cli/test_utils.py::test_get_npx_returns_none_when_npx_missing [gw7] [ 0%] PASSED tests/cli/test_utils.py::test_get_npx_returns_none_when_npx_missing tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_fallback_order [gw10] [ 0%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestOAuthFlowClientCredentials::test_token_exchange_request_jwt tests/cli/test_utils.py::test_get_npx_unix_like tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_legacy_fallback_when_no_prm [gw6] [ 0%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_exchange_token_without_scopes [gw12] [ 0%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_with_scopes [gw4] [ 0%] PASSED tests/client/test_auth.py::TestOAuthContext::test_token_validity_checking [gw5] [ 0%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_root_when_auth_server_has_no_path tests/client/auth/extensions/test_client_credentials.py::TestSignedJWTParameters::test_create_assertion_provider_with_additional_claims [gw3] [ 0%] PASSED tests/cli/test_utils.py::test_get_npx_unix_like tests/client/test_auth.py::TestOAuthFallback::test_token_exchange_request_authorization_code [gw2] [ 0%] PASSED tests/cli/test_utils.py::test_build_uv_command_minimal [gw23] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_token_exchange_request_authorization_code [gw15] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_legacy_fallback_when_no_prm [gw20] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_fallback_order tests/client/test_auth.py::TestOAuthFallback::test_basic_auth_token_exchange tests/client/test_auth.py::TestOAuthFallback::test_none_auth_method [gw8] [ 1%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestSignedJWTParameters::test_create_assertion_provider_with_additional_claims [gw11] [ 1%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_exchange_token_client_credentials tests/client/test_auth.py::TestOAuthFlow::test_build_protected_resource_discovery_urls [gw22] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFlow::test_build_protected_resource_discovery_urls tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_falls_back_to_default_register_endpoint_when_no_metadata tests/client/test_auth.py::TestOAuthFallback::test_prioritize_prm_scopes_when_no_www_auth_scope [gw26] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_prioritize_prm_scopes_when_no_www_auth_scope tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", scope=basic-scope-basic] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope="read write"-scope-read write] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", scope="admin:write resource:read", error="insufficient_scope"-scope-admin:write resource:read] tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_server_does_not_support tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[None-False] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com-False] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer error="insufficient_scope"-error-insufficient_scope] [gw40] [ 1%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer error="insufficient_scope"-error-insufficient_scope] tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_excluded_with_old_protocol_version tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata="https://api.example.com/auth/metadata?version=1"-resource_metadata-https://api.example.com/auth/metadata?version=1] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[-scope-empty WWW-Authenticate header] [gw9] [ 1%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_none_auth_method tests/client/test_auth.py::test_build_metadata[with-path-param] [gw37] [ 1%] PASSED tests/client/test_auth.py::test_build_metadata[with-path-param] [gw46] [ 1%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com-False] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com:8443/client-True] [gw27] [ 1%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[-scope-empty WWW-Authenticate header] [gw21] [ 2%] PASSED tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_falls_back_to_default_register_endpoint_when_no_metadata tests/client/test_auth.py::TestCIMD::test_oauth_provider_with_valid_client_metadata_url [gw42] [ 2%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", scope=basic-scope-basic] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[http://[::1/foo/-False] tests/client/test_auth.py::TestCIMD::test_auth_flow_uses_cimd_when_server_supports [gw14] [ 2%] PASSED tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_excluded_with_old_protocol_version tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer realm="api", scope="read write"-resource_metadata-no resource_metadata parameter] [gw19] [ 2%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope="read write"-scope-read write] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer resource_metadata=-resource_metadata-malformed resource_metadata parameter] tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_no_metadata [gw43] [ 2%] PASSED tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_no_metadata [gw38] [ 2%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer realm="api", scope="read write"-resource_metadata-no resource_metadata parameter] [gw31] [ 2%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata="https://api.example.com/auth/metadata?version=1"-resource_metadata-https://api.example.com/auth/metadata?version=1] tests/client/test_auth.py::TestAuthFlow::test_auth_flow_with_valid_tokens [gw30] [ 2%] PASSED tests/client/test_auth.py::TestAuthFlow::test_auth_flow_with_valid_tokens [gw47] [ 2%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com:8443/client-True] [gw44] [ 2%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer resource_metadata=-resource_metadata-malformed resource_metadata parameter] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/client-metadata.json-True] tests/client/test_auth.py::test_validate_resource_rejects_mismatched_resource tests/client/test_auth.py::TestSEP985Discovery::test_root_based_fallback_after_path_based_404 [gw34] [ 2%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/client-metadata.json-True] tests/client/test_auth.py::TestLegacyServerFallback::test_legacy_server_with_different_prm_and_root_urls [gw33] [ 2%] PASSED tests/client/test_auth.py::TestLegacyServerFallback::test_legacy_server_with_different_prm_and_root_urls [gw16] [ 3%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_basic_auth_token_exchange tests/client/test_config.py::test_command_execution [gw48] [ 3%] PASSED tests/client/test_auth.py::TestCIMD::test_oauth_provider_with_valid_client_metadata_url tests/client/test_auth.py::test_validate_resource_accepts_root_url_with_trailing_slash [gw29] [ 3%] PASSED tests/client/test_auth.py::TestSEP985Discovery::test_root_based_fallback_after_path_based_404 [gw36] [ 3%] PASSED tests/client/test_auth.py::test_validate_resource_rejects_mismatched_resource [gw50] [ 3%] PASSED tests/client/test_auth.py::TestCIMD::test_auth_flow_uses_cimd_when_server_supports tests/client/test_auth.py::TestPKCEParameters::test_pkce_generation tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_prompts-prompts/list] [gw45] [ 3%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[http://[::1/foo/-False] tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_prompts] tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_prompts-prompts/list] tests/client/test_auth.py::TestRegistrationResponse::test_handle_registration_response_reads_before_accessing_text tests/client/test_session.py::test_client_session_default_client_info tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_dict_typed tests/client/test_sampling_callback.py::test_sampling_callback tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_tools-tools/list] tests/client/test_sampling_callback.py::test_create_message_result_with_tools_type [gw28] [ 3%] PASSED tests/client/test_auth.py::TestRegistrationResponse::test_handle_registration_response_reads_before_accessing_text tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_basemodel [gw69] [ 3%] PASSED tests/client/test_sampling_callback.py::test_create_message_result_with_tools_type [gw55] [ 3%] PASSED tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_server_does_not_support tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_not_listed_warning tests/client/test_http_unicode.py::test_streamable_http_client_unicode_tool_call tests/cli/test_utils.py::test_parse_file_path_accepts_valid_specs[server.py-None] tests/client/test_session.py::test_client_session_version_negotiation_failure [gw0] [ 3%] PASSED tests/cli/test_utils.py::test_parse_file_path_accepts_valid_specs[server.py-None] [gw41] [ 3%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[None-False] [gw72] [ 3%] PASSED tests/client/test_session.py::test_client_session_default_client_info tests/client/test_session.py::test_client_session_initialize tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_tools-tools/list] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata=https://api.example.com/.well-known/oauth-protected-resource-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] tests/client/test_logging_callback.py::test_logging_callback tests/client/test_session.py::test_client_capabilities_with_custom_callbacks [gw74] [ 3%] PASSED tests/client/test_session.py::test_client_session_initialize [gw39] [ 4%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata=https://api.example.com/.well-known/oauth-protected-resource-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] tests/client/test_auth.py::test_build_metadata[simple-url] tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_tools] tests/client/test_list_methods_cursor.py::test_list_tools_with_strict_server_validation [gw64] [ 4%] PASSED tests/client/test_list_methods_cursor.py::test_list_tools_with_strict_server_validation [gw32] [ 4%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", scope="admin:write resource:read", error="insufficient_scope"-scope-admin:write resource:read] [gw73] [ 4%] PASSED tests/client/test_session.py::test_client_capabilities_with_custom_callbacks [gw63] [ 4%] PASSED tests/client/test_session.py::test_client_session_version_negotiation_failure [gw17] [ 4%] PASSED tests/client/test_auth.py::TestPKCEParameters::test_pkce_generation tests/client/test_auth.py::TestAuthFlow::test_auth_flow_no_unnecessary_retry_after_oauth [gw35] [ 4%] PASSED tests/client/test_auth.py::TestAuthFlow::test_auth_flow_no_unnecessary_retry_after_oauth tests/client/test_session_group.py::TestClientSessionGroup::test_disconnect_non_existent_server tests/client/test_stdio.py::test_stdio_context_manager_exiting tests/client/test_session.py::test_get_server_capabilities tests/client/test_session.py::test_client_tool_call_with_meta[meta1] tests/client/test_stdio.py::test_stdio_client_bad_path tests/experimental/tasks/client/test_handlers.py::test_client_handles_cancel_task_request tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_enable_tasks_raises tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[cancelled] tests/experimental/tasks/client/test_handlers.py::test_client_task_augmented_elicitation tests/client/test_stdio.py::TestChildProcessCleanup::test_early_parent_exit tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_cancel_task_request tests/experimental/tasks/server/test_server.py::test_task_metadata_in_call_tool_request tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_with_tasks tests/experimental/tasks/server/test_context.py::test_task_context_properties tests/experimental/tasks/client/test_tasks.py::test_session_experimental_list_tasks tests/experimental/tasks/server/test_server.py::test_get_task_handler tests/experimental/tasks/server/test_context.py::test_create_task_state_uses_provided_id [gw84] [ 4%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_disconnect_non_existent_server tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_with_task_augmented_handlers tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server tests/experimental/tasks/server/test_context.py::test_task_execution_not_found [gw56] [ 4%] PASSED tests/client/test_auth.py::test_validate_resource_accepts_root_url_with_trailing_slash tests/client/test_stdio.py::TestChildProcessCleanup::test_basic_child_process_cleanup [gw122] [ 4%] PASSED tests/experimental/tasks/server/test_server.py::test_get_task_handler tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance1-sse-mcp.client.session_group.sse_client] tests/experimental/tasks/server/test_context.py::test_task_execution_auto_fails_on_exception tests/experimental/tasks/server/test_server.py::test_build_elicit_form_request tests/experimental/tasks/client/test_tasks.py::test_session_experimental_get_task tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_with_custom_store_and_queue [gw101] [ 4%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_with_custom_store_and_queue [gw111] [ 4%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_enable_tasks_raises tests/experimental/tasks/server/test_server.py::test_response_routing_success [gw105] [ 5%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[cancelled] tests/experimental/tasks/client/test_poll_task.py::test_poll_task_passes_task_id [gw94] [ 5%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_passes_task_id tests/experimental/tasks/server/test_server.py::test_server_capabilities_partial_tasks [gw121] [ 5%] PASSED tests/experimental/tasks/server/test_server.py::test_server_capabilities_partial_tasks [gw86] [ 5%] PASSED tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_with_task_augmented_handlers tests/experimental/tasks/server/test_server.py::test_cancel_task_handler tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_augmented_elicitation [gw92] [ 5%] PASSED tests/experimental/tasks/server/test_context.py::test_create_task_state_uses_provided_id tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_doesnt_fail_if_already_terminal tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_result_request [gw96] [ 5%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_result_request tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_auto_fails_on_exception tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[completed] [gw93] [ 5%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_cancel_task_request [gw89] [ 5%] PASSED tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_with_tasks tests/experimental/tasks/server/test_context.py::test_task_context_complete [gw109] [ 5%] PASSED tests/experimental/tasks/server/test_context.py::test_task_context_complete tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_properties [gw71] [ 5%] PASSED tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_dict_typed [gw97] [ 5%] PASSED tests/experimental/tasks/server/test_context.py::test_task_context_properties [gw66] [ 5%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance1-sse-mcp.client.session_group.sse_client] tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_with_model_immediate_response tests/experimental/tasks/server/test_server.py::test_build_create_message_request [gw83] [ 6%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_task_augmented_elicitation tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_complete_with_notify [gw114] [ 6%] PASSED tests/experimental/tasks/server/test_context.py::test_task_execution_auto_fails_on_exception [gw118] [ 6%] PASSED tests/experimental/tasks/server/test_server.py::test_build_create_message_request [gw95] [ 6%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_handles_cancel_task_request tests/experimental/tasks/server/test_server_task_context.py::test_elicit_raises_without_handler [gw120] [ 6%] PASSED tests/experimental/tasks/server/test_server.py::test_response_routing_success tests/client/test_session_group.py::TestClientSessionGroup::test_component_properties [gw65] [ 6%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_component_properties tests/experimental/tasks/server/test_server.py::test_response_routing_skips_non_matching_routers [gw99] [ 6%] PASSED tests/experimental/tasks/server/test_server.py::test_response_routing_skips_non_matching_routers [gw98] [ 6%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[completed] [gw54] [ 6%] PASSED tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_not_listed_warning [gw79] [ 6%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_augmented_elicitation [gw119] [ 6%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_with_model_immediate_response [gw82] [ 6%] PASSED tests/client/test_stdio.py::test_stdio_context_manager_exiting tests/experimental/tasks/server/test_integration.py::test_task_auto_fails_on_exception [gw112] [ 7%] PASSED tests/experimental/tasks/server/test_integration.py::test_task_auto_fails_on_exception tests/experimental/tasks/server/test_context.py::test_task_context_cancellation [gw106] [ 7%] PASSED tests/experimental/tasks/client/test_tasks.py::test_session_experimental_get_task [gw123] [ 7%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_complete_with_notify [gw127] [ 7%] PASSED tests/experimental/tasks/server/test_server.py::test_build_elicit_form_request [gw78] [ 7%] PASSED tests/client/test_session.py::test_client_tool_call_with_meta[meta1] [gw124] [ 7%] PASSED tests/experimental/tasks/server/test_server.py::test_task_metadata_in_call_tool_request [gw100] [ 7%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_properties tests/experimental/tasks/server/test_server.py::test_update_capabilities_no_handlers [gw117] [ 7%] PASSED tests/experimental/tasks/server/test_server.py::test_update_capabilities_no_handlers tests/experimental/tasks/server/test_server_task_context.py::test_elicit_restores_status_on_cancellation tests/experimental/tasks/server/test_server_task_context.py::test_elicit_url_queues_request_and_waits_for_response tests/experimental/tasks/server/test_server_task_context.py::test_create_message_raises_without_handler tests/experimental/tasks/server/test_server_task_context.py::test_elicit_raises_when_client_lacks_capability [gw126] [ 7%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_raises_when_client_lacks_capability [gw80] [ 7%] PASSED tests/experimental/tasks/server/test_context.py::test_task_execution_not_found [gw103] [ 7%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_raises_without_handler tests/experimental/tasks/client/test_handlers.py::test_client_handles_get_task_result_request [gw58] [ 7%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_tools] tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_update_status_with_notify [gw70] [ 7%] FAILED tests/client/test_sampling_callback.py::test_sampling_callback [gw115] [ 8%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_url_queues_request_and_waits_for_response [gw53] [ 8%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_prompts-prompts/list] [gw125] [ 8%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_restores_status_on_cancellation tests/client/test_stdio.py::test_stdio_client_stdin_close_ignored tests/experimental/tasks/server/test_context.py::test_create_task_state_has_created_at [gw57] [ 8%] FAILED tests/client/test_logging_callback.py::test_logging_callback tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_session_raises [gw110] [ 8%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_session_raises [gw60] [ 8%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_prompts-prompts/list] [gw116] [ 8%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_doesnt_fail_if_already_terminal [gw113] [ 8%] PASSED tests/experimental/tasks/server/test_context.py::test_create_task_state_has_created_at [gw77] [ 8%] PASSED tests/experimental/tasks/client/test_tasks.py::test_session_experimental_list_tasks [gw88] [ 8%] PASSED tests/client/test_stdio.py::test_stdio_client_bad_path [gw68] [ 8%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server [gw67] [ 8%] PASSED tests/client/test_session.py::test_get_server_capabilities [gw107] [ 9%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_create_message_raises_without_handler tests/client/test_stdio.py::test_stdio_client_universal_cleanup [gw104] [ 9%] PASSED tests/experimental/tasks/server/test_server.py::test_cancel_task_handler [gw85] [ 9%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_handles_get_task_result_request [gw25] [ 9%] XFAIL tests/client/test_auth.py::test_build_metadata[simple-url] tests/client/test_session_group.py::TestClientSessionGroup::test_disconnect_from_server [gw108] [ 9%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_auto_fails_on_exception [gw62] [ 9%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_prompts] tests/cli/test_utils.py::test_parse_file_exit_on_dir [gw90] [ 9%] PASSED tests/experimental/tasks/server/test_context.py::test_task_context_cancellation [gw1] [ 9%] PASSED tests/cli/test_utils.py::test_parse_file_exit_on_dir tests/experimental/tasks/server/test_server_task_context.py::test_elicit_as_task_raises_without_handler [gw1] [ 9%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_as_task_raises_without_handler [gw76] [ 9%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_disconnect_from_server tests/client/test_auth.py::TestOAuthFallback::test_prioritize_www_auth_scope_over_prm [gw49] [ 9%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_tools-tools/list] [gw24] [ 9%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_prioritize_www_auth_scope_over_prm tests/experimental/tasks/server/test_store.py::test_create_and_get tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_exchange_token_client_credentials tests/client/auth/extensions/test_client_credentials.py::TestOAuthFlowClientCredentials::test_token_exchange_request_jwt_predefined tests/client/test_auth.py::TestOAuthContext::test_context_url_parsing [gw24] [ 10%] PASSED tests/experimental/tasks/server/test_store.py::test_create_and_get [gw102] [ 10%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_update_status_with_notify [gw18] [ 10%] PASSED tests/client/test_auth.py::TestOAuthContext::test_context_url_parsing tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_sets_client_info tests/client/auth/extensions/test_client_credentials.py::TestSignedJWTParameters::test_create_assertion_provider [gw13] [ 10%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestPrivateKeyJWTOAuthProvider::test_exchange_token_client_credentials tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_with_client_secret_post tests/experimental/tasks/server/test_store.py::test_create_duplicate_id_raises [gw10] [ 10%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_sets_client_info tests/experimental/tasks/server/test_store.py::test_store_and_get_result [gw13] [ 10%] PASSED tests/experimental/tasks/server/test_store.py::test_create_duplicate_id_raises [gw18] [ 10%] PASSED tests/experimental/tasks/server/test_store.py::test_store_and_get_result tests/client/test_auth.py::TestOAuthContext::test_clear_tokens [gw6] [ 10%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestSignedJWTParameters::test_create_assertion_provider tests/cli/test_utils.py::test_get_npx_windows [gw51] [ 10%] PASSED tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_basemodel [gw4] [ 10%] PASSED tests/client/test_auth.py::TestOAuthContext::test_clear_tokens tests/experimental/tasks/server/test_store.py::test_get_result_no_result_returns_none [gw12] [ 10%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_init_with_client_secret_post tests/experimental/tasks/server/test_store.py::test_delete_task tests/experimental/tasks/server/test_store.py::test_list_tasks_pagination [gw10] [ 10%] PASSED tests/experimental/tasks/server/test_store.py::test_list_tasks_pagination tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_root_when_auth_server_has_only_slash [gw7] [ 11%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestOAuthFlowClientCredentials::test_token_exchange_request_jwt_predefined tests/experimental/tasks/server/test_store.py::test_update_status tests/experimental/tasks/server/test_store.py::test_store_result_nonexistent_raises [gw3] [ 11%] PASSED tests/cli/test_utils.py::test_get_npx_windows tests/experimental/tasks/server/test_store.py::test_task_expiration_cleanup [gw3] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_task_expiration_cleanup [gw12] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_delete_task tests/client/test_auth.py::TestOAuthFallback::test_refresh_token_request [gw23] [ 11%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_refresh_token_request tests/experimental/tasks/server/test_store.py::test_cancel_task_succeeds_for_working_task [gw5] [ 11%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_root_when_auth_server_has_only_slash tests/experimental/tasks/server/test_store.py::test_terminal_status_allows_same_status [gw6] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_get_result_no_result_returns_none tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_path_aware_when_auth_server_has_path [gw15] [ 11%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_path_aware_when_auth_server_has_path tests/cli/test_utils.py::test_build_uv_command_adds_editable_and_packages [gw23] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_succeeds_for_working_task tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_fallback_conditions [gw2] [ 11%] PASSED tests/cli/test_utils.py::test_build_uv_command_adds_editable_and_packages tests/experimental/tasks/server/test_store.py::test_terminal_task_ttl_reset [gw2] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_terminal_task_ttl_reset [gw7] [ 11%] PASSED tests/experimental/tasks/server/test_store.py::test_update_status [gw20] [ 11%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_oauth_discovery_fallback_conditions tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_already_cancelled_task [gw52] [ 12%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_tools-tools/list] [gw4] [ 12%] PASSED tests/experimental/tasks/server/test_store.py::test_store_result_nonexistent_raises tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_exchange_token_without_scopes tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_completed_task [gw5] [ 12%] PASSED tests/experimental/tasks/server/test_store.py::test_terminal_status_allows_same_status [gw15] [ 12%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_completed_task [gw20] [ 12%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_already_cancelled_task tests/client/test_auth.py::TestOAuthFlow::test_create_oauth_metadata_request tests/client/auth/extensions/test_client_credentials.py::TestStaticAssertionProvider::test_returns_static_token [gw11] [ 12%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestClientCredentialsOAuthProvider::test_exchange_token_without_scopes tests/client/test_auth.py::TestOAuthFallback::test_omit_scope_when_no_prm_scopes_or_www_auth [gw8] [ 12%] PASSED tests/client/auth/extensions/test_client_credentials.py::TestStaticAssertionProvider::test_returns_static_token [gw22] [ 12%] PASSED tests/client/test_auth.py::TestOAuthFlow::test_create_oauth_metadata_request tests/experimental/tasks/server/test_task_result_handler.py::test_handle_delivers_queued_messages tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope=read-scope-read] tests/experimental/tasks/server/test_task_result_handler.py::test_handle_raises_for_nonexistent_task tests/client/test_auth.py::TestLegacyServerFallback::test_legacy_server_no_prm_falls_back_to_root_oauth_discovery [gw22] [ 12%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_delivers_queued_messages tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/-False] tests/experimental/tasks/server/test_task_result_handler.py::test_handle_returns_result_for_completed_task [gw26] [ 12%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_omit_scope_when_no_prm_scopes_or_www_auth [gw40] [ 12%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope=read-scope-read] tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_returns_false_for_already_done_resolver tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_included_with_recent_protocol_version tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_falls_back_when_metadata_has_no_registration_endpoint [gw21] [ 12%] PASSED tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_falls_back_when_metadata_has_no_registration_endpoint tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer realm="api", error="insufficient_scope"-scope-no scope parameter] [gw40] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_returns_false_for_already_done_resolver [gw8] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_returns_result_for_completed_task tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope="resource:read resource:write user_profile"-scope-resource:read resource:write user_profile] tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_resolves_pending_request [gw26] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_resolves_pending_request [gw46] [ 13%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/-False] tests/experimental/tasks/server/test_task_result_handler.py::test_deliver_skips_resolver_registration_when_no_original_id [gw46] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_deliver_skips_resolver_registration_when_no_original_id [gw42] [ 13%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer scope="resource:read resource:write user_profile"-scope-resource:read resource:write user_profile] tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[plain-task-id] [gw42] [ 13%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[plain-task-id] [gw37] [ 13%] PASSED tests/client/test_auth.py::TestLegacyServerFallback::test_legacy_server_no_prm_falls_back_to_root_oauth_discovery tests/experimental/tasks/server/test_task_result_handler.py::test_route_error_returns_false_for_unknown_request [gw37] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_route_error_returns_false_for_unknown_request [gw9] [ 13%] PASSED tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_included_with_recent_protocol_version tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[] [gw11] [ 13%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_raises_for_nonexistent_task [gw27] [ 13%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer realm="api", error="insufficient_scope"-scope-no scope parameter] tests/experimental/tasks/server/test_task_result_handler.py::test_wait_for_task_update_handles_queue_exception tests/client/test_auth.py::TestCIMD::test_create_client_info_from_metadata_url tests/experimental/tasks/server/test_task_scope.py::test_scoped_task_id_round_trips_its_scope [gw21] [ 14%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_scoped_task_id_round_trips_its_scope [gw43] [ 14%] PASSED tests/client/test_auth.py::TestCIMD::test_create_client_info_from_metadata_url tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[0123456789abcdef0123456789abcdef:not-a-uuid] [gw27] [ 14%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_wait_for_task_update_handles_queue_exception [gw9] [ 14%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[] [gw43] [ 14%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[0123456789abcdef0123456789abcdef:not-a-uuid] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer scope=-scope-malformed scope parameter] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata="https://api.example.com/.well-known/oauth-protected-resource"-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[http://example.com/client-False] tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/client-True] tests/client/test_auth.py::TestAuthFlow::test_auth_flow_with_no_tokens tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_included_with_protected_resource_metadata [gw47] [ 14%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[http://example.com/client-False] tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[None-scope-no WWW-Authenticate header] [gw44] [ 14%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/client-True] [gw38] [ 14%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[Bearer scope=-scope-malformed scope parameter] tests/experimental/tasks/server/test_task_scope.py::test_a_scoped_task_is_usable_only_from_the_scope_that_created_it [gw38] [ 14%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_a_scoped_task_is_usable_only_from_the_scope_that_created_it tests/experimental/tasks/server/test_task_visibility.py::test_a_client_can_cancel_its_own_task tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/path/to/client-True] tests/experimental/tasks/server/test_task_scope.py::test_configure_session_is_idempotent [gw19] [ 14%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer resource_metadata="https://api.example.com/.well-known/oauth-protected-resource"-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] [gw14] [ 14%] PASSED tests/client/test_auth.py::TestProtectedResourceMetadata::test_resource_param_included_with_protected_resource_metadata [gw30] [ 14%] PASSED tests/client/test_auth.py::TestAuthFlow::test_auth_flow_with_no_tokens tests/experimental/tasks/server/test_task_scope.py::test_a_scoped_task_is_listable_only_in_the_scope_that_created_it [gw34] [ 14%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[https://example.com/path/to/client-True] [gw31] [ 15%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_invalid_cases[None-scope-no WWW-Authenticate header] tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_a_scope tests/experimental/tasks/server/test_task_visibility.py::test_a_client_can_poll_its_own_task_to_completion_and_read_the_result tests/client/test_auth.py::TestSEP985Discovery::test_path_based_fallback_when_no_www_authenticate tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_get_the_result_of_another_clients_task [gw47] [ 15%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_configure_session_is_idempotent [gw30] [ 15%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_a_scoped_task_is_listable_only_in_the_scope_that_created_it tests/client/test_auth.py::TestCIMD::test_oauth_provider_with_invalid_client_metadata_url_raises_error tests/client/test_auth.py::TestOAuthFallback::test_basic_auth_refresh_token tests/experimental/tasks/server/test_task_visibility.py::test_a_client_does_not_see_another_clients_task_when_listing_tasks [gw33] [ 15%] PASSED tests/client/test_auth.py::TestSEP985Discovery::test_path_based_fallback_when_no_www_authenticate tests/experimental/tasks/server/test_task_visibility.py::test_listing_tasks_reveals_nothing_about_other_clients_tasks_however_many_there_are tests/client/test_auth.py::TestCIMD::test_auth_flow_falls_back_to_dcr_when_no_cimd_support tests/client/test_auth.py::TestCIMD::test_should_use_client_metadata_url_when_server_supports [gw48] [ 15%] PASSED tests/client/test_auth.py::TestCIMD::test_oauth_provider_with_invalid_client_metadata_url_raises_error [gw16] [ 15%] PASSED tests/client/test_auth.py::TestOAuthFallback::test_basic_auth_refresh_token tests/experimental/tasks/server/test_task_visibility.py::test_a_task_whose_id_was_chosen_by_the_server_is_accessible_to_every_client tests/client/test_auth.py::TestSEP985Discovery::test_www_authenticate_takes_priority_over_well_known [gw45] [ 15%] PASSED tests/client/test_auth.py::TestCIMD::test_should_use_client_metadata_url_when_server_supports tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_required_but_client_missing [gw29] [ 15%] PASSED tests/client/test_auth.py::TestSEP985Discovery::test_www_authenticate_takes_priority_over_well_known tests/experimental/tasks/server/test_task_visibility.py::test_a_stateless_server_lists_no_tasks [gw19] [ 15%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_a_scope [gw44] [ 15%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_can_cancel_its_own_task tests/client/test_auth.py::test_validate_resource_accepts_matching_resource [gw50] [ 15%] PASSED tests/client/test_auth.py::TestCIMD::test_auth_flow_falls_back_to_dcr_when_no_cimd_support tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_required_requests_none_returns_true tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_create_present [gw50] [ 15%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_create_present [gw29] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_required_requests_none_returns_true tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_not_provided tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[-False] [gw45] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_required_but_client_missing tests/client/test_session.py::test_client_session_version_negotiation_success [gw55] [ 16%] PASSED tests/client/test_auth.py::TestCIMD::test_should_not_use_client_metadata_url_when_not_provided tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_without_create_message_required [gw55] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_without_create_message_required [gw41] [ 16%] PASSED tests/client/test_auth.py::TestCIMD::test_is_valid_client_metadata_url[-False] tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_create_none tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_uses_registration_endpoint_from_metadata tests/cli/test_utils.py::test_parse_file_path_accepts_valid_specs[foo.py:srv_obj-srv_obj] [gw36] [ 16%] PASSED tests/client/test_auth.py::test_validate_resource_accepts_matching_resource tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_both_elicitation_and_sampling_present [gw72] [ 16%] PASSED tests/client/test_session.py::test_client_session_version_negotiation_success tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_tasks_none [gw72] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_tasks_none [gw28] [ 16%] PASSED tests/client/test_auth.py::TestCreateClientRegistrationRequest::test_uses_registration_endpoint_from_metadata tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_create_message_required_but_client_missing [gw28] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_create_message_required_but_client_missing tests/client/test_session.py::test_client_session_custom_client_info [gw41] [ 16%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_create_none [gw0] [ 16%] PASSED tests/cli/test_utils.py::test_parse_file_path_accepts_valid_specs[foo.py:srv_obj-srv_obj] tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_requests_none [gw0] [ 17%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_requests_none [gw36] [ 17%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_both_elicitation_and_sampling_present tests/client/test_scope_bug_1630.py::test_401_uses_www_auth_scope_not_resource_metadata_url [gw74] [ 17%] PASSED tests/client/test_session.py::test_client_session_custom_client_info tests/client/test_list_roots_callback.py::test_list_roots_callback tests/client/test_session.py::test_client_capabilities_with_sampling_tools [gw34] [ 17%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_does_not_see_another_clients_task_when_listing_tasks tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer error=invalid_token-error-invalid_token] tests/client/test_session.py::test_client_capabilities_default tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_sampling_none [gw74] [ 17%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_sampling_none tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", resource_metadata="https://api.example.com/.well-known/oauth-protected-resource", error="insufficient_scope"-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] [gw73] [ 17%] PASSED tests/client/test_session.py::test_client_capabilities_with_sampling_tools tests/experimental/tasks/test_deprecations.py::test_client_session_experimental_task_handlers_kwarg_is_deprecated [gw39] [ 17%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer error=invalid_token-error-invalid_token] tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_create_message_present [gw39] [ 17%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_create_message_present tests/client/test_auth.py::TestPKCEParameters::test_pkce_uniqueness [gw73] [ 17%] PASSED tests/experimental/tasks/test_deprecations.py::test_client_session_experimental_task_handlers_kwarg_is_deprecated [gw69] [ 17%] PASSED tests/client/test_scope_bug_1630.py::test_401_uses_www_auth_scope_not_resource_metadata_url tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_raises_when_missing [gw69] [ 17%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_raises_when_missing [gw33] [ 17%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_listing_tasks_reveals_nothing_about_other_clients_tasks_however_many_there_are [gw63] [ 18%] PASSED tests/client/test_session.py::test_client_capabilities_default [gw14] [ 18%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_can_poll_its_own_task_to_completion_and_read_the_result [gw32] [ 18%] PASSED tests/client/test_auth.py::TestWWWAuthenticate::test_extract_field_from_www_auth_valid_cases[Bearer realm="api", resource_metadata="https://api.example.com/.well-known/oauth-protected-resource", error="insufficient_scope"-resource_metadata-https://api.example.com/.well-known/oauth-protected-resource] tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_passes_when_present [gw32] [ 18%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_passes_when_present tests/client/test_auth.py::TestAuthFlow::test_403_insufficient_scope_updates_scope_from_header [gw17] [ 18%] PASSED tests/client/test_auth.py::TestPKCEParameters::test_pkce_uniqueness [gw31] [ 18%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_get_the_result_of_another_clients_task tests/experimental/tasks/test_deprecations.py::test_lowlevel_server_experimental_property_is_deprecated [gw35] [ 18%] PASSED tests/client/test_auth.py::TestAuthFlow::test_403_insufficient_scope_updates_scope_from_header tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario1_normal_tool_normal_elicitation [gw63] [ 18%] PASSED tests/experimental/tasks/test_deprecations.py::test_lowlevel_server_experimental_property_is_deprecated [gw48] [ 18%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_stateless_server_lists_no_tasks tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario3_task_augmented_tool_normal_elicitation tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance0-stdio-mcp.client.session_group.mcp.stdio_client] tests/client/test_auth.py::test_get_resource_url_falls_back_when_prm_mismatches tests/experimental/tasks/server/test_server.py::test_get_task_result_handler [gw17] [ 18%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario1_normal_tool_normal_elicitation [gw122] [ 18%] PASSED tests/experimental/tasks/server/test_server.py::test_get_task_result_handler tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_fifo_ordering [gw56] [ 18%] PASSED tests/client/test_auth.py::test_get_resource_url_falls_back_when_prm_mismatches tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_enqueue_and_dequeue tests/experimental/tasks/server/test_run_task_flow.py::test_task_support_task_group_before_run_raises [gw16] [ 18%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_task_whose_id_was_chosen_by_the_server_is_accessible_to_every_client [gw84] [ 19%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance0-stdio-mcp.client.session_group.mcp.stdio_client] tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario2_sampling_normal_tool_task_augmented_sampling [gw122] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_fifo_ordering tests/experimental/tasks/client/test_poll_task.py::test_poll_task_continues_through_input_required [gw56] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_enqueue_and_dequeue [gw105] [ 19%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_continues_through_input_required tests/experimental/tasks/client/test_poll_task.py::test_poll_task_yields_full_result tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_notification_messages tests/experimental/tasks/server/test_server.py::test_tool_with_task_execution_metadata [gw111] [ 19%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_task_support_task_group_before_run_raises tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_clear_returns_all_messages [gw105] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_notification_messages [gw121] [ 19%] PASSED tests/experimental/tasks/server/test_server.py::test_tool_with_task_execution_metadata tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_cleanup_all tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_skips_default_handlers_when_custom_registered [gw94] [ 19%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_yields_full_result [gw101] [ 19%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_skips_default_handlers_when_custom_registered tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_peek_does_not_remove [gw101] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_peek_does_not_remove tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_message_with_resolver [gw94] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_message_with_resolver [gw111] [ 19%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_clear_returns_all_messages [gw121] [ 20%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_cleanup_all [gw35] [ 20%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario3_task_augmented_tool_normal_elicitation tests/experimental/tasks/server/test_context.py::test_create_task_state_null_ttl tests/experimental/tasks/client/test_handlers.py::test_client_handles_get_task_request tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_list_tasks_request tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_augmented_sampling tests/experimental/tasks/server/test_context.py::test_task_context_fail tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_auto_built_from_handlers [gw92] [ 20%] PASSED tests/experimental/tasks/server/test_context.py::test_create_task_state_null_ttl tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_missing_required [gw96] [ 20%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_list_tasks_request [gw84] [ 20%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario2_sampling_normal_tool_task_augmented_sampling tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance2-streamablehttp-mcp.client.session_group.streamable_http_client] tests/experimental/tasks/server/test_context.py::test_task_execution_doesnt_fail_if_already_terminal tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_peek_empty_queue_returns_none [gw86] [ 20%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_handles_get_task_request tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_result_and_wait [gw93] [ 20%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_augmented_sampling [gw89] [ 20%] PASSED tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_auto_built_from_handlers tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_request [gw109] [ 20%] PASSED tests/experimental/tasks/server/test_context.py::test_task_context_fail [gw86] [ 20%] PASSED tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_result_and_wait tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_blocks_until_message tests/experimental/tasks/test_request_context.py::test_is_task_false_when_no_metadata [gw109] [ 20%] PASSED tests/experimental/tasks/test_request_context.py::test_is_task_false_when_no_metadata [gw83] [ 20%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_returns_error_for_unhandled_task_request tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_without_task_raises_by_default tests/experimental/tasks/test_message_queue.py::TestResolver::test_done_returns_false_before_completion [gw89] [ 21%] PASSED tests/experimental/tasks/test_message_queue.py::TestResolver::test_done_returns_false_before_completion [gw114] [ 21%] PASSED tests/experimental/tasks/server/test_context.py::test_task_execution_doesnt_fail_if_already_terminal [gw96] [ 21%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_peek_empty_queue_returns_none [gw92] [ 21%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_blocks_until_message [gw83] [ 21%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_without_task_raises_by_default tests/experimental/tasks/server/test_server.py::test_send_message tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_with_task_returns_error [gw114] [ 21%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_with_task_returns_error tests/experimental/tasks/server/test_server.py::test_response_routing_error tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_result_when_already_completed_raises [gw93] [ 21%] PASSED tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_result_when_already_completed_raises tests/client/test_session_group.py::TestClientSessionGroup::test_call_tool tests/experimental/tasks/client/test_handlers.py::test_client_task_augmented_sampling [gw120] [ 21%] PASSED tests/experimental/tasks/server/test_server.py::test_response_routing_error tests/experimental/tasks/test_request_context.py::test_validate_for_tool_without_execution [gw118] [ 21%] PASSED tests/experimental/tasks/server/test_server.py::test_send_message tests/experimental/tasks/test_request_context.py::test_validate_task_mode_none_treated_as_forbidden [gw120] [ 21%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_for_tool_without_execution tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[failed] [gw118] [ 21%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_none_treated_as_forbidden tests/client/test_stdio.py::test_stdio_client [gw65] [ 21%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_call_tool [gw98] [ 22%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_exits_on_terminal[failed] [gw95] [ 22%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_task_augmented_sampling tests/experimental/tasks/test_request_context.py::test_can_use_tool_optional_without_task_support tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_basic_flow [gw71] [ 22%] PASSED tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_missing_required tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_with_task_is_valid [gw71] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_with_task_is_valid [gw112] [ 22%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_basic_flow tests/experimental/tasks/test_request_context.py::test_can_use_tool_required_with_task_support [gw82] [ 22%] PASSED tests/client/test_stdio.py::test_stdio_client tests/experimental/tasks/test_request_context.py::test_can_use_tool_none_without_task_support [gw82] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_can_use_tool_none_without_task_support [gw65] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_can_use_tool_required_with_task_support tests/experimental/tasks/test_request_context.py::test_validate_task_mode_optional_without_task_is_valid [gw95] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_optional_without_task_is_valid tests/experimental/tasks/test_request_context.py::test_run_task_without_a_task_id_does_not_warn [gw112] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_run_task_without_a_task_id_does_not_warn tests/experimental/tasks/client/test_tasks.py::test_session_experimental_get_task_result [gw64] [ 22%] FAILED tests/client/test_list_roots_callback.py::test_list_roots_callback tests/experimental/tasks/server/test_context.py::test_task_context_update_status [gw98] [ 22%] PASSED tests/experimental/tasks/test_request_context.py::test_can_use_tool_optional_without_task_support tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_fail_with_notify tests/experimental/tasks/server/test_server.py::test_build_elicit_url_request tests/experimental/tasks/server/test_server.py::test_task_metadata_is_task_property tests/experimental/tasks/client/test_poll_task.py::test_poll_task_yields_until_completed [gw127] [ 22%] PASSED tests/experimental/tasks/server/test_server.py::test_build_elicit_url_request tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_absent_rejects_task_augmented_call tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_raises_when_none [gw64] [ 23%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_raises_when_none [gw127] [ 23%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_absent_rejects_task_augmented_call tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_request_cancellation [gw106] [ 23%] PASSED tests/experimental/tasks/client/test_tasks.py::test_session_experimental_get_task_result tests/experimental/tasks/test_spec_compliance.py::test_server_with_get_task_handler_declares_requests_tools_call_capability [gw106] [ 23%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_with_get_task_handler_declares_requests_tools_call_capability tests/experimental/tasks/server/test_server.py::test_default_task_handlers_via_enable_tasks tests/experimental/tasks/server/test_server.py::test_error_routing_skips_non_matching_routers [gw99] [ 23%] PASSED tests/experimental/tasks/server/test_server.py::test_error_routing_skips_non_matching_routers [gw79] [ 23%] PASSED tests/experimental/tasks/client/test_poll_task.py::test_poll_task_yields_until_completed [gw123] [ 23%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_fail_with_notify tests/experimental/tasks/test_spec_compliance.py::test_server_without_cancel_handler_has_no_cancel_capability [gw123] [ 23%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_without_cancel_handler_has_no_cancel_capability tests/experimental/tasks/server/test_server_task_context.py::test_create_message_raises_when_client_lacks_capability tests/experimental/tasks/test_spec_compliance.py::TestCapabilityNegotiation::test_receiver_with_capability_may_require_task_augmentation [gw100] [ 23%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_request_cancellation [gw124] [ 23%] PASSED tests/experimental/tasks/server/test_server.py::test_task_metadata_is_task_property tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_optional_accepts_task_augmented_call [gw124] [ 23%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_optional_accepts_task_augmented_call tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_completed_transition [gw97] [ 23%] PASSED tests/experimental/tasks/server/test_context.py::test_task_context_update_status tests/client/test_session_group.py::TestClientSessionGroup::test_init [gw126] [ 24%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_create_message_raises_when_client_lacks_capability tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_terminal_state_no_further_transitions tests/experimental/tasks/test_spec_compliance.py::TestClientCapabilities::test_client_declares_tasks_capability [gw97] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestClientCapabilities::test_client_declares_tasks_capability [gw79] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCapabilityNegotiation::test_receiver_with_capability_may_require_task_augmentation tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_doesnt_complete_if_already_terminal [gw78] [ 24%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_init tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_input_required_to_working_transition [gw78] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_input_required_to_working_transition [gw119] [ 24%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_doesnt_complete_if_already_terminal tests/experimental/tasks/test_spec_compliance.py::test_server_with_list_tasks_handler_declares_list_capability [gw119] [ 24%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_with_list_tasks_handler_declares_list_capability [gw100] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_completed_transition [gw126] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_terminal_state_no_further_transitions tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_required_accepts_task_augmented_call [gw99] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_required_accepts_task_augmented_call tests/experimental/tasks/server/test_server_task_context.py::test_elicit_url_raises_without_handler tests/experimental/tasks/server/test_integration.py::test_task_lifecycle_with_task_execution tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resources] tests/experimental/tasks/server/test_server_task_context.py::test_create_message_queues_request_and_waits_for_response tests/experimental/tasks/server/test_server_task_context.py::test_create_message_restores_status_on_cancellation tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_task_metadata_raises [gw103] [ 24%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_url_raises_without_handler tests/experimental/tasks/test_spec_compliance.py::TestInputRequiredStatus::test_input_required_status_retrievable_via_tasks_get [gw103] [ 24%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestInputRequiredStatus::test_input_required_status_retrievable_via_tasks_get tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resource_templates-resources/templates/list] [gw110] [ 25%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_run_task_without_task_metadata_raises tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_poll_interval tests/experimental/tasks/server/test_context.py::test_task_execution_provides_context tests/experimental/tasks/client/test_tasks.py::test_session_experimental_cancel_task tests/experimental/tasks/server/test_server.py::test_list_tasks_handler [gw125] [ 25%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_create_message_restores_status_on_cancellation tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_created_at_is_iso8601 [gw110] [ 25%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_poll_interval [gw113] [ 25%] PASSED tests/experimental/tasks/server/test_context.py::test_task_execution_provides_context tests/client/test_stdio.py::test_stdio_client_nonexistent_command [gw115] [ 25%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_create_message_queues_request_and_waits_for_response tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resource_templates-resources/templates/list] tests/experimental/tasks/server/test_server.py::test_server_capabilities_include_tasks [gw125] [ 25%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_created_at_is_iso8601 [gw88] [ 25%] PASSED tests/client/test_stdio.py::test_stdio_client_nonexistent_command [gw116] [ 25%] PASSED tests/experimental/tasks/server/test_server.py::test_list_tasks_handler tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_returns_task_object [gw116] [ 25%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_returns_task_object tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_status_working [gw66] [ 25%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_establish_session_parameterized[server_params_instance2-streamablehttp-mcp.client.session_group.streamable_http_client] tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_false_no_tasks tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server_with_name_hook tests/client/test_resource_cleanup.py::test_send_request_stream_cleanup tests/experimental/tasks/server/test_server_task_context.py::test_elicit_queues_request_and_waits_for_response tests/client/test_sampling_callback.py::test_create_message_backwards_compat_single_content tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_auto_registers_handlers [gw108] [ 25%] PASSED tests/experimental/tasks/server/test_run_task_flow.py::test_enable_tasks_auto_registers_handlers [gw115] [ 25%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_status_working [gw66] [ 25%] PASSED tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_false_no_tasks tests/client/test_notification_response.py::test_non_compliant_notification_response tests/experimental/tasks/client/test_handlers.py::test_client_handles_list_tasks_request [gw104] [ 26%] PASSED tests/experimental/tasks/server/test_server.py::test_server_capabilities_include_tasks [gw117] [ 26%] PASSED tests/experimental/tasks/server/test_server.py::test_default_task_handlers_via_enable_tasks [gw107] [ 26%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_elicit_queues_request_and_waits_for_response [gw54] [ 26%] PASSED tests/client/test_resource_cleanup.py::test_send_request_stream_cleanup tests/client/test_auth.py::test_build_metadata[with-trailing-slash] [gw68] [ 26%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server_with_name_hook tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_cancelled_transition [gw25] [ 26%] PASSED tests/client/test_auth.py::test_build_metadata[with-trailing-slash] [gw77] [ 26%] PASSED tests/experimental/tasks/client/test_tasks.py::test_session_experimental_cancel_task [gw85] [ 26%] PASSED tests/experimental/tasks/client/test_handlers.py::test_client_handles_list_tasks_request tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resource_templates] tests/experimental/tasks/server/test_server_task_context.py::test_create_message_as_task_raises_without_handler tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server_duplicate_tool_raises_error [gw117] [ 26%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_cancelled_transition tests/client/test_session.py::test_client_tool_call_with_meta[None] tests/experimental/tasks/server/test_context.py::test_create_task_state_generates_id tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resources-resources/list] [gw1] [ 26%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_create_message_as_task_raises_without_handler tests/experimental/tasks/server/test_store.py::test_create_with_custom_id [gw80] [ 26%] PASSED tests/experimental/tasks/server/test_integration.py::test_task_lifecycle_with_task_execution [gw67] [ 26%] PASSED tests/client/test_session.py::test_client_tool_call_with_meta[None] [gw90] [ 27%] PASSED tests/experimental/tasks/server/test_context.py::test_create_task_state_generates_id [gw24] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_create_with_custom_id tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_failed_is_terminal tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_update_status_without_notify [gw76] [ 27%] PASSED tests/client/test_session_group.py::TestClientSessionGroup::test_connect_to_server_duplicate_tool_raises_error [gw80] [ 27%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_failed_is_terminal tests/experimental/tasks/server/test_store.py::test_get_result_nonexistent_returns_none tests/experimental/tasks/server/test_store.py::test_get_nonexistent_returns_none [gw102] [ 27%] PASSED tests/experimental/tasks/server/test_server_task_context.py::test_server_task_context_update_status_without_notify [gw13] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_get_nonexistent_returns_none [gw18] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_get_result_nonexistent_returns_none tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_primitive tests/experimental/tasks/server/test_store.py::test_list_tasks_invalid_cursor [gw10] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_list_tasks_invalid_cursor tests/experimental/tasks/server/test_store.py::test_get_all_tasks_helper tests/experimental/tasks/server/test_store.py::test_task_with_null_ttl_never_expires tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_nonexistent_task tests/experimental/tasks/server/test_store.py::test_list_tasks [gw3] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_task_with_null_ttl_never_expires tests/experimental/tasks/server/test_store.py::test_update_nonexistent_raises [gw23] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_nonexistent_task [gw12] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_get_all_tasks_helper tests/experimental/tasks/server/test_store.py::test_terminal_status_transition_rejected tests/experimental/tasks/server/test_store.py::test_wait_for_update_nonexistent_raises tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_failed_task [gw6] [ 27%] PASSED tests/experimental/tasks/server/test_store.py::test_list_tasks [gw2] [ 28%] PASSED tests/experimental/tasks/server/test_store.py::test_terminal_status_transition_rejected [gw7] [ 28%] PASSED tests/experimental/tasks/server/test_store.py::test_update_nonexistent_raises [gw5] [ 28%] PASSED tests/experimental/tasks/server/test_store.py::test_wait_for_update_nonexistent_raises [gw15] [ 28%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_rejects_failed_task tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resources-resources/list] tests/experimental/tasks/server/test_store.py::test_cancel_task_succeeds_for_input_required_task [gw58] [ 28%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resources] tests/experimental/tasks/server/test_task_result_handler.py::test_route_error_resolves_pending_request_with_exception [gw40] [ 28%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_route_error_resolves_pending_request_with_exception tests/experimental/tasks/server/test_store.py::test_create_task_with_null_ttl [gw70] [ 28%] FAILED tests/client/test_sampling_callback.py::test_create_message_backwards_compat_single_content tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_task_augmented_request_returns_create_task_result tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_returns_false_for_unknown_request [gw26] [ 28%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_route_response_returns_false_for_unknown_request tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[550e8400-e29b-41d4-a716-446655440000] [gw42] [ 28%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[550e8400-e29b-41d4-a716-446655440000] tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_receiver_may_override_requested_ttl [gw70] [ 28%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_receiver_may_override_requested_ttl [gw81] [ 28%] PASSED tests/client/test_stdio.py::TestChildProcessCleanup::test_basic_child_process_cleanup [gw60] [ 28%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resource_templates-resources/templates/list] tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_may_return_poll_interval [gw53] [ 29%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resource_templates-resources/templates/list] [gw20] [ 29%] PASSED tests/experimental/tasks/server/test_store.py::test_cancel_task_succeeds_for_input_required_task [gw58] [ 29%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_task_augmented_request_returns_create_task_result [gw60] [ 29%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_may_return_poll_interval tests/experimental/tasks/server/test_task_result_handler.py::test_handle_returns_empty_result_when_no_result_stored tests/experimental/tasks/server/test_task_result_handler.py::test_handle_waits_for_task_completion tests/experimental/tasks/server/test_task_result_handler.py::test_wait_for_task_update_handles_store_exception [gw46] [ 29%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_wait_for_task_update_handles_store_exception tests/experimental/tasks/server/test_task_result_handler.py::test_deliver_registers_resolver_for_request_messages tests/experimental/tasks/server/test_task_scope.py::test_scoped_task_ids_are_unique_within_a_scope [gw21] [ 29%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_scoped_task_ids_are_unique_within_a_scope [gw4] [ 29%] PASSED tests/experimental/tasks/server/test_store.py::test_create_task_with_null_ttl [gw37] [ 29%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_deliver_registers_resolver_for_request_messages [gw11] [ 29%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_returns_empty_result_when_no_result_stored [gw22] [ 29%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_waits_for_task_completion tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[0123456789ABCDEF0123456789ABCDEF:550e8400-e29b-41d4-a716-446655440000] [gw43] [ 29%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[0123456789ABCDEF0123456789ABCDEF:550e8400-e29b-41d4-a716-446655440000] tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[not-a-scope:550e8400-e29b-41d4-a716-446655440000] [gw9] [ 29%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_session_scope_of_returns_none_for_unscoped_ids[not-a-scope:550e8400-e29b-41d4-a716-446655440000] tests/experimental/tasks/server/test_task_result_handler.py::test_handle_omits_none_fields_from_completed_task_payload tests/experimental/tasks/server/test_task_scope.py::test_new_session_scope_is_unique [gw8] [ 29%] PASSED tests/experimental/tasks/server/test_task_result_handler.py::test_handle_omits_none_fields_from_completed_task_payload [gw62] [ 30%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resource_templates] [gw27] [ 30%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_new_session_scope_is_unique tests/experimental/tasks/server/test_task_scope.py::test_an_unscoped_task_is_usable_from_any_scope [gw38] [ 30%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_an_unscoped_task_is_usable_from_any_scope tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_no_scope_to_stateless_sessions tests/experimental/tasks/server/test_task_scope.py::test_an_unscoped_task_is_never_listable [gw47] [ 30%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_no_scope_to_stateless_sessions [gw30] [ 30%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_an_unscoped_task_is_never_listable tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_get_the_status_of_another_clients_task tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_distinct_scopes_per_session [gw75] [ 30%] PASSED tests/client/test_stdio.py::TestChildProcessCleanup::test_early_parent_exit tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_required_but_client_missing tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_create_required_but_client_missing tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_tasks_none [gw45] [ 30%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_create_required_but_client_missing [gw50] [ 30%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_required_but_client_missing tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_client_requests_none_returns_false [gw19] [ 30%] PASSED tests/experimental/tasks/server/test_task_scope.py::test_configure_session_assigns_distinct_scopes_per_session [gw55] [ 30%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_tasks_none [gw29] [ 30%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_client_requests_none_returns_false tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_requests_none [gw72] [ 30%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_requests_none tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_create_message_present tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_without_create_required tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_create_present tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_elicitation_none tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_create_message_none [gw28] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_sampling_create_message_present [gw44] [ 31%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_get_the_status_of_another_clients_task [gw41] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_create_present tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_raises_when_none [gw74] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedSampling::test_create_message_none [gw36] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestCheckTasksCapability::test_elicitation_without_create_required [gw0] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestHasTaskAugmentedElicitation::test_elicitation_none [gw39] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_raises_when_none tests/experimental/tasks/test_deprecations.py::test_server_session_experimental_property_is_deprecated tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_passes_when_present [gw73] [ 31%] PASSED tests/experimental/tasks/test_deprecations.py::test_server_session_experimental_property_is_deprecated tests/experimental/tasks/server/test_task_visibility.py::test_each_client_lists_only_its_own_tasks tests/experimental/tasks/test_deprecations.py::test_client_session_experimental_property_is_deprecated [gw69] [ 31%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedElicitation::test_passes_when_present tests/experimental/tasks/server/test_task_visibility.py::test_a_client_with_more_than_one_store_page_of_tasks_lists_all_of_them [gw51] [ 31%] PASSED tests/client/test_output_schema_validation.py::TestClientOutputSchemaValidation::test_tool_structured_output_client_side_validation_primitive tests/experimental/tasks/server/test_task_visibility.py::test_a_client_sees_its_own_task_when_listing_tasks tests/experimental/tasks/test_deprecations.py::test_plain_session_usage_does_not_warn tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_cancel_another_clients_task tests/experimental/tasks/server/test_task_visibility.py::test_clients_are_isolated_when_the_server_uses_a_custom_task_store tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario2_normal_tool_task_augmented_elicitation tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_separate_queues_per_task tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_dequeue_empty_returns_none [gw122] [ 31%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_separate_queues_per_task tests/experimental/tasks/server/test_task_visibility.py::test_a_stateless_server_serves_a_task_to_any_session_that_knows_its_id [gw56] [ 31%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_dequeue_empty_returns_none tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_message_timestamp [gw105] [ 32%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_message_timestamp [gw91] [ 32%] PASSED tests/client/test_stdio.py::test_stdio_client_universal_cleanup tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_is_empty tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_cleanup_specific_task [gw17] [ 32%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario2_normal_tool_task_augmented_elicitation [gw63] [ 32%] PASSED tests/experimental/tasks/test_deprecations.py::test_plain_session_usage_does_not_warn tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_clear_empty_queue tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_returns_immediately_if_message_exists [gw101] [ 32%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_is_empty tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario4_task_augmented_tool_task_augmented_elicitation [gw121] [ 32%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_returns_immediately_if_message_exists [gw94] [ 32%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_cleanup_specific_task [gw111] [ 32%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_clear_empty_queue [gw14] [ 32%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_sees_its_own_task_when_listing_tasks [gw31] [ 32%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_cannot_cancel_another_clients_task tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario4_sampling_task_augmented_tool_task_augmented_sampling [gw49] [ 32%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resources-resources/list] [gw33] [ 32%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_client_with_more_than_one_store_page_of_tasks_lists_all_of_them [gw34] [ 33%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_each_client_lists_only_its_own_tasks [gw16] [ 33%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_a_stateless_server_serves_a_task_to_any_session_that_knows_its_id tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_true tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_exception_and_wait [gw86] [ 33%] PASSED tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_exception_and_wait tests/experimental/tasks/test_request_context.py::test_is_task_true_when_metadata_present [gw52] [ 33%] ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resources-resources/list] [gw89] [ 33%] PASSED tests/experimental/tasks/test_request_context.py::test_is_task_true_when_metadata_present [gw109] [ 33%] PASSED tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_true tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_double_check_race_condition tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_without_task_is_valid tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_with_task_raises_by_default [gw114] [ 33%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_with_task_raises_by_default [gw83] [ 33%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_forbidden_without_task_is_valid tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_notify_message_available_wakes_waiter [gw96] [ 33%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_wait_for_message_double_check_race_condition tests/experimental/tasks/test_request_context.py::test_validate_for_tool_optional_with_task [gw48] [ 33%] PASSED tests/experimental/tasks/server/test_task_visibility.py::test_clients_are_isolated_when_the_server_uses_a_custom_task_store [gw120] [ 33%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_for_tool_optional_with_task tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_exception_when_already_completed_raises [gw84] [ 33%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario4_sampling_task_augmented_tool_task_augmented_sampling [gw35] [ 33%] PASSED tests/experimental/tasks/test_elicitation_scenarios.py::test_scenario4_task_augmented_tool_task_augmented_elicitation [gw92] [ 34%] PASSED tests/experimental/tasks/test_message_queue.py::TestInMemoryTaskMessageQueue::test_notify_message_available_wakes_waiter [gw93] [ 34%] PASSED tests/experimental/tasks/test_message_queue.py::TestResolver::test_set_exception_when_already_completed_raises tests/experimental/tasks/test_request_context.py::test_validate_task_mode_optional_with_task_is_valid tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_without_task_returns_error [gw118] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_optional_with_task_is_valid [gw71] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_task_mode_required_without_task_returns_error tests/experimental/tasks/test_request_context.py::test_run_task_with_an_explicit_task_id_emits_a_deprecation_warning tests/experimental/tasks/test_request_context.py::test_can_use_tool_required_without_task_support tests/experimental/tasks/test_request_context.py::test_validate_for_tool_with_execution_required [gw82] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_run_task_with_an_explicit_task_id_emits_a_deprecation_warning [gw95] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_validate_for_tool_with_execution_required [gw65] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_can_use_tool_required_without_task_support tests/experimental/tasks/test_spec_compliance.py::test_server_without_task_handlers_has_no_tasks_capability [gw112] [ 34%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_without_task_handlers_has_no_tasks_capability tests/experimental/tasks/test_request_context.py::test_can_use_tool_forbidden_without_task_support [gw98] [ 34%] PASSED tests/experimental/tasks/test_request_context.py::test_can_use_tool_forbidden_without_task_support tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_raises_when_missing tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_optional_accepts_normal_call [gw64] [ 34%] PASSED tests/experimental/tasks/test_capabilities.py::TestRequireTaskAugmentedSampling::test_raises_when_missing [gw127] [ 34%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_optional_accepts_normal_call [gw87] [ 34%] PASSED tests/client/test_stdio.py::test_stdio_client_stdin_close_ignored [gw32] [ 35%] PASSED tests/experimental/tasks/test_deprecations.py::test_client_session_experimental_property_is_deprecated tests/experimental/tasks/test_spec_compliance.py::test_server_without_list_handler_has_no_list_capability [gw106] [ 35%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_without_list_handler_has_no_list_capability tests/experimental/tasks/test_spec_compliance.py::test_server_with_all_task_handlers_has_full_capability [gw123] [ 35%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_with_all_task_handlers_has_full_capability tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_required_rejects_normal_call [gw124] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_required_rejects_normal_call tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_forbidden_rejects_task_augmented_call tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_task_begins_in_working_status [gw97] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestToolLevelNegotiation::test_tool_execution_task_forbidden_rejects_task_augmented_call tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_input_required_to_terminal_transition [gw78] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_input_required_to_terminal_transition [gw79] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_task_begins_in_working_status tests/experimental/tasks/test_spec_compliance.py::test_server_with_cancel_task_handler_declares_cancel_capability tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_completed_is_terminal [gw119] [ 35%] PASSED tests/experimental/tasks/test_spec_compliance.py::test_server_with_cancel_task_handler_declares_cancel_capability [gw126] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_completed_is_terminal tests/experimental/tasks/test_spec_compliance.py::TestCapabilityNegotiation::test_receiver_without_capability_ignores_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_failed_transition tests/experimental/tasks/test_spec_compliance.py::TestInputRequiredStatus::test_input_required_related_task_metadata_in_requests [gw99] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCapabilityNegotiation::test_receiver_without_capability_ignores_task_metadata [gw103] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestInputRequiredStatus::test_input_required_related_task_metadata_in_requests [gw100] [ 35%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_failed_transition tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_status_message tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_nonexistent_task_id_returns_error [gw110] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_status_message [gw113] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_nonexistent_task_id_returns_error tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_blocks_until_terminal tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_returns_current_status [gw116] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_returns_current_status [gw88] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_blocks_until_terminal tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_returns_next_cursor_when_more_results tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_created_at tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_ttl tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_false_no_capabilities [gw108] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_returns_next_cursor_when_more_results [gw66] [ 36%] PASSED tests/experimental/tasks/test_request_context.py::test_client_supports_tasks_false_no_capabilities [gw125] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_may_contain_ttl [gw115] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_created_at tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_pagination_with_cursor tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_invalid_task_id_returns_error [gw104] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_pagination_with_cursor tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_returns_error_for_failed_task [gw107] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_invalid_task_id_returns_error tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_invalid_cursor_returns_error [gw54] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_returns_error_for_failed_task [gw25] [ 36%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_invalid_cursor_returns_error tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_returns_underlying_result tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_unblocks_on_terminal [gw77] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_returns_underlying_result tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_cursors_are_opaque tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_input_required_transition [gw68] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_unblocks_on_terminal tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_terminal_task_returns_error [gw85] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_cursors_are_opaque [gw117] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_working_to_input_required_transition [gw1] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_terminal_task_returns_error tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_completed_task_returns_error tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_receiver_may_send_status_notification tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_already_cancelled_task_returns_error [gw67] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_completed_task_returns_error tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_failed_task_returns_error [gw24] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_receiver_may_send_status_notification tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_status_notification_contains_task_id [gw76] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_failed_task_returns_error tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_task_ids_are_unique_strings [gw13] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_task_ids_are_unique_strings tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_status_notification_contains_status [gw18] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_status_notification_contains_status tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_cancelled_is_terminal tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_multiple_tasks_have_unique_ids [gw10] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_multiple_tasks_have_unique_ids [gw102] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestStatusNotifications::test_status_notification_contains_task_id [gw90] [ 37%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_already_cancelled_task_returns_error [gw80] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskStatusLifecycle::test_cancelled_is_terminal tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_related_task_metadata_in_task_messages [gw3] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_related_task_metadata_in_task_messages tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_cancel_does_not_require_related_task_metadata [gw23] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_cancel_does_not_require_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_get_does_not_require_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_create_task_result_returned_immediately [gw12] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_get_does_not_require_related_task_metadata [gw2] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_create_task_result_returned_immediately tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_tasks_result_matches_underlying_result_structure tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_list_does_not_require_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_tasks_result_for_tool_call_returns_call_tool_result [gw7] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_tasks_result_matches_underlying_result_structure [gw5] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResultHandling::test_tasks_result_for_tool_call_returns_call_tool_result [gw6] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_tasks_list_does_not_require_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_invalid_cursor [gw26] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_invalid_cursor tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_model_immediate_response_in_meta tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_internal_error_for_server_failure [gw42] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_internal_error_for_server_failure [gw70] [ 38%] PASSED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_model_immediate_response_in_meta tests/client/test_stdio.py::TestChildProcessCleanup::test_nested_process_tree tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_nonexistent_task_id [gw40] [ 38%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_nonexistent_task_id tests/experimental/tasks/test_spec_compliance.py::TestProgressTracking::test_progress_notifications_sent_during_task_execution tests/experimental/tasks/test_spec_compliance.py::TestProgressTracking::test_progress_token_valid_throughout_task_lifetime tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_includes_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_task_id [gw20] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProgressTracking::test_progress_notifications_sent_during_task_execution tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_invalid_task_id_returns_error [gw60] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestGettingTaskStatus::test_tasks_get_invalid_task_id_returns_error [gw15] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProgressTracking::test_progress_token_valid_throughout_task_lifetime tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_cancel_terminal_task [gw53] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRetrievingResults::test_tasks_result_includes_related_task_metadata tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_tool_call_is_error_true_moves_to_failed [gw46] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_cancel_terminal_task tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_underlying_failure_moves_task_to_failed [gw37] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_underlying_failure_moves_task_to_failed [gw58] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCreatingTask::test_create_task_result_contains_task_id [gw21] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_tool_call_is_error_true_moves_to_failed tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_invalid_task_id tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_tasks_result_returns_underlying_error [gw22] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_tasks_result_returns_underlying_error tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_failed_task_has_status_message tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_status_message_is_optional [gw43] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_status_message_is_optional tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_task_id_string [gw4] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_params_for_invalid_task_id tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_status tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_returns_cancelled_task tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_created_at [gw9] [ 39%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_status [gw62] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_returns_cancelled_task [gw11] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskExecutionErrors::test_failed_task_has_status_message [gw27] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_created_at [gw8] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_has_task_id_string tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_ttl_is_optional [gw38] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_ttl_is_optional tests/experimental/tasks/test_spec_compliance.py::TestRelatedTaskMetadata::test_related_task_metadata_structure tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_poll_interval_is_optional [gw30] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRelatedTaskMetadata::test_related_task_metadata_structure tests/client/test_stdio.py::test_stdio_client_graceful_stdin_exit [gw47] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskObject::test_task_poll_interval_is_optional tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_non_authorized_environments_use_secure_ids tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_reject_task_operations_outside_authorization_context [gw45] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_non_authorized_environments_use_secure_ids [gw50] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_reject_task_operations_outside_authorization_context tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_non_authorized_environments_use_shorter_ttls [gw55] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_non_authorized_environments_use_shorter_ttls tests/experimental/tasks/test_spec_compliance.py::TestRelatedTaskMetadata::test_related_task_metadata_contains_task_id tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_maximum_ttl_constraint_enforced [gw72] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_maximum_ttl_constraint_enforced tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_concurrent_task_limit_enforced tests/issues/test_100_tool_listing.py::test_list_tools_returns_all_tools [gw29] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_concurrent_task_limit_enforced tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_task_bound_to_authorization_context [gw19] [ 40%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestRelatedTaskMetadata::test_related_task_metadata_contains_task_id [gw44] [ 41%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestAccessAndIsolation::test_task_bound_to_authorization_context tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_expired_tasks_cleaned_up [gw28] [ 41%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestResourceLimits::test_expired_tasks_cleaned_up tests/issues/test_129_resource_templates.py::test_resource_templates tests/issues/test_1027_win_unreachable_cleanup.py::test_lifespan_cleanup_executed tests/issues/test_1027_win_unreachable_cleanup.py::test_stdin_close_triggers_cleanup tests/issues/test_1338_icons_and_metadata.py::test_icons_and_website_url tests/issues/test_1338_icons_and_metadata.py::test_no_icons_or_website tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_receiver_may_delete_tasks_after_ttl tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters_and_space tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_multiple_parameters [gw51] [ 41%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestTaskManagement::test_receiver_may_delete_tasks_after_ttl tests/client/test_stdio.py::test_stdio_client_sigint_only_process tests/issues/test_176_progress_token.py::test_progress_token_zero_first_call tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters [gw105] [ 41%] PASSED tests/issues/test_176_progress_token.py::test_progress_token_zero_first_call tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools tests/issues/test_342_base64_encoding.py::test_server_base64_encoding_issue tests/issues/test_141_resource_templates.py::test_resource_template_client_interaction tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools_and_resources [gw121] [ 41%] PASSED tests/issues/test_342_base64_encoding.py::test_server_base64_encoding_issue tests/issues/test_141_resource_templates.py::test_resource_template_edge_cases tests/issues/test_152_resource_mime_type.py::test_fastmcp_resource_mime_type tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_invalid_task_id_returns_error tests/issues/test_192_request_id.py::test_request_id_match tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_invalid_accept_headers tests/issues/test_1754_mime_type_parameters.py::test_mime_type_preserved_in_read_resource tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_invalid_content_type tests/issues/test_malformed_input.py::test_malformed_initialize_request_does_not_crash_server [gw49] [ 41%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestCancellingTasks::test_tasks_cancel_invalid_task_id_returns_error tests/server/auth/middleware/test_auth_context.py::TestAuthContextMiddleware::test_with_authenticated_user tests/issues/test_malformed_input.py::test_multiple_concurrent_malformed_requests [gw89] [ 41%] PASSED tests/server/auth/middleware/test_auth_context.py::TestAuthContextMiddleware::test_with_authenticated_user tests/issues/test_1338_icons_and_metadata.py::test_multiple_icons tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_request_for_required_task_augmentation tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_no_auth_header tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_non_bearer_auth_header [gw111] [ 41%] PASSED tests/issues/test_192_request_id.py::test_request_id_match tests/server/auth/middleware/test_auth_context.py::TestAuthContextMiddleware::test_with_no_user tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_valid_token [gw83] [ 41%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_no_auth_header [gw96] [ 41%] PASSED tests/server/auth/middleware/test_auth_context.py::TestAuthContextMiddleware::test_with_no_user [gw114] [ 41%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_non_bearer_auth_header tests/issues/test_152_resource_mime_type.py::test_lowlevel_resource_mime_type [gw52] [ 41%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestProtocolErrors::test_invalid_request_for_required_task_augmentation [gw75] [ 42%] PASSED tests/client/test_stdio.py::test_stdio_client_graceful_stdin_exit tests/issues/test_88_random_error.py::test_notification_validation_error tests/issues/test_552_windows_hang.py::test_windows_stdio_client_with_session tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_expired_token tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_token_without_expiry tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_invalid_token [gw93] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_expired_token tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_lowercase_bearer_prefix [gw118] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_token_without_expiry [gw35] [ 42%] SKIPPED tests/issues/test_552_windows_hang.py::test_windows_stdio_client_with_session [gw71] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_lowercase_bearer_prefix [gw120] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_valid_token tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_mixed_case_bearer_prefix [gw92] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_invalid_token tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_mixed_case_authorization_header tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_non_authenticated_user [gw84] [ 42%] PASSED tests/issues/test_88_random_error.py::test_notification_validation_error [gw82] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_mixed_case_bearer_prefix tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_user [gw112] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_non_authenticated_user [gw95] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_user tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_missing_required_scope [gw98] [ 42%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_missing_required_scope [gw48] [ 43%] PASSED tests/issues/test_152_resource_mime_type.py::test_lowlevel_resource_mime_type tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_has_required_scopes [gw65] [ 43%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestBearerAuthBackend::test_mixed_case_authorization_header tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_auth_credentials tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_without_tasks [gw127] [ 43%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_has_required_scopes [gw64] [ 43%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_auth_credentials tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_multiple_required_scopes [gw74] [ 43%] FAILED tests/issues/test_129_resource_templates.py::test_resource_templates [gw39] [ 43%] FAILED tests/issues/test_1338_icons_and_metadata.py::test_icons_and_website_url tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_message_router_async_for [gw122] [ 43%] FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters_and_space [gw87] [ 43%] PASSED tests/experimental/tasks/client/test_capabilities.py::test_client_capabilities_without_tasks [gw106] [ 43%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_multiple_required_scopes [gw56] [ 43%] FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_multiple_parameters tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_required_scopes [gw41] [ 43%] FAILED tests/issues/test_100_tool_listing.py::test_list_tools_returns_all_tools [gw86] [ 43%] PASSED tests/issues/test_malformed_input.py::test_malformed_initialize_request_does_not_crash_server [gw123] [ 44%] PASSED tests/server/auth/middleware/test_bearer_auth.py::TestRequireAuthMiddleware::test_no_required_scopes [gw101] [ 44%] FAILED tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools tests/server/auth/test_error_handling.py::TestRegistrationErrorHandling::test_registration_error_handling [gw109] [ 44%] PASSED tests/issues/test_malformed_input.py::test_multiple_concurrent_malformed_requests tests/server/auth/test_error_handling.py::TestAuthorizeErrorHandling::test_authorize_error_handling [gw124] [ 44%] PASSED tests/server/auth/test_error_handling.py::TestRegistrationErrorHandling::test_registration_error_handling tests/server/auth/test_error_handling.py::TestTokenErrorHandling::test_token_error_handling_refresh_token tests/server/auth/test_error_handling.py::TestTokenErrorHandling::test_token_error_handling_auth_code tests/server/auth/test_protected_resource.py::test_metadata_endpoint_with_path tests/server/auth/test_protected_resource.py::test_metadata_endpoint_root_path_returns_404 [gw97] [ 44%] PASSED tests/server/auth/test_error_handling.py::TestAuthorizeErrorHandling::test_authorize_error_handling tests/server/auth/test_protected_resource.py::test_metadata_endpoint_without_path tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_with_path_component [gw103] [ 44%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_with_path_component tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_without_path [gw126] [ 44%] PASSED tests/server/auth/test_protected_resource.py::test_metadata_endpoint_root_path_returns_404 [gw119] [ 44%] PASSED tests/server/auth/test_protected_resource.py::test_metadata_endpoint_with_path tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_with_trailing_slash_only [gw69] [ 44%] FAILED tests/issues/test_1338_icons_and_metadata.py::test_no_icons_or_website [gw100] [ 44%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_without_path [gw78] [ 44%] PASSED tests/server/auth/test_error_handling.py::TestTokenErrorHandling::test_token_error_handling_refresh_token [gw33] [ 44%] PASSED tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_invalid_content_type [gw17] [ 44%] FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters [gw110] [ 45%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_url_with_trailing_slash_only [gw79] [ 45%] PASSED tests/server/auth/test_error_handling.py::TestTokenErrorHandling::test_token_error_handling_auth_code tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com-https://example.com/.well-known/oauth-protected-resource] [gw99] [ 45%] PASSED tests/server/auth/test_protected_resource.py::test_metadata_endpoint_without_path tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com/mcp-https://example.com/.well-known/oauth-protected-resource/mcp] [gw16] [ 45%] FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_preserved_in_read_resource [gw116] [ 45%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com/mcp-https://example.com/.well-known/oauth-protected-resource/mcp] tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com/-https://example.com/.well-known/oauth-protected-resource] [gw63] [ 45%] FAILED tests/issues/test_141_resource_templates.py::test_resource_template_client_interaction [gw88] [ 45%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com/-https://example.com/.well-known/oauth-protected-resource] [gw113] [ 45%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[https://example.com-https://example.com/.well-known/oauth-protected-resource] [gw34] [ 45%] PASSED tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_invalid_accept_headers [gw14] [ 45%] FAILED tests/issues/test_141_resource_templates.py::test_resource_template_edge_cases tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[http://localhost:8001/mcp-http://localhost:8001/.well-known/oauth-protected-resource/mcp] [gw94] [ 45%] FAILED tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools_and_resources tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_route_path_matches_metadata_url tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com-/.well-known/oauth-protected-resource] tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com/-/.well-known/oauth-protected-resource] [gw125] [ 45%] PASSED tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com/-/.well-known/oauth-protected-resource] [gw108] [ 46%] PASSED tests/server/auth/test_protected_resource.py::TestMetadataUrlConstruction::test_various_resource_configurations[http://localhost:8001/mcp-http://localhost:8001/.well-known/oauth-protected-resource/mcp] [gw115] [ 46%] PASSED tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_route_path_matches_metadata_url tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com/mcp-/.well-known/oauth-protected-resource/mcp] [gw66] [ 46%] PASSED tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com-/.well-known/oauth-protected-resource] [gw73] [ 46%] FAILED tests/issues/test_1338_icons_and_metadata.py::test_multiple_icons tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_no_existing_params tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_multiple_existing_params [gw104] [ 46%] PASSED tests/server/auth/test_protected_resource.py::TestRouteConsistency::test_consistent_paths_for_various_resources[https://example.com/mcp-/.well-known/oauth-protected-resource/mcp] tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_with_existing_params [gw107] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_no_existing_params [gw25] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_multiple_existing_params [gw54] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_with_existing_params tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_with_none_values tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_multivalued_existing_params tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_empty_params tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_duplicate_param_names tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_encoded_values [gw32] [ 46%] PASSED tests/issues/test_1363_race_condition_streamable_http.py::test_race_condition_message_router_async_for [gw77] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_with_none_values [gw117] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_multivalued_existing_params [gw1] [ 46%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_encoded_values [gw85] [ 47%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_duplicate_param_names [gw68] [ 47%] PASSED tests/server/auth/test_provider.py::TestConstructRedirectUri::test_construct_redirect_uri_empty_params tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_metadata_endpoint tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_expired_auth_code [gw31] [ 47%] FAILED tests/issues/test_152_resource_mime_type.py::test_fastmcp_resource_mime_type tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_auth_code tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_refresh_token [gw67] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_metadata_endpoint tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_scope tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_code_verifier_mismatch [gw24] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_auth_code tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_redirect_uri_mismatch[registered_client0] tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_validation_error [gw18] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_refresh_token tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_expired_refresh_token tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_missing_required_fields [gw23] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_missing_required_fields [gw10] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_invalid_scope tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_authorize_form_post [gw13] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_code_verifier_mismatch [gw3] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_empty_redirect_uris tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_invalid_uri tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_authorization_get [gw2] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_empty_redirect_uris tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_revoke_invalid_token [gw12] [ 47%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_invalid_uri [gw7] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_authorize_form_post [gw90] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_validation_error tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_default_scopes tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_revoke_with_malformed_token [gw80] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_expired_refresh_token tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_disallowed_scopes tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_wrong_auth_method_without_valid_credentials_fails [gw70] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_default_scopes [gw26] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_revoke_with_malformed_token tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_response_types_without_code tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_with_additional_response_types [gw6] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_authorization_get [gw5] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_revoke_invalid_token tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_with_additional_grant_type [gw20] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_response_types_without_code [gw42] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_disallowed_scopes [gw15] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_with_additional_grant_type [gw40] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_with_additional_response_types [gw102] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_redirect_uri_mismatch[registered_client0] tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_without_header_fails [gw60] [ 48%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_wrong_auth_method_without_valid_credentials_fails tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_default_response_types tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_invalid_base64_fails [gw46] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_without_header_fails [gw76] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_token_expired_auth_code tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_none_auth_method_public_client tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_no_colon_fails tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_client_id tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_secret_basic_authentication [gw37] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_invalid_base64_fails tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_unsupported_response_type [gw22] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_none_auth_method_public_client tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_redirect_uri [gw43] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_client_id tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_client_id tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_client_id_mismatch_fails tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_redirect_uri_multiple_registered[registered_client0] tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_response_type tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_redirect_uri [gw62] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_unsupported_response_type tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_pkce_challenge [gw58] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_secret_basic_authentication [gw21] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_no_colon_fails [gw53] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_default_response_types tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_scope [gw38] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_response_type [gw30] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_pkce_challenge tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_with_args tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_async_fn [gw27] [ 49%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_redirect_uri_multiple_registered[registered_client0] [gw11] [ 50%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_client_id [gw8] [ 50%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_redirect_uri [gw9] [ 50%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_missing_redirect_uri [gw47] [ 50%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthorizeEndpointErrors::test_authorize_invalid_scope tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_with_invalid_kwargs [gw50] [ 50%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_with_args [gw45] [ 50%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_async_fn [gw4] [ 50%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_basic_auth_client_id_mismatch_fails tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_message tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_multiple_messages tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_resource_content [gw55] [ 50%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_with_invalid_kwargs tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_assistant_message tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_mixed_content tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt_with_args tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_file_resource_creation [gw105] [ 50%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_file_resource_creation tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_missing_file_error tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_json_conversion tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResourceMetadata::test_from_function_with_metadata [gw121] [ 50%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_missing_file_error [gw44] [ 50%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_mixed_content tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_add_resource [gw72] [ 50%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_multiple_messages tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_function_resource_creation [gw83] [ 51%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_add_resource [gw89] [ 51%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResourceMetadata::test_from_function_with_metadata [gw28] [ 51%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_resource_content [gw111] [ 51%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_function_resource_creation tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_add_duplicate_resource [gw51] [ 51%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt_with_args [gw49] [ 51%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_json_conversion [gw19] [ 51%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_message tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_warn_on_duplicate_resources tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_basic_fn [gw114] [ 51%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_add_duplicate_resource tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_async_read_text [gw29] [ 51%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_assistant_message tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_list_resources [gw96] [ 51%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_warn_on_duplicate_resources tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManagerMetadata::test_add_template_without_metadata [gw93] [ 51%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_list_resources tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_unknown_resource tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_disable_warn_on_duplicate_resources [gw52] [ 51%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_async_read_text tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_creation [gw118] [ 51%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManagerMetadata::test_add_template_without_metadata [gw75] [ 52%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_basic_fn tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_resource_from_template [gw71] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_creation tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManagerMetadata::test_add_template_with_metadata tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_create_resource tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_error [gw35] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_unknown_resource tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_matches [gw84] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_resource_from_template tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_resource tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_matches_rejects_trailing_newline_after_literal [gw112] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_create_resource tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_async_text_resource [gw82] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_matches [gw98] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_async_text_resource [gw92] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManagerMetadata::test_add_template_with_metadata [gw95] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_error tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_async_binary_resource [gw48] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_get_resource [gw120] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_manager.py::TestResourceManager::test_disable_warn_on_duplicate_resources [gw65] [ 52%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_template_matches_rejects_trailing_newline_after_literal [gw127] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_async_binary_resource tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_basemodel_conversion tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_custom_type_conversion [gw64] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_basemodel_conversion tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_unknown_prompt tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_disable_warn_on_duplicate_prompts [gw122] [ 53%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_unknown_prompt tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_dict_with_resource tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt_with_missing_args tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_without_annotations [gw74] [ 53%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_dict_with_resource tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_list_of_strings [gw106] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_without_annotations [gw87] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplate::test_custom_type_conversion [gw39] [ 53%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_disable_warn_on_duplicate_prompts tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_annotations_in_fastmcp tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_from_function tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_read_binary_file tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateMetadata::test_template_from_function_with_metadata [gw101] [ 53%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_read_binary_file tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_name_from_uri tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt [gw56] [ 53%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt_with_missing_args [gw97] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateMetadata::test_template_from_function_with_metadata tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_mime_type tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_with_annotations tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_created_resources_inherit_annotations tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_name_validation [gw41] [ 53%] PASSED tests/server/fastmcp/prompts/test_base.py::TestRenderPrompt::test_fn_returns_list_of_strings [gw124] [ 53%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_created_resources_inherit_annotations [gw103] [ 54%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_mime_type [gw69] [ 54%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_render_prompt tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResourceMetadata::test_from_function_without_metadata [gw100] [ 54%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_with_annotations [gw86] [ 54%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_from_function [gw119] [ 54%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_name_from_uri [gw126] [ 54%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_name_validation [gw109] [ 54%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResourceMetadata::test_from_function_without_metadata tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_error_handling tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_read_text_file [gw33] [ 54%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_error_handling tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateMetadata::test_template_created_resources_inherit_metadata tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_without_annotations tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_uri_validation tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_custom_type_conversion tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_with_both_audiences [gw17] [ 54%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_read_text_file tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_read_abstract [gw79] [ 54%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_uri_validation [gw78] [ 54%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateMetadata::test_template_created_resources_inherit_metadata tests/server/fastmcp/resources/test_resources.py::TestAnnotationsValidation::test_priority_validation [gw16] [ 54%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_custom_type_conversion tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_relative_path_error [gw110] [ 55%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_without_annotations tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_basemodel_conversion tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_read_binary tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_in_fastmcp [gw63] [ 55%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_relative_path_error tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_permission_error [gw99] [ 55%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceValidation::test_resource_read_abstract tests/server/fastmcp/resources/test_resources.py::TestResourceMetadata::test_resource_without_metadata [gw34] [ 55%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_basemodel_conversion tests/server/fastmcp/resources/test_resources.py::TestAnnotationsValidation::test_audience_validation [gw14] [ 55%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_read_binary tests/server/fastmcp/resources/test_resources.py::TestResourceMetadata::test_resource_with_metadata [gw108] [ 55%] PASSED tests/server/fastmcp/resources/test_resources.py::TestAnnotationsValidation::test_audience_validation [gw94] [ 55%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_permission_error [gw125] [ 55%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceMetadata::test_resource_without_metadata [gw115] [ 55%] PASSED tests/server/fastmcp/resources/test_resources.py::TestResourceMetadata::test_resource_with_metadata tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_list_prompts tests/server/fastmcp/servers/test_file_server.py::test_list_resources tests/server/fastmcp/servers/test_file_server.py::test_read_resource_file tests/server/fastmcp/servers/test_file_server.py::test_delete_file tests/server/fastmcp/servers/test_file_server.py::test_read_resource_dir tests/server/fastmcp/servers/test_file_server.py::test_delete_file_and_check_resources tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_with_annotations tests/server/fastmcp/test_elicitation.py::test_elicitation_schema_validation tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation tests/server/fastmcp/test_elicitation.py::test_elicitation_with_default_values tests/server/fastmcp/test_elicitation.py::test_elicitation_with_optional_fields [gw73] [ 55%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_list_prompts tests/server/fastmcp/test_elicitation.py::test_elicitation_with_enum_titles tests/server/fastmcp/test_func_metadata.py::test_complex_function_runtime_arg_validation_non_json tests/server/fastmcp/test_func_metadata.py::test_str_vs_list_str tests/server/fastmcp/test_func_metadata.py::test_skip_names [gw18] [ 55%] PASSED tests/server/fastmcp/test_func_metadata.py::test_str_vs_list_str tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_read_text [gw10] [ 55%] PASSED tests/server/fastmcp/test_func_metadata.py::test_skip_names tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation_decline [gw24] [ 55%] PASSED tests/server/fastmcp/test_func_metadata.py::test_complex_function_runtime_arg_validation_non_json [gw32] [ 56%] PASSED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_with_annotations tests/server/fastmcp/test_func_metadata.py::test_structured_output_dict_str_types tests/server/fastmcp/test_func_metadata.py::test_structured_output_requires_return_annotation tests/server/fastmcp/test_func_metadata.py::test_str_annotation_preserves_json_string tests/server/fastmcp/test_func_metadata.py::test_unstructured_output_unannotated_class tests/server/fastmcp/test_func_metadata.py::test_lambda_function tests/server/fastmcp/test_func_metadata.py::test_structured_output_primitives tests/server/fastmcp/test_func_metadata.py::test_structured_output_typeddict tests/server/fastmcp/test_func_metadata.py::test_str_vs_int [gw3] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_str_annotation_preserves_json_string tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_optional_is_rejected tests/server/fastmcp/test_func_metadata.py::test_str_annotation_runtime_validation tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_annotated_is_structured_and_converted [gw26] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_typeddict [gw12] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_requires_return_annotation [gw31] [ 56%] PASSED tests/server/fastmcp/resources/test_function_resources.py::TestFunctionResource::test_read_text tests/server/fastmcp/test_func_metadata.py::test_structured_output_dataclass [gw70] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_unstructured_output_unannotated_class tests/server/fastmcp/test_func_metadata.py::test_structured_output_generic_types [gw23] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_str_annotation_runtime_validation [gw20] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_annotated_is_structured_and_converted [gw90] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_str_vs_int [gw13] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_dict_str_types tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_union_is_rejected [gw46] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_union_is_rejected tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_is_unstructured_and_not_converted [gw60] [ 56%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_is_unstructured_and_not_converted [gw80] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_lambda_function tests/server/fastmcp/test_func_metadata.py::test_complex_function_json_schema tests/server/fastmcp/test_func_metadata.py::test_complex_function_runtime_arg_validation_with_json tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_annotated_is_structured_and_invalid [gw7] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_primitives [gw15] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_optional_is_rejected tests/server/fastmcp/test_func_metadata.py::test_structured_output_basemodel [gw2] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_basemodel tests/server/fastmcp/test_func_metadata.py::test_structured_output_with_field_descriptions [gw37] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_with_field_descriptions [gw6] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_dataclass tests/server/fastmcp/test_func_metadata.py::test_structured_output_aliases [gw76] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_complex_function_runtime_arg_validation_with_json [gw88] [ 57%] PASSED tests/server/fastmcp/resources/test_resources.py::TestAnnotationsValidation::test_priority_validation tests/server/fastmcp/test_func_metadata.py::test_structured_output_ordinary_class tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names [gw123] [ 57%] FAILED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_annotations_in_fastmcp tests/server/fastmcp/test_func_metadata.py::test_structured_output_unserializable_type_error [gw42] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_ordinary_class tests/server/fastmcp/test_server.py::TestServer::test_normalize_path [gw43] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names [gw5] [ 57%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_generic_types [gw22] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_aliases tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_pipe_union_is_rejected tests/server/fastmcp/test_func_metadata.py::test_structured_output_nested_models [gw116] [ 58%] FAILED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_with_both_audiences [gw53] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_in_pipe_union_is_rejected [gw58] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_nested_models tests/server/fastmcp/test_server.py::TestServer::test_create_server tests/server/fastmcp/test_server.py::TestServer::test_starlette_routes_with_mount_path tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names_validation tests/server/fastmcp/test_parameter_descriptions.py::test_parameter_descriptions [gw62] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names_validation [gw21] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_structured_output_unserializable_type_error tests/server/fastmcp/test_func_metadata.py::test_disallowed_type_qualifier tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator tests/server/fastmcp/test_server.py::TestServer::test_sse_app_with_mount_path tests/server/fastmcp/test_server.py::TestServer::test_non_ascii_description tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator_incorrect_usage tests/server/fastmcp/test_func_metadata.py::test_preserves_pydantic_metadata tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names_with_json_preparsing [gw113] [ 58%] FAILED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_in_fastmcp [gw9] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_disallowed_type_qualifier tests/server/fastmcp/test_server.py::TestServerTools::test_add_tool [gw40] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_tool_call_result_annotated_is_structured_and_invalid tests/server/fastmcp/test_server.py::TestServerTools::test_call_tool tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_explicit_settings_not_overridden tests/server/fastmcp/test_server.py::TestServerTools::test_tool_exception_handling tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator_incorrect_usage tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_handling tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_not_auto_enabled_for_other_hosts tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator tests/server/fastmcp/test_server.py::TestServerTools::test_tool_return_value_conversion tests/server/fastmcp/test_server.py::TestServerTools::test_list_tools tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_ipv6_localhost tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_localhost tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.wav-audio/wav] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_details tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_helper tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.mp3-audio/mpeg] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.aac-audio/aac] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_content tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_127_0_0_1 tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.unknown-application/octet-stream] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.flac-audio/flac] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.ogg-audio/ogg] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_list_with_audio_and_image tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.m4a-audio/mp4] tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_any tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_basemodel [gw8] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_preserves_pydantic_metadata [gw67] [ 58%] FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_enum_titles tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_server_side_validation_error [gw102] [ 58%] PASSED tests/server/fastmcp/test_func_metadata.py::test_complex_function_json_schema tests/server/fastmcp/test_server.py::TestServerResources::test_text_resource [gw66] [ 59%] ERROR tests/server/fastmcp/servers/test_file_server.py::test_list_resources tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_list tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_list tests/server/fastmcp/test_server.py::TestServerTools::test_remove_nonexistent_tool tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_primitive tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_call [gw104] [ 59%] ERROR tests/server/fastmcp/servers/test_file_server.py::test_read_resource_dir tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_typed tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_binary tests/server/fastmcp/test_server.py::TestServerResources::test_binary_resource [gw54] [ 59%] ERROR tests/server/fastmcp/servers/test_file_server.py::test_delete_file_and_check_resources tests/server/fastmcp/test_server.py::TestServerTools::test_tool_image_helper [gw117] [ 59%] FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_optional_fields [gw4] [ 59%] PASSED tests/server/fastmcp/test_func_metadata.py::test_basemodel_reserved_names_with_json_preparsing [gw1] [ 59%] FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_schema_validation [gw77] [ 59%] FAILED tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation [gw25] [ 59%] ERROR tests/server/fastmcp/servers/test_file_server.py::test_delete_file [gw85] [ 59%] FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_default_values tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_matching_params tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_untyped_params tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_mismatched_params tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_template_to_resource_conversion tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_template_includes_mime_type tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_params tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_params tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_uri_params tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_decorator_with_metadata tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_mismatched_params tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_template_decorator_with_metadata tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_text tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_read_resource_returns_meta tests/server/fastmcp/test_server.py::TestContextInjection::test_context_detection tests/server/fastmcp/test_server.py::TestContextInjection::test_context_injection tests/server/fastmcp/test_server.py::TestContextInjection::test_async_context [gw107] [ 59%] ERROR tests/server/fastmcp/servers/test_file_server.py::test_read_resource_file tests/server/fastmcp/test_server.py::TestContextInjection::test_context_resource_access tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_name tests/server/fastmcp/test_server.py::TestContextInjection::test_optional_context tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_context_custom_name tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_without_context tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_without_context [gw38] [ 59%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_normalize_path [gw68] [ 59%] FAILED tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation_decline tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_description [gw47] [ 59%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_starlette_routes_with_mount_path tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_init_with_tools tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_error [gw83] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_exception_handling tests/server/fastmcp/test_title.py::test_get_display_name_utility [gw18] [ 60%] PASSED tests/server/fastmcp/test_title.py::test_get_display_name_utility [gw121] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_add_tool [gw10] [ 60%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_init_with_tools [gw45] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_basic_function [gw24] [ 60%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_basic_function [gw122] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_list tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_resource [gw44] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_localhost [gw96] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_return_value_conversion [gw71] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.aac-audio/aac] [gw93] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.wav-audio/wav] [gw105] [ 60%] FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_explicit_settings_not_overridden [gw27] [ 61%] FAILED tests/server/fastmcp/test_parameter_descriptions.py::test_parameter_descriptions [gw28] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_ipv6_localhost [gw118] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.mp3-audio/mpeg] [gw98] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_primitive [gw87] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_nonexistent_tool [gw50] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_non_ascii_description [gw106] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_text_resource [gw72] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator [gw56] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_binary_resource [gw120] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.flac-audio/flac] [gw101] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_binary [gw114] [ 61%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_details [gw95] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_list_with_audio_and_image [gw74] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool [gw30] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_sse_app_with_mount_path [gw82] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_basemodel [gw89] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_call_tool [gw64] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_typed tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool [gw111] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_handling [gw84] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.m4a-audio/mp4] tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_disable_warn_on_duplicate_tools tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_lambda [gw12] [ 62%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_lambda [gw35] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.ogg-audio/ogg] [gw39] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_call tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_lambda_with_no_name [gw26] [ 62%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool [gw97] [ 62%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_matching_params [gw70] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_disable_warn_on_duplicate_tools tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_pydantic_model_function [gw55] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator_incorrect_usage tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_list_int_input [gw75] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_image_helper tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_object_tool [gw20] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_object_tool tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_callable_object [gw3] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_callable_object [gw29] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_127_0_0_1 tests/server/fastmcp/test_tool_manager.py::TestToolSchema::test_context_arg_excluded_from_schema [gw69] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_template_to_resource_conversion [gw60] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_list_int_input tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_warn_on_duplicate_tools [gw46] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolSchema::test_context_arg_excluded_from_schema [gw86] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_params tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_async_object_tool [gw41] [ 63%] FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_text tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_missing_args tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_async_function [gw13] [ 63%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_async_function [gw78] [ 64%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_read_resource_returns_meta tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_unknown_tool [gw17] [ 64%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_template_decorator_with_metadata [gw124] [ 64%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_untyped_params [gw23] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_pydantic_model_function [gw15] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_missing_args [gw126] [ 64%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_mismatched_params tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_complex_model [gw76] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_complex_model tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_async_tool [gw6] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_async_object_tool [gw110] [ 64%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_detection tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_parameter_detection [gw37] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_parameter_detection tests/server/fastmcp/test_server.py::TestServerResources::test_function_resource [gw90] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_lambda_with_no_name tests/server/fastmcp/test_title.py::test_prompt_title tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_invalid_tool [gw7] [ 64%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_invalid_tool [gw80] [ 65%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_warn_on_duplicate_tools tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection_async tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection [gw92] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.unknown-application/octet-stream] [gw42] [ 65%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_unknown_tool [gw127] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_any [gw5] [ 65%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_async_tool tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_with_context [gw125] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator [gw11] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_create_server tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_async_callable_object [gw112] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_content [gw65] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_server_side_validation_error tests/server/fastmcp/test_tool_manager.py::TestToolAnnotations::test_tool_annotations_in_fastmcp tests/server/fastmcp/test_server.py::TestContextInjection::test_context_logging tests/server/fastmcp/test_tool_manager.py::TestToolAnnotations::test_tool_annotations [gw48] [ 65%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_list [gw2] [ 65%] PASSED tests/server/fastmcp/test_tool_manager.py::TestAddTools::test_add_async_callable_object tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_with_context tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_optional tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dict_str_typed_output tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_error_handling [gw62] [ 65%] PASSED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_optional [gw108] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_name [gw33] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_decorator_with_metadata tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_default_args [gw94] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_without_context [gw40] [ 66%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_default_args [gw51] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_not_auto_enabled_for_other_hosts [gw9] [ 66%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dict_str_typed_output tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_without_structured_output [gw73] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_error [gw49] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_list_tools tests/server/fastmcp/test_title.py::test_resource_title [gw8] [ 66%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_without_structured_output tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_unknown_prompt tests/server/fastmcp/test_server.py::TestServerPrompts::test_list_prompts tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_without_description tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_docstring_description tests/server/fastmcp/test_server.py::test_streamable_http_no_redirect tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dict_str_any_output tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_list_str_or_str_input tests/server/fastmcp/test_server.py::test_streamable_http_app_passes_the_configured_request_body_limit_to_its_manager tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_missing_args tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dataclass_output tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_description tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_with_complex_structure [gw119] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_params tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[KeyError-Test key error] tests/server/fastmcp/test_title.py::test_tool_title_precedence tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[Exception-Basic error] [gw47] [ 66%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dataclass_output [gw10] [ 66%] PASSED tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[Exception-Basic error] tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt [gw79] [ 66%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_injection tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_multiple_tools_with_different_metadata [gw4] [ 67%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_dict_str_any_output tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_basemodel_output [gw38] [ 67%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_basemodel_output [gw18] [ 67%] PASSED tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[KeyError-Test key error] [gw83] [ 67%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_with_complex_structure [gw103] [ 67%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_mismatched_params tests/server/test_lowlevel_exception_handling.py::test_normal_message_handling_not_affected [gw63] [ 67%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_resource_access tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_list_tools [gw24] [ 67%] PASSED tests/server/test_lowlevel_exception_handling.py::test_normal_message_handling_not_affected [gw115] [ 67%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_description tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_output_schema_property tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_decline [gw45] [ 67%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_output_schema_property [gw16] [ 67%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_async_context tests/server/fastmcp/test_url_elicitation.py::test_elicit_complete_notification [gw14] [ 67%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_context_custom_name tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_fastmcp_decorator tests/server/lowlevel/test_func_inspection.py::test_any_typed_request_param_is_deprecated [gw122] [ 67%] PASSED tests/server/lowlevel/test_func_inspection.py::test_any_typed_request_param_is_deprecated tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_helper_function [gw19] [ 68%] FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator_incorrect_usage [gw102] [ 68%] PASSED tests/server/fastmcp/test_tool_manager.py::TestCallTools::test_call_tool_with_list_str_or_str_input tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_list_output [gw34] [ 68%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_without_context [gw81] [ 68%] PASSED tests/client/test_stdio.py::TestChildProcessCleanup::test_nested_process_tree tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_add_tool_with_metadata tests/server/lowlevel/test_func_inspection.py::test_required_param_before_typed_request_attempts_to_pass tests/server/lowlevel/test_func_inspection.py::test_param_with_default_returns_deprecated_wrapper tests/server/lowlevel/test_func_inspection.py::test_wrong_typed_request_param_is_deprecated tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_with_annotations [gw106] [ 68%] PASSED tests/server/lowlevel/test_func_inspection.py::test_wrong_typed_request_param_is_deprecated tests/server/fastmcp/test_url_elicitation.py::test_url_no_content_in_response [gw21] [ 68%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolAnnotations::test_tool_annotations [gw120] [ 68%] PASSED tests/server/lowlevel/test_func_inspection.py::test_param_with_default_returns_deprecated_wrapper [gw50] [ 68%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_add_tool_with_metadata tests/server/lowlevel/test_func_inspection.py::test_keyword_only_param_with_correct_type [gw101] [ 68%] PASSED tests/server/lowlevel/test_func_inspection.py::test_keyword_only_param_with_correct_type tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_from_error tests/server/lowlevel/test_func_inspection.py::test_no_params_returns_deprecated_wrapper [gw109] [ 68%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_uri_params tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_accept [gw95] [ 68%] PASSED tests/server/lowlevel/test_func_inspection.py::test_no_params_returns_deprecated_wrapper tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_thrown_from_tool [gw99] [ 68%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_optional_context tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_empty_dict [gw43] [ 69%] FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection_async [gw27] [ 69%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_list_output tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_existing_tool [gw28] [ 69%] PASSED tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_existing_tool tests/server/lowlevel/test_func_inspection.py::test_untyped_request_param_is_deprecated [gw64] [ 69%] PASSED tests/server/lowlevel/test_func_inspection.py::test_untyped_request_param_is_deprecated [gw100] [ 69%] FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_template_includes_mime_type tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_nonexistent_tool tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_primitive_output [gw87] [ 69%] PASSED tests/server/lowlevel/test_func_inspection.py::test_required_param_before_typed_request_attempts_to_pass [gw30] [ 69%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_primitive_output tests/server/fastmcp/test_url_elicitation.py::test_elicit_url_typed_results [gw32] [ 69%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_resource [gw111] [ 69%] PASSED tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_nonexistent_tool tests/server/lowlevel/test_func_inspection.py::test_different_request_types [gw56] [ 69%] PASSED tests/server/lowlevel/test_func_inspection.py::test_different_request_types [gw116] [ 69%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_logging tests/server/lowlevel/test_func_inspection.py::test_generic_typed_request_param_is_deprecated [gw74] [ 69%] PASSED tests/server/lowlevel/test_func_inspection.py::test_generic_typed_request_param_is_deprecated [gw53] [ 70%] FAILED tests/server/fastmcp/test_tool_manager.py::TestToolAnnotations::test_tool_annotations_in_fastmcp [gw123] [ 70%] FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_function_resource [gw89] [ 70%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_empty_dict [gw22] [ 70%] FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection [gw67] [ 70%] FAILED tests/server/fastmcp/test_title.py::test_resource_title [gw31] [ 70%] FAILED tests/server/fastmcp/test_title.py::test_prompt_title [gw88] [ 70%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_with_context [gw52] [ 70%] FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_helper tests/server/test_lowlevel_input_validation.py::test_cache_refresh_on_missing_tool tests/server/fastmcp/test_url_elicitation.py::test_deprecated_elicit_method tests/server/test_lowlevel_input_validation.py::test_enum_constraint_validation tests/server/fastmcp/test_url_elicitation.py::test_form_mode_still_works tests/server/lowlevel/test_func_inspection.py::test_mixed_params_with_typed_request tests/server/lowlevel/test_func_inspection.py::test_positional_only_param_with_correct_type [gw39] [ 70%] PASSED tests/server/lowlevel/test_func_inspection.py::test_positional_only_param_with_correct_type tests/server/test_lowlevel_input_validation.py::test_invalid_tool_call_missing_required [gw97] [ 70%] PASSED tests/server/lowlevel/test_func_inspection.py::test_mixed_params_with_typed_request tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_cancel [gw71] [ 70%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_elicit_complete_notification tests/server/lowlevel/test_server_listing.py::test_list_resources_basic [gw96] [ 70%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_decline tests/server/test_lowlevel_output_validation.py::test_both_content_and_dict_without_output_schema [gw113] [ 70%] FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_with_context [gw69] [ 71%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_resources_basic [gw70] [ 71%] PASSED tests/server/test_lowlevel_input_validation.py::test_enum_constraint_validation [gw93] [ 71%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_helper_function [gw12] [ 71%] PASSED tests/server/test_lowlevel_input_validation.py::test_cache_refresh_on_missing_tool [gw3] [ 71%] PASSED tests/server/test_lowlevel_input_validation.py::test_invalid_tool_call_missing_required tests/server/test_lowlevel_output_validation.py::test_content_only_without_output_schema [gw121] [ 71%] FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_multiple_tools_with_different_metadata [gw98] [ 71%] FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_from_error [gw60] [ 71%] PASSED tests/server/test_lowlevel_output_validation.py::test_both_content_and_dict_without_output_schema tests/server/test_lowlevel_output_validation.py::test_valid_dict_with_output_schema [gw105] [ 71%] FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_fastmcp_decorator [gw44] [ 71%] FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_list_tools [gw54] [ 71%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_docstring_description [gw20] [ 71%] PASSED tests/server/test_lowlevel_output_validation.py::test_content_only_without_output_schema tests/server/lowlevel/test_server_listing.py::test_list_tools_basic [gw86] [ 72%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_tools_basic tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_without_metadata [gw82] [ 72%] FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_thrown_from_tool [gw114] [ 72%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_accept [gw58] [ 72%] FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_error_handling tests/server/test_lowlevel_output_validation.py::test_tool_call_result [gw117] [ 72%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_unknown_prompt [gw85] [ 72%] FAILED tests/server/fastmcp/test_server.py::test_streamable_http_app_passes_the_configured_request_body_limit_to_its_manager [gw41] [ 72%] PASSED tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_without_metadata tests/server/lowlevel/test_server_pagination.py::test_list_tools_pagination [gw78] [ 72%] PASSED tests/server/lowlevel/test_server_pagination.py::test_list_tools_pagination tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_add_tool_without_metadata tests/server/lowlevel/test_server_pagination.py::test_list_resources_pagination [gw68] [ 72%] FAILED tests/server/fastmcp/test_title.py::test_tool_title_precedence [gw46] [ 72%] PASSED tests/server/test_lowlevel_output_validation.py::test_valid_dict_with_output_schema [gw17] [ 72%] PASSED tests/server/lowlevel/test_server_pagination.py::test_list_resources_pagination [gw55] [ 72%] PASSED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_add_tool_without_metadata tests/server/lowlevel/test_server_pagination.py::test_list_prompts_pagination [gw13] [ 73%] PASSED tests/server/test_lowlevel_output_validation.py::test_tool_call_result tests/server/test_read_resource.py::test_read_resource_default_mime [gw126] [ 73%] PASSED tests/server/lowlevel/test_server_pagination.py::test_list_prompts_pagination tests/server/test_cancel_handling.py::test_server_cancels_in_flight_handlers_on_transport_close tests/server/test_lowlevel_output_validation.py::test_output_schema_type_validation tests/server/test_read_resource.py::test_read_resource_binary tests/server/test_read_resource.py::test_read_resource_text [gw76] [ 73%] PASSED tests/server/test_read_resource.py::test_read_resource_default_mime tests/server/test_lowlevel_output_validation.py::test_dict_only_without_output_schema tests/server/test_lowlevel_output_validation.py::test_both_content_and_valid_dict_with_output_schema tests/server/test_lowlevel_input_validation.py::test_invalid_tool_call_wrong_type tests/server/test_session.py::test_server_session_initialize tests/server/fastmcp/test_url_elicitation_error_throw.py::test_normal_exceptions_still_return_error_result tests/server/test_lowlevel_input_validation.py::test_tool_not_in_list_logs_warning [gw37] [ 73%] PASSED tests/server/test_read_resource.py::test_read_resource_text [gw110] [ 73%] PASSED tests/server/test_cancel_handling.py::test_server_cancels_in_flight_handlers_on_transport_close [gw6] [ 73%] PASSED tests/server/test_read_resource.py::test_read_resource_binary tests/server/lowlevel/test_func_inspection.py::test_optional_typed_request_with_default_none_is_deprecated [gw42] [ 73%] PASSED tests/server/test_session.py::test_server_session_initialize tests/server/test_lifespan.py::test_fastmcp_server_lifespan [gw15] [ 73%] PASSED tests/server/test_lowlevel_output_validation.py::test_output_schema_type_validation tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_with_metadata tests/server/test_session.py::test_server_session_initialize_with_older_protocol_version tests/server/lowlevel/test_func_inspection.py::test_typed_request_param_passes_request tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_typeddict_output [gw124] [ 73%] PASSED tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_with_metadata [gw104] [ 73%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_without_description tests/server/test_lowlevel_tool_annotations.py::test_lowlevel_server_tool_annotations tests/server/test_lowlevel_output_validation.py::test_content_only_with_output_schema_error tests/server/fastmcp/test_url_elicitation.py::test_ctx_elicit_url_convenience_method [gw118] [ 73%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_no_content_in_response [gw26] [ 73%] PASSED tests/server/test_lowlevel_input_validation.py::test_invalid_tool_call_wrong_type [gw65] [ 74%] PASSED tests/server/lowlevel/test_func_inspection.py::test_typed_request_param_passes_request [gw127] [ 74%] PASSED tests/server/lowlevel/test_func_inspection.py::test_optional_typed_request_with_default_none_is_deprecated [gw72] [ 74%] FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_with_annotations [gw84] [ 74%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_elicit_url_typed_results tests/server/lowlevel/test_func_inspection.py::test_typed_request_with_default_param_passes_request [gw5] [ 74%] PASSED tests/server/test_session.py::test_server_session_initialize_with_older_protocol_version [gw2] [ 74%] PASSED tests/server/test_lowlevel_tool_annotations.py::test_lowlevel_server_tool_annotations [gw7] [ 74%] PASSED tests/server/test_lowlevel_output_validation.py::test_both_content_and_valid_dict_with_output_schema [gw80] [ 74%] PASSED tests/server/test_lowlevel_output_validation.py::test_content_only_with_output_schema_error [gw77] [ 74%] FAILED tests/server/fastmcp/test_server.py::test_streamable_http_no_redirect tests/server/lowlevel/test_server_listing.py::test_list_tools_empty tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_true [gw11] [ 74%] PASSED tests/server/fastmcp/test_tool_manager.py::TestStructuredOutput::test_tool_with_typeddict_output [gw48] [ 74%] PASSED tests/server/lowlevel/test_func_inspection.py::test_typed_request_with_default_param_passes_request [gw33] [ 74%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_tools_empty [gw23] [ 74%] PASSED tests/server/test_lowlevel_input_validation.py::test_tool_not_in_list_logs_warning tests/server/test_lifespan.py::test_lowlevel_server_lifespan [gw1] [ 75%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_missing_args [gw94] [ 75%] PASSED tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_true tests/server/test_sse_security.py::test_sse_security_custom_allowed_hosts tests/server/test_sse_security.py::test_sse_security_invalid_host_header tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_tool_from_multiple_tools tests/server/test_sse_security.py::test_sse_security_disabled [gw90] [ 75%] PASSED tests/server/test_lowlevel_output_validation.py::test_dict_only_without_output_schema [gw25] [ 75%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_description tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_tool_case_sensitive tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[RuntimeError-Test runtime error] tests/server/test_sse_security.py::test_sse_security_wildcard_ports [gw108] [ 75%] PASSED tests/server/test_lifespan.py::test_lowlevel_server_lifespan tests/server/test_streamable_http_manager.py::test_handle_request_without_run_raises_error [gw47] [ 75%] PASSED tests/server/test_streamable_http_manager.py::test_handle_request_without_run_raises_error tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers2] [gw35] [ 75%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_deprecated_elicit_method [gw10] [ 75%] PASSED tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers2] tests/server/test_streamable_http_manager.py::test_run_can_only_be_called_once [gw66] [ 75%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_list_prompts [gw73] [ 75%] PASSED tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[RuntimeError-Test runtime error] tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[unauthenticated-creator] tests/server/test_streamable_http_manager.py::test_oversized_content_length_is_rejected_before_body_read_or_session_creation [gw75] [ 75%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_form_mode_still_works tests/server/test_streamable_http_manager.py::test_request_body_chunks_are_replayed_as_one_message tests/server/test_cancel_handling.py::test_server_handles_transport_close_with_pending_server_to_client_requests tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_with_bytes tests/server/test_completion_with_context.py::test_completion_handler_receives_context [gw49] [ 75%] PASSED tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_tool_case_sensitive tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers0] [gw83] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_oversized_content_length_is_rejected_before_body_read_or_session_creation [gw24] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_request_body_chunks_are_replayed_as_one_message [gw29] [ 76%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_cancel [gw51] [ 76%] PASSED tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_remove_tool_from_multiple_tools [gw38] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_run_can_only_be_called_once [gw103] [ 76%] PASSED tests/server/lowlevel/test_helper_types.py::TestReadResourceContentsMetadata::test_read_resource_contents_with_bytes tests/server/test_streamable_http_manager.py::test_disconnect_before_request_body_is_replayed tests/server/test_streamable_http_manager.py::test_request_body_limit_rejects_non_positive_values[0] [gw45] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_request_body_limit_rejects_non_positive_values[0] tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[ValueError-Test validation error] tests/server/lowlevel/test_server_listing.py::test_list_prompts_empty [gw122] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_disconnect_before_request_body_is_replayed tests/server/test_completion_with_context.py::test_completion_error_on_missing_context tests/server/test_cancel_handling.py::test_server_remains_functional_after_cancel [gw4] [ 76%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[unauthenticated-creator] [gw125] [ 76%] FAILED tests/server/test_lifespan.py::test_fastmcp_server_lifespan [gw115] [ 76%] PASSED tests/server/test_lowlevel_exception_handling.py::test_exception_handling_with_raise_exceptions_false[ValueError-Test validation error] tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[unauthenticated-sender] [gw18] [ 76%] PASSED tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers0] [gw119] [ 77%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_prompts_empty tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_call_removed_tool_raises_error [gw79] [ 77%] PASSED tests/server/test_cancel_handling.py::test_server_handles_transport_close_with_pending_server_to_client_requests tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_invalid_grant_type [gw63] [ 77%] PASSED tests/server/test_completion_with_context.py::test_completion_handler_receives_context [gw81] [ 77%] PASSED tests/server/fastmcp/auth/test_auth_integration.py::TestAuthEndpoints::test_client_registration_invalid_grant_type tests/server/test_completion_with_context.py::test_dependent_completion_scenario tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[POST] [gw14] [ 77%] PASSED tests/server/test_completion_with_context.py::test_completion_error_on_missing_context tests/server/test_streamable_http_manager.py::test_session_rejects_requests_with_the_same_subject_from_a_different_issuer tests/server/test_streamable_http_manager.py::test_session_idle_timeout_rejects_stateless tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_subject_of_the_same_client [gw50] [ 77%] PASSED tests/server/test_streamable_http_manager.py::test_session_idle_timeout_rejects_stateless [gw34] [ 77%] PASSED tests/server/test_completion_with_context.py::test_dependent_completion_scenario [gw101] [ 77%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_requests_with_the_same_subject_from_a_different_issuer [gw19] [ 77%] PASSED tests/server/fastmcp/test_tool_manager.py::TestRemoveTools::test_call_removed_tool_raises_error tests/server/test_sse_security.py::test_sse_security_invalid_origin_header [gw106] [ 77%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[POST] tests/server/test_streamable_http_manager.py::test_session_rejects_authenticated_requests_for_an_anonymous_session [gw112] [ 77%] FAILED tests/server/fastmcp/test_url_elicitation.py::test_ctx_elicit_url_convenience_method tests/server/test_session.py::test_create_message_tool_result_validation [gw92] [ 77%] FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_normal_exceptions_still_return_error_result tests/server/test_completion_with_context.py::test_completion_backward_compatibility [gw120] [ 77%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_subject_of_the_same_client [gw95] [ 78%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_authenticated_requests_for_an_anonymous_session tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[DELETE] tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_host_header [gw102] [ 78%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[unauthenticated-sender] tests/server/test_streamable_http_manager.py::test_session_accepts_requests_from_the_credential_that_created_it tests/server/lowlevel/test_server_listing.py::test_list_resources_empty tests/server/test_streamable_http_security.py::test_streamable_http_security_default_settings tests/server/test_lowlevel_input_validation.py::test_valid_tool_call tests/server/test_streamable_http_security.py::test_streamable_http_security_disabled [gw28] [ 78%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[DELETE] [gw87] [ 78%] PASSED tests/server/test_streamable_http_manager.py::test_session_accepts_requests_from_the_credential_that_created_it tests/server/test_streamable_http_manager.py::test_anonymous_session_accepts_anonymous_requests tests/server/test_session.py::test_other_requests_blocked_before_initialization tests/server/test_streamable_http_router.py::test_router_unconsumed_request_stream_does_not_block_siblings [gw74] [ 78%] PASSED tests/server/test_streamable_http_router.py::test_router_unconsumed_request_stream_does_not_block_siblings [gw109] [ 78%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_resources_empty [gw56] [ 78%] PASSED tests/server/test_streamable_http_manager.py::test_anonymous_session_accepts_anonymous_requests tests/server/test_session.py::test_server_capabilities tests/server/test_streamable_http_manager.py::test_unknown_session_id_returns_404 tests/server/test_session_race_condition.py::test_request_immediately_after_initialize_response tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_origin_header [gw123] [ 78%] PASSED tests/server/test_session.py::test_server_capabilities [gw43] [ 78%] PASSED tests/server/test_session.py::test_create_message_tool_result_validation [gw16] [ 78%] PASSED tests/server/test_cancel_handling.py::test_server_remains_functional_after_cancel tests/server/test_session.py::test_ping_request_before_initialization [gw53] [ 78%] PASSED tests/server/test_session_race_condition.py::test_request_immediately_after_initialize_response [gw99] [ 78%] PASSED tests/server/test_completion_with_context.py::test_completion_backward_compatibility tests/server/lowlevel/test_server_listing.py::test_list_prompts_basic tests/server/test_session.py::test_create_message_without_tools_capability tests/server/test_sse_security.py::test_sse_security_post_valid_content_type tests/server/test_lowlevel_output_validation.py::test_invalid_dict_with_output_schema [gw27] [ 79%] PASSED tests/server/test_streamable_http_manager.py::test_unknown_session_id_returns_404 tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_caps_none tests/server/test_streamable_http_manager.py::test_stateful_session_cleanup_on_graceful_exit [gw22] [ 79%] PASSED tests/server/test_session.py::test_ping_request_before_initialization tests/server/test_validation.py::TestValidateSamplingTools::test_raises_when_tool_choice_provided_but_no_capability tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_required_error_code tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_true_when_tools_present [gw97] [ 79%] PASSED tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_true_when_tools_present tests/server/test_streamable_http_manager.py::test_request_body_limit_rejects_non_positive_values[-1] [gw96] [ 79%] PASSED tests/server/test_streamable_http_manager.py::test_request_body_limit_rejects_non_positive_values[-1] [gw91] [ 79%] PASSED tests/client/test_stdio.py::test_stdio_client_sigint_only_process tests/server/test_sse_security.py::test_sse_security_post_invalid_content_type [gw88] [ 79%] PASSED tests/server/test_session.py::test_create_message_without_tools_capability [gw71] [ 79%] PASSED tests/server/test_streamable_http_manager.py::test_stateful_session_cleanup_on_graceful_exit [gw116] [ 79%] PASSED tests/server/test_session.py::test_other_requests_blocked_before_initialization [gw69] [ 79%] PASSED tests/server/test_validation.py::TestValidateSamplingTools::test_raises_when_tool_choice_provided_but_no_capability tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_sampling_none [gw70] [ 79%] PASSED tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_sampling_none [gw39] [ 79%] PASSED tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_caps_none [gw32] [ 79%] PASSED tests/server/test_lowlevel_input_validation.py::test_valid_tool_call tests/server/test_validation.py::TestValidateSamplingTools::test_no_error_when_tools_none [gw3] [ 80%] PASSED tests/server/test_validation.py::TestValidateSamplingTools::test_no_error_when_tools_none tests/server/test_streamable_http_manager.py::test_stateless_requests_memory_cleanup [gw100] [ 80%] PASSED tests/server/lowlevel/test_server_listing.py::test_list_prompts_basic tests/server/test_validation.py::TestValidateSamplingTools::test_no_error_when_capability_present tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers1] [gw52] [ 80%] PASSED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_required_error_code [gw60] [ 80%] PASSED tests/server/test_validation.py::TestValidateSamplingTools::test_no_error_when_capability_present tests/server/test_streamable_http_security.py::test_streamable_http_security_custom_allowed_hosts [gw121] [ 80%] PASSED tests/server/test_streamable_http_manager.py::test_oversized_streamed_body_is_rejected_before_session_creation[headers1] [gw93] [ 80%] PASSED tests/server/test_streamable_http_manager.py::test_stateless_requests_memory_cleanup tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-no-subject] tests/server/test_streamable_http_manager.py::test_session_idle_timeout_rejects_non_positive tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_mixed_with_other_content tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_for_empty_messages [gw20] [ 80%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_for_empty_messages tests/server/test_streamable_http_router.py::test_priming_store_failure_leaves_no_per_request_state tests/server/test_streamable_http_manager.py::test_request_body_limit_defaults_to_four_mib tests/server/test_streamable_http_manager.py::test_stateful_session_cleanup_on_exception [gw44] [ 80%] PASSED tests/server/test_streamable_http_manager.py::test_request_body_limit_defaults_to_four_mib [gw98] [ 80%] PASSED tests/server/test_streamable_http_manager.py::test_session_idle_timeout_rejects_non_positive tests/server/test_streamable_http_manager.py::test_session_rejects_unauthenticated_requests_for_an_authenticated_session [gw54] [ 80%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-no-subject] [gw82] [ 80%] PASSED tests/server/test_streamable_http_router.py::test_priming_store_failure_leaves_no_per_request_state [gw86] [ 80%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_mixed_with_other_content tests/server/test_sse_security.py::test_sse_security_default_settings tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[different-issuer] [gw31] [ 81%] PASSED tests/server/test_lowlevel_output_validation.py::test_invalid_dict_with_output_schema [gw114] [ 81%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_unauthenticated_requests_for_an_authenticated_session [gw117] [ 81%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[different-issuer] tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_for_simple_text_messages tests/server/test_streamable_http_manager.py::test_run_prevents_concurrent_calls tests/server/test_stdio.py::test_stdio_server tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_when_tool_result_matches_tool_use tests/server/test_websocket_security.py::test_ws_security_invalid_host_header tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_without_previous_tool_use [gw41] [ 81%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_without_previous_tool_use tests/server/test_websocket_security.py::test_ws_security_default_settings tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_ids_dont_match_tool_use [gw13] [ 81%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_raises_when_tool_result_ids_dont_match_tool_use [gw46] [ 81%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_for_simple_text_messages tests/server/test_websocket_security.py::test_ws_security_invalid_origin_header [gw85] [ 81%] PASSED tests/server/test_stdio.py::test_stdio_server tests/server/test_websocket_security.py::test_ws_security_disabled tests/shared/test_auth.py::TestOAuthMetadata::test_oauth tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[policy_uri] [gw107] [ 81%] FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt tests/server/test_websocket_security.py::test_ws_security_rejects_before_accept [gw110] [ 81%] PASSED tests/shared/test_auth.py::TestOAuthMetadata::test_oauth [gw42] [ 81%] PASSED tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[policy_uri] tests/shared/test_auth.py::TestOAuthMetadata::test_oidc [gw37] [ 81%] PASSED tests/shared/test_auth.py::TestOAuthMetadata::test_oidc tests/server/test_websocket_security.py::test_ws_security_allowed_origin tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-different-subject] [gw6] [ 81%] PASSED tests/server/test_websocket_security.py::test_ws_security_rejects_before_accept tests/shared/test_auth.py::test_valid_url_passes_through_unchanged [gw124] [ 81%] PASSED tests/shared/test_auth.py::test_valid_url_passes_through_unchanged tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[logo_uri] tests/shared/test_auth.py::test_all_optional_urls_empty_together tests/server/test_streamable_http_manager.py::test_idle_session_is_reaped tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[GET] [gw78] [ 82%] PASSED tests/server/test_validation.py::TestValidateToolUseResultMessages::test_no_error_when_tool_result_matches_tool_use [gw26] [ 82%] PASSED tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[logo_uri] tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_lowercase_scheme_and_host [gw127] [ 82%] PASSED tests/shared/test_auth.py::test_all_optional_urls_empty_together tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_port [gw68] [ 82%] PASSED tests/server/test_streamable_http_manager.py::test_run_prevents_concurrent_calls tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_content_type [gw65] [ 82%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_port tests/shared/test_auth.py::test_information_full_inherits_coercion [gw104] [ 82%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-different-subject] [gw72] [ 82%] PASSED tests/server/test_streamable_http_manager.py::test_session_rejects_requests_from_a_different_credential[GET] [gw5] [ 82%] PASSED tests/shared/test_auth.py::test_information_full_inherits_coercion tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[client_uri] tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_path tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_identical_urls tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_schemes tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[jwks_uri] tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_removes_fragment [gw94] [ 82%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_schemes tests/shared/test_auth.py::TestOAuthMetadata::test_oauth_with_jarm tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-and-subject] tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client] [gw80] [ 82%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_path [gw7] [ 82%] PASSED tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[client_uri] tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_handles_pydantic_urls [gw11] [ 82%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_removes_fragment [gw33] [ 83%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_identical_urls [gw90] [ 83%] PASSED tests/shared/test_auth.py::TestOAuthMetadata::test_oauth_with_jarm tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[both-unauthenticated] [gw23] [ 83%] PASSED tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[jwks_uri] [gw48] [ 83%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_handles_pydantic_urls [gw1] [ 83%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client] [gw2] [ 83%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_lowercase_scheme_and_host [gw77] [ 83%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[same-client-and-subject] tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_domains [gw25] [ 83%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[both-unauthenticated] tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_create_with_multiple_elicitations [gw108] [ 83%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_domains [gw47] [ 83%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_create_with_multiple_elicitations tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_empty_paths tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_custom_message [gw73] [ 83%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_empty_paths [gw10] [ 83%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_custom_message [gw118] [ 84%] PASSED tests/server/test_streamable_http_manager.py::test_idle_session_is_reaped tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_case_insensitive_origin tests/server/test_streamable_http_security.py::test_streamable_http_security_get_request tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[different-client] [gw49] [ 84%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_case_insensitive_origin tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_serialization_roundtrip tests/shared/test_httpx_utils.py::test_default_settings [gw83] [ 84%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_serialization_roundtrip tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_path_boundary_matching tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_tools_none tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_from_error_data [gw38] [ 84%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_from_error_data tests/server/test_validation.py::TestValidateSamplingTools::test_raises_when_tools_provided_but_no_capability tests/shared/test_progress_notifications.py::test_progress_context_manager [gw75] [ 84%] PASSED tests/server/test_validation.py::TestCheckSamplingToolsCapability::test_returns_false_when_tools_none [gw51] [ 84%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_path_boundary_matching [gw29] [ 84%] PASSED tests/server/test_validation.py::TestValidateSamplingTools::test_raises_when_tools_provided_but_no_capability [gw66] [ 84%] PASSED tests/server/test_sse_security.py::test_sse_post_requires_the_credential_that_created_the_session[different-client] tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_inherits_from_mcp_error tests/shared/test_progress_notifications.py::test_progress_callback_exception_logging tests/shared/test_auth.py::test_invalid_non_empty_url_still_rejected tests/shared/test_memory.py::test_memory_server_and_client_connection [gw103] [ 84%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_inherits_from_mcp_error tests/shared/test_httpx_utils.py::test_custom_parameters [gw125] [ 84%] PASSED tests/shared/test_auth.py::test_invalid_non_empty_url_still_rejected tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_from_error_data_wrong_code tests/shared/test_session.py::test_connection_closed tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_error_data_contains_elicitations tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_exception_message tests/shared/test_progress_notifications.py::test_bidirectional_progress_notifications [gw105] [ 84%] PASSED tests/server/test_streamable_http_manager.py::test_stateful_session_cleanup_on_exception tests/shared/test_session.py::test_in_flight_requests_cleared_after_completion [gw81] [ 84%] PASSED tests/shared/test_session.py::test_connection_closed [gw79] [ 85%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_error_data_contains_elicitations [gw63] [ 85%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_exception_message [gw4] [ 85%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_from_error_data_wrong_code tests/shared/test_sse.py::test_sse_client_on_session_created [gw122] [ 85%] PASSED tests/shared/test_progress_notifications.py::test_progress_callback_exception_logging tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?sessionId=abc123-abc123] tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_query [gw101] [ 85%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?sessionId=abc123-abc123] tests/shared/test_sse.py::test_raw_sse_connection tests/shared/test_session.py::test_response_id_non_numeric_string_no_match tests/shared/test_session.py::test_response_id_type_mismatch_string_to_int tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?sessionId=abc&session_id=def-abc] [gw95] [ 85%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?sessionId=abc&session_id=def-abc] [gw115] [ 85%] PASSED tests/shared/test_memory.py::test_memory_server_and_client_connection [gw24] [ 85%] PASSED tests/shared/test_httpx_utils.py::test_default_settings [gw112] [ 85%] PASSED tests/shared/test_auth_utils.py::TestResourceUrlFromServerUrl::test_preserves_query tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[tos_uri] tests/shared/test_session.py::test_error_response_id_type_mismatch_string_to_int tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?session_id=def456-def456] [gw120] [ 85%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?session_id=def456-def456] [gw19] [ 85%] PASSED tests/shared/test_session.py::test_response_id_type_mismatch_string_to_int [gw92] [ 85%] PASSED tests/shared/test_auth.py::test_optional_url_empty_string_coerced_to_none[tos_uri] [gw14] [ 85%] PASSED tests/shared/test_session.py::test_in_flight_requests_cleared_after_completion [gw102] [ 86%] PASSED tests/shared/test_session.py::test_error_response_id_type_mismatch_string_to_int tests/shared/test_sse.py::test_extract_session_id_from_endpoint[-None] tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/-/] tests/shared/test_sse.py::test_sse_client_happy_request_and_response [gw74] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/-/] [gw28] [ 86%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[-None] tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[//example.com/messages/-ValueError] [gw123] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[//example.com/messages/-ValueError] tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages-None] tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[http://example.com/messages/-ValueError] tests/shared/test_sse.py::test_sse_client_exception_handling tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?other=value-None] tests/shared/test_streamable_http.py::test_json_parsing tests/shared/test_session.py::test_request_cancellation [gw43] [ 86%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages-None] tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/#fragment-ValueError] tests/shared/test_sse.py::test_request_context_isolation tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/-/messages/] tests/shared/test_streamable_http.py::test_session_validation [gw99] [ 86%] PASSED tests/shared/test_sse.py::test_extract_session_id_from_endpoint[/messages?other=value-None] [gw22] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/#fragment-ValueError] [gw53] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[http://example.com/messages/-ValueError] tests/shared/test_streamable_http.py::test_streamable_http_transport_init_validation tests/shared/test_streamable_http.py::test_method_not_allowed [gw27] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/-/messages/] [gw69] [ 86%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_transport_init_validation tests/shared/test_streamable_http.py::test_session_termination tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[messages/-/messages/] tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_file_resource_str_path_conversion tests/shared/test_streamable_http.py::test_json_validation [gw116] [ 86%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[messages/-/messages/] tests/shared/test_sse.py::test_sse_client_handles_empty_keepalive_pings [gw91] [ 86%] PASSED tests/server/fastmcp/resources/test_file_resources.py::TestFileResource::test_file_resource_str_path_conversion tests/shared/test_sse.py::test_sse_client_basic_connection_mounted_app [gw16] [ 87%] PASSED tests/shared/test_session.py::test_request_cancellation tests/shared/test_streamable_http.py::test_response tests/shared/test_streamable_http.py::test_json_response_accept_json_only tests/shared/test_streamable_http.py::test_json_response_missing_accept_header tests/shared/test_sse.py::test_sse_message_id_coercion tests/shared/test_streamable_http.py::test_json_response [gw18] [ 87%] PASSED tests/shared/test_httpx_utils.py::test_custom_parameters tests/shared/test_streamable_http.py::test_get_validation tests/shared/test_streamable_http.py::test_content_type_validation tests/shared/test_streamable_http.py::test_streamable_http_client_session_persistence tests/shared/test_streamable_http.py::test_streamable_http_client_basic_connection tests/shared/test_streamable_http.py::test_streamable_http_client_resource_read tests/shared/test_streamable_http.py::test_streamable_http_client_error_handling tests/shared/test_streamable_http.py::test_get_sse_stream [gw100] [ 87%] PASSED tests/shared/test_sse.py::test_sse_message_id_coercion tests/shared/test_streamable_http.py::test_streamable_http_client_json_response tests/shared/test_streamable_http.py::test_streamable_http_client_session_termination tests/shared/test_streamable_http.py::test_streamable_http_client_session_termination_204 tests/shared/test_streamable_http.py::test_server_backwards_compatibility_no_protocol_version tests/shared/test_streamable_http.py::test_streamablehttp_request_context_propagation tests/shared/test_streamable_http.py::test_streamable_http_client_resumption tests/shared/test_streamable_http.py::test_accept_header_validation tests/shared/test_streamable_http.py::test_priming_event_not_minted_for_old_protocol_version tests/shared/test_streamable_http.py::test_priming_event_not_minted_without_event_store tests/shared/test_streamable_http.py::test_close_sse_stream_callback_not_provided_for_old_protocol_version tests/shared/test_streamable_http.py::test_priming_event_includes_retry_interval tests/shared/test_streamable_http.py::test_streamable_http_client_auto_reconnects [gw42] [ 87%] PASSED tests/shared/test_streamable_http.py::test_close_sse_stream_callback_not_provided_for_old_protocol_version [gw37] [ 87%] PASSED tests/shared/test_streamable_http.py::test_priming_event_not_minted_without_event_store tests/shared/test_streamable_http.py::test_streamablehttp_request_context_isolation [gw110] [ 87%] PASSED tests/shared/test_streamable_http.py::test_priming_event_not_minted_for_old_protocol_version tests/server/test_stdio.py::test_stdio_server_invalid_utf8 [gw6] [ 87%] PASSED tests/shared/test_streamable_http.py::test_priming_event_includes_retry_interval tests/shared/test_streamable_http.py::test_standalone_get_stream_reconnection tests/shared/test_streamable_http.py::test_streamable_http_client_preserves_custom_with_mcp_headers tests/shared/test_streamable_http.py::test_streamable_http_events_replayed_after_disconnect tests/shared/test_streamable_http.py::test_streamable_http_client_respects_retry_interval tests/shared/test_streamable_http.py::test_server_close_sse_stream_via_context tests/shared/test_streamable_http.py::test_streamablehttp_server_sampling tests/shared/test_streamable_http.py::test_streamable_http_multiple_reconnections tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[mixed_characters] tests/shared/test_streamable_http.py::test_streamablehttp_client_deprecation_warning [gw94] [ 87%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[mixed_characters] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_underscores] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[single_character] [gw45] [ 87%] PASSED tests/shared/test_progress_notifications.py::test_progress_context_manager tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[max_length_128] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_dots] [gw33] [ 87%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_underscores] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_empty_name tests/shared/test_streamable_http.py::test_streamable_http_transport_deprecated_params_ignored tests/shared/test_streamable_http.py::test_streamable_http_client_does_not_mutate_provided_client [gw48] [ 87%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[single_character] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_slashes] [gw11] [ 87%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_dots] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_commas] [gw47] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_commas] [gw23] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[max_length_128] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_dashes] [gw1] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[with_dashes] [gw119] [ 88%] PASSED tests/shared/test_progress_notifications.py::test_bidirectional_progress_notifications [gw88] [ 88%] PASSED tests/shared/test_sse.py::test_sse_client_handles_empty_keepalive_pings tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[simple_alphanumeric] [gw77] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestValidNames::test_accepts_valid_names[simple_alphanumeric] [gw90] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_empty_name tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_at_symbol] [gw73] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_at_symbol] [gw107] [ 88%] PASSED tests/server/test_stdio.py::test_stdio_server_invalid_utf8 tests/shared/test_streamable_http.py::test_streamable_http_sse_polling_full_cycle tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_unicode_characters [gw83] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_unicode_characters tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_leading_dot [gw10] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_slashes] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_spaces] [gw108] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_spaces] tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_multiple_invalid_chars [gw49] [ 88%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_multiple_invalid_chars [gw38] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_leading_dot [gw34] [ 89%] PASSED tests/shared/test_session.py::test_response_id_non_numeric_string_no_match tests/shared/test_tool_name_validation.py::TestIssueToolNameWarning::test_logs_warnings tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_trailing_dot tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_name_exceeding_max_length [gw25] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_name_exceeding_max_length tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_trailing_newline] tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_logs_warnings_for_invalid_name [gw75] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestIssueToolNameWarning::test_logs_warnings [gw29] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_trailing_dot [gw125] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_logs_warnings_for_invalid_name tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_trailing_dash tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_returns_false_for_invalid_name [gw66] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[with_trailing_newline] tests/shared/test_ws.py::test_ws_client_basic_connection tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[mixed_valid_invalid] tests/shared/test_streamable_http.py::test_streamable_http_client_tool_invocation tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_dots] [gw103] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_returns_false_for_invalid_name [gw51] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_trailing_dash tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_returns_true_for_valid_name [gw122] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_returns_true_for_valid_name [gw4] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_dots] [gw79] [ 89%] PASSED tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[mixed_valid_invalid] tests/test_types.py::test_jsonrpc_request [gw95] [ 90%] PASSED tests/test_types.py::test_jsonrpc_request tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_leading_dash tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_no_warnings_for_clean_valid_name tests/shared/test_ws.py::test_websocket_client_is_deprecated tests/test_examples.py::test_desktop tests/test_types.py::test_tool_use_content tests/test_types.py::test_sampling_message_with_user_role [gw24] [ 90%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestWarningsForProblematicPatterns::test_warns_on_leading_dash tests/test_examples.py::test_docs_examples[README.md:92-136] tests/test_types.py::test_sampling_message_with_assistant_role tests/shared/test_ws.py::test_websocket_server_is_deprecated tests/test_types.py::test_method_initialization [gw28] [ 90%] PASSED tests/test_types.py::test_tool_use_content tests/shared/test_ws.py::test_ws_client_exception_handling [gw43] [ 90%] PASSED tests/test_types.py::test_sampling_message_with_assistant_role [gw101] [ 90%] PASSED tests/shared/test_ws.py::test_websocket_client_is_deprecated [gw123] [ 90%] PASSED tests/test_types.py::test_sampling_message_with_user_role tests/test_examples.py::test_direct_call_tool_result_return tests/test_types.py::test_tool_result_content [gw74] [ 90%] PASSED tests/test_types.py::test_tool_result_content [gw19] [ 90%] PASSED tests/shared/test_ws.py::test_websocket_server_is_deprecated tests/test_types.py::test_tool_preserves_json_schema_2020_12_fields tests/shared/test_ws.py::test_ws_client_happy_request_and_response [gw22] [ 90%] PASSED tests/test_types.py::test_tool_preserves_json_schema_2020_12_fields [gw102] [ 90%] PASSED tests/test_types.py::test_method_initialization [gw115] [ 90%] PASSED tests/shared/test_tool_name_validation.py::TestValidateAndWarnToolName::test_no_warnings_for_clean_valid_name tests/test_types.py::test_create_message_result_basic tests/test_types.py::test_client_capabilities_with_sampling_tools tests/test_types.py::test_sampling_message_backward_compatibility tests/test_types.py::test_create_message_request_params_with_tools tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_dashes] [gw18] [ 90%] PASSED tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_dashes] [gw53] [ 91%] PASSED tests/test_types.py::test_create_message_request_params_with_tools [gw99] [ 91%] PASSED tests/test_types.py::test_create_message_result_basic [gw27] [ 91%] PASSED tests/test_types.py::test_client_capabilities_with_sampling_tools [gw16] [ 91%] PASSED tests/test_types.py::test_sampling_message_backward_compatibility tests/shared/test_tool_name_validation.py::TestIssueToolNameWarning::test_no_logging_for_empty_warnings [gw45] [ 91%] PASSED tests/shared/test_tool_name_validation.py::TestIssueToolNameWarning::test_no_logging_for_empty_warnings tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_slashes] tests/test_examples.py::test_complex_inputs [gw119] [ 91%] PASSED tests/shared/test_tool_name_validation.py::TestEdgeCases::test_edge_cases[only_slashes] [gw112] [ 91%] FAILED tests/test_examples.py::test_direct_call_tool_result_return [gw92] [ 91%] FAILED tests/test_examples.py::test_desktop [gw0] [ 91%] PASSED tests/issues/test_1027_win_unreachable_cleanup.py::test_lifespan_cleanup_executed tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_add_duplicate_prompt [gw0] [ 91%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_add_duplicate_prompt [gw120] [ 91%] PASSED tests/test_examples.py::test_docs_examples[README.md:92-136] [gw34] [ 91%] FAILED tests/test_examples.py::test_complex_inputs [gw57] [ 92%] ERROR tests/client/test_notification_response.py::test_non_compliant_notification_response tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_returns_array_of_tasks [gw57] [ 92%] SKIPPED tests/experimental/tasks/test_spec_compliance.py::TestListingTasks::test_tasks_list_returns_array_of_tasks [gw36] [ 92%] PASSED tests/issues/test_1027_win_unreachable_cleanup.py::test_stdin_close_triggers_cleanup tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_add_prompt [gw55] [ 92%] PASSED tests/server/test_websocket_security.py::test_ws_security_default_settings [gw36] [ 92%] PASSED tests/server/fastmcp/prompts/test_manager.py::TestPromptManager::test_add_prompt tests/shared/test_streamable_http.py::test_server_validates_protocol_version_header [gw126] [ 92%] PASSED tests/server/test_websocket_security.py::test_ws_security_invalid_host_header tests/shared/test_streamable_http.py::test_client_crash_handled [gw58] [ 92%] PASSED tests/server/test_sse_security.py::test_sse_security_default_settings tests/shared/test_streamable_http.py::test_streamable_http_client_get_stream [gw76] [ 92%] PASSED tests/server/test_websocket_security.py::test_ws_security_disabled tests/shared/test_streamable_http.py::test_handle_sse_event_skips_empty_data [gw76] [ 92%] PASSED tests/shared/test_streamable_http.py::test_handle_sse_event_skips_empty_data [gw40] [ 92%] PASSED tests/server/test_sse_security.py::test_sse_security_custom_allowed_hosts tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_hierarchical_matching [gw40] [ 92%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_hierarchical_matching [gw71] [ 92%] PASSED tests/shared/test_streamable_http.py::test_method_not_allowed [gw15] [ 92%] PASSED tests/server/test_websocket_security.py::test_ws_security_allowed_origin tests/shared/test_streamable_http.py::test_streamable_http_client_receives_priming_event [gw67] [ 93%] PASSED tests/server/test_sse_security.py::test_sse_security_post_valid_content_type tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/?param=value-ValueError] [gw67] [ 93%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[/messages/?param=value-ValueError] [gw87] [ 93%] PASSED tests/shared/test_sse.py::test_sse_client_exception_handling tests/test_types.py::test_create_message_result_with_tool_use [gw87] [ 93%] PASSED tests/test_types.py::test_create_message_result_with_tool_use [gw20] [ 93%] PASSED tests/shared/test_streamable_http.py::test_get_validation [gw113] [ 93%] PASSED tests/server/test_sse_security.py::test_sse_security_post_invalid_content_type [gw62] [ 93%] PASSED tests/server/test_sse_security.py::test_sse_security_invalid_host_header tests/shared/test_streamable_http.py::test_session_id_pattern [gw113] [ 93%] PASSED tests/shared/test_streamable_http.py::test_session_id_pattern [gw98] [ 93%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_basic_connection tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_ports [gw62] [ 93%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_different_ports [gw2] [ 93%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_does_not_mutate_provided_client [gw41] [ 93%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_session_termination_204 [gw54] [ 94%] PASSED tests/shared/test_streamable_http.py::test_get_sse_stream [gw61] [ 94%] PASSED tests/client/test_http_unicode.py::test_streamable_http_client_unicode_tool_call tests/client/test_http_unicode.py::test_streamable_http_client_unicode_prompts [gw96] [ 94%] PASSED tests/shared/test_streamable_http.py::test_session_validation [gw124] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_auto_reconnects [gw46] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamablehttp_request_context_propagation [gw82] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_error_handling [gw86] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_resource_read [gw26] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_respects_retry_interval [gw60] [ 94%] PASSED tests/shared/test_streamable_http.py::test_json_response_missing_accept_header [gw14] [ 94%] PASSED tests/shared/test_ws.py::test_ws_client_exception_handling [gw56] [ 94%] PASSED tests/shared/test_sse.py::test_request_context_isolation [gw105] [ 94%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_tool_invocation [gw117] [ 95%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_session_termination [gw114] [ 95%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_json_response [gw85] [ 95%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_resumption [gw118] [ 95%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_sse_polling_full_cycle [gw39] [ 95%] PASSED tests/shared/test_streamable_http.py::test_json_validation [gw13] [ 95%] PASSED tests/shared/test_streamable_http.py::test_server_backwards_compatibility_no_protocol_version [gw21] [ 95%] PASSED tests/server/test_sse_security.py::test_sse_security_invalid_origin_header tests/shared/test_sse.py::test_sse_client_basic_connection [gw30] [ 95%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_default_settings tests/shared/test_sse.py::test_sse_client_timeout [gw30] [ 95%] SKIPPED tests/shared/test_sse.py::test_sse_client_timeout [gw32] [ 95%] PASSED tests/shared/test_sse.py::test_sse_client_basic_connection_mounted_app [gw104] [ 95%] PASSED tests/shared/test_streamable_http.py::test_server_close_sse_stream_via_context [gw68] [ 95%] PASSED tests/shared/test_streamable_http.py::test_streamablehttp_server_sampling [gw89] [ 96%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_origin_header tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[ftp://example.com/messages/-ValueError] [gw89] [ 96%] PASSED tests/shared/test_sse.py::test_sse_server_transport_endpoint_validation[ftp://example.com/messages/-ValueError] [gw65] [ 96%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_multiple_reconnections [gw72] [ 96%] PASSED tests/shared/test_streamable_http.py::test_standalone_get_stream_reconnection [gw70] [ 96%] PASSED tests/shared/test_streamable_http.py::test_session_termination [gw31] [ 96%] PASSED tests/shared/test_streamable_http.py::test_accept_header_validation [gw50] [ 96%] PASSED tests/shared/test_sse.py::test_sse_client_on_session_created tests/shared/test_ws.py::test_ws_client_timeout [gw9] [ 96%] PASSED tests/server/test_sse_security.py::test_sse_security_disabled tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_trailing_slash_handling [gw9] [ 96%] PASSED tests/shared/test_auth_utils.py::TestCheckResourceAllowed::test_trailing_slash_handling [gw55] [ 96%] PASSED tests/shared/test_streamable_http.py::test_server_validates_protocol_version_header [gw81] [ 96%] PASSED tests/shared/test_ws.py::test_ws_client_basic_connection [gw64] [ 96%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_host_header tests/shared/test_sse.py::test_sse_client_on_session_created_not_called_when_no_session_id [gw15] [ 96%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_receives_priming_event [gw127] [ 97%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_events_replayed_after_disconnect [gw97] [ 97%] PASSED tests/shared/test_streamable_http.py::test_json_parsing tests/test_types.py::test_list_tools_result_preserves_json_schema_2020_12_fields [gw97] [ 97%] PASSED tests/test_types.py::test_list_tools_result_preserves_json_schema_2020_12_fields [gw111] [ 97%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_disabled tests/shared/test_sse.py::test_request_context_propagation [gw61] [ 97%] PASSED tests/client/test_http_unicode.py::test_streamable_http_client_unicode_prompts [gw93] [ 97%] PASSED tests/shared/test_streamable_http.py::test_json_response [gw126] [ 97%] PASSED tests/shared/test_streamable_http.py::test_client_crash_handled [gw35] [ 97%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_get_request tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[max_length_with_trailing_newline] [gw35] [ 97%] PASSED tests/shared/test_tool_name_validation.py::TestValidateToolName::TestInvalidNames::test_rejects_invalid_characters[max_length_with_trailing_newline] [gw44] [ 97%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_session_persistence [gw52] [ 97%] PASSED tests/shared/test_streamable_http.py::test_content_type_validation [gw7] [ 97%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_transport_deprecated_params_ignored [gw58] [ 98%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_get_stream [gw3] [ 98%] PASSED tests/shared/test_streamable_http.py::test_response [gw17] [ 98%] PASSED tests/server/test_websocket_security.py::test_ws_security_invalid_origin_header [gw109] [ 98%] PASSED tests/shared/test_sse.py::test_sse_client_happy_request_and_response tests/shared/test_streamable_http.py::test_client_includes_protocol_version_header_after_init tests/test_types.py::test_tool_choice [gw109] [ 98%] PASSED tests/test_types.py::test_tool_choice [gw12] [ 98%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_custom_allowed_hosts tests/shared/test_streamable_http.py::test_json_response_incorrect_accept_header [gw84] [ 98%] PASSED tests/server/test_streamable_http_security.py::test_streamable_http_security_invalid_content_type tests/shared/test_streamable_http.py::test_streamable_http_client_mcp_headers_override_defaults [gw8] [ 98%] PASSED tests/server/test_sse_security.py::test_sse_security_wildcard_ports tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_create_with_single_elicitation [gw8] [ 98%] PASSED tests/shared/test_exceptions.py::TestUrlElicitationRequiredError::test_create_with_single_elicitation [gw80] [ 98%] PASSED tests/shared/test_streamable_http.py::test_streamablehttp_client_deprecation_warning [gw63] [ 98%] PASSED tests/shared/test_ws.py::test_ws_client_happy_request_and_response [gw121] [ 98%] PASSED tests/shared/test_streamable_http.py::test_json_response_accept_json_only [gw5] [ 99%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_preserves_custom_with_mcp_headers [gw106] [ 99%] PASSED tests/shared/test_sse.py::test_raw_sse_connection tests/test_examples.py::test_simple_echo [gw21] [ 99%] PASSED tests/shared/test_sse.py::test_sse_client_basic_connection [gw106] [ 99%] FAILED tests/test_examples.py::test_simple_echo [gw50] [ 99%] PASSED tests/shared/test_ws.py::test_ws_client_timeout [gw78] [ 99%] PASSED tests/shared/test_streamable_http.py::test_streamablehttp_request_context_isolation [gw64] [ 99%] PASSED tests/shared/test_sse.py::test_sse_client_on_session_created_not_called_when_no_session_id [gw111] [ 99%] PASSED tests/shared/test_sse.py::test_request_context_propagation [gw84] [ 99%] PASSED tests/shared/test_streamable_http.py::test_streamable_http_client_mcp_headers_override_defaults [gw12] [ 99%] PASSED tests/shared/test_streamable_http.py::test_json_response_incorrect_accept_header [gw17] [ 99%] PASSED tests/shared/test_streamable_http.py::test_client_includes_protocol_version_header_after_init [gw59] [ 99%] FAILED tests/client/test_config.py::test_command_execution tests/client/test_config.py::test_absolute_uv_path [gw59] [100%] PASSED tests/client/test_config.py::test_absolute_uv_path ═══════════════════════════════ inline-snapshot ════════════════════════════════ INFO: inline-snapshot was disabled because you used xdist. This means that tests with snapshots will continue to run, but snapshot(x) will only return x and inline-snapshot will not be able to fix snapshots or generate reports. ==================================== ERRORS ==================================== _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _____________ ERROR collecting tests/issues/test_355_type_error.py _____________ tests/issues/test_355_type_error.py:22: in mcp = FastMCP("My App") ^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. __________ ERROR collecting tests/server/fastmcp/test_integration.py ___________ tests/server/fastmcp/test_integration.py:23: in from examples.snippets.servers import ( examples/snippets/servers/basic_prompt.py:4: in mcp = FastMCP(name="Prompt Example") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: in _warn_if_field_info_incomplete warnings.warn( E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. _ ERROR at setup of test_list_methods_raises_error_when_both_cursor_and_params_provided[list_tools] _ [gw58] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273479057744}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_cursor_parameter[list_prompts-prompts/list] _ [gw53] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273599381840}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_params_parameter[list_prompts-prompts/list] _ [gw60] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273000972624}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_raises_error_when_both_cursor_and_params_provided[list_prompts] _ [gw62] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273317232976}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_cursor_parameter[list_tools-tools/list] __ [gw49] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272969466192}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_params_parameter[list_tools-tools/list] __ [gw52] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273154113872}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resources] _ [gw58] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273479057744}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_params_parameter[list_resource_templates-resources/templates/list] _ [gw60] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273000972624}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_cursor_parameter[list_resource_templates-resources/templates/list] _ [gw53] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273599381840}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resource_templates] _ [gw62] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273317232976}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_cursor_parameter[list_resources-resources/list] _ [gw49] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272969466192}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ ERROR at setup of test_list_methods_params_parameter[list_resources-resources/list] _ [gw52] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture async def full_featured_server():  """Create a server with tools, resources, prompts, and templates.""" > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_methods_cursor.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273154113872}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ ERROR at setup of test_list_resources _____________________ [gw66] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture def mcp() -> FastMCP: > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/servers/test_file_server.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272575250768}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ ERROR at setup of test_read_resource_dir ___________________ [gw104] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture def mcp() -> FastMCP: > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/servers/test_file_server.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273381491024}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ ERROR at setup of test_delete_file_and_check_resources ____________ [gw54] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture def mcp() -> FastMCP: > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/servers/test_file_server.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273456759120}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ ERROR at setup of test_delete_file ______________________ [gw25] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture def mcp() -> FastMCP: > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/servers/test_file_server.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272839442768}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ ERROR at setup of test_read_resource_file ___________________ [gw107] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.fixture def mcp() -> FastMCP: > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/servers/test_file_server.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273140449616}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ ERROR at setup of test_non_compliant_notification_response __________ [gw57] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python non_sdk_server_port = 55919 @pytest.fixture def non_sdk_server(non_sdk_server_port: int) -> Generator[None, None, None]:  """Start a non-SDK server for testing.""" proc = multiprocessing.Process(target=run_non_sdk_server, kwargs={"port": non_sdk_server_port}, daemon=True) proc.start()  # Wait for server to be ready try: # pragma: no cover > wait_for_server(non_sdk_server_port, timeout=10.0) tests/client/test_notification_response.py:99: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ port = 55919, timeout = 10.0 def wait_for_server(port: int, timeout: float = 20.0) -> None:  """Wait for server to be ready to accept connections.   Polls the server port until it accepts connections or timeout is reached.  This eliminates race conditions without arbitrary sleeps.   Args:  port: The port number to check  timeout: Maximum time to wait in seconds (default 5.0)   Raises:  TimeoutError: If server doesn't start within the timeout period  """ start_time = time.time() while time.time() - start_time < timeout: try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.settimeout(0.1) s.connect(("127.0.0.1", port)) # Server is ready return except (ConnectionRefusedError, OSError): # Server not ready yet, retry quickly time.sleep(0.01) > raise TimeoutError(f"Server on port {port} did not start within {timeout} seconds") # pragma: no cover ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E TimeoutError: Server on port 55919 did not start within 10.0 seconds tests/test_helpers.py:31: TimeoutError During handling of the above exception, another exception occurred: non_sdk_server_port = 55919 @pytest.fixture def non_sdk_server(non_sdk_server_port: int) -> Generator[None, None, None]:  """Start a non-SDK server for testing.""" proc = multiprocessing.Process(target=run_non_sdk_server, kwargs={"port": non_sdk_server_port}, daemon=True) proc.start()  # Wait for server to be ready try: # pragma: no cover wait_for_server(non_sdk_server_port, timeout=10.0) except TimeoutError: # pragma: no cover proc.kill() proc.join(timeout=2) > pytest.fail("Server failed to start within 10 seconds") E Failed: Server failed to start within 10 seconds tests/client/test_notification_response.py:103: Failed =================================== FAILURES =================================== ____________________________ test_sampling_callback ____________________________ [gw70] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_sampling_callback(): from mcp.server.fastmcp import FastMCP  > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_sampling_callback.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272696803664}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________________ test_logging_callback _____________________________ [gw57] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_logging_callback(): from mcp.server.fastmcp import FastMCP  > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_logging_callback.py:28: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272834068816}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________________ test_list_roots_callback ___________________________ [gw64] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_list_roots_callback(): from mcp.server.fastmcp import FastMCP  > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_list_roots_callback.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272586441040}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________ test_create_message_backwards_compat_single_content ______________ [gw70] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_create_message_backwards_compat_single_content():  """Test backwards compatibility: create_message without tools returns single content.""" from mcp.server.fastmcp import FastMCP  > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/client/test_sampling_callback.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272696803664}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________________ test_resource_templates ____________________________ [gw74] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_resource_templates(): # Create an MCP server > mcp = FastMCP("Demo") ^^^^^^^^^^^^^^^ tests/issues/test_129_resource_templates.py:10: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272695656784}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________________ test_icons_and_website_url __________________________ [gw39] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_icons_and_website_url():  """Test that icons and websiteUrl are properly returned in API calls."""  # Create test icon test_icon = Icon( src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==", mimeType="image/png", sizes=["1x1"], )  # Create server with website URL and icon > mcp = FastMCP("TestServer", website_url="https://example.com", icons=[test_icon]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/issues/test_1338_icons_and_metadata.py:22: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272828006736}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ test_mime_type_with_parameters_and_space ___________________ [gw122] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_mime_type_with_parameters_and_space():  """Test MIME type with space after semicolon.""" > mcp = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_1754_mime_type_parameters.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273102602576}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ test_mime_type_with_multiple_parameters ____________________ [gw56] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_mime_type_with_multiple_parameters():  """Test MIME type with multiple parameters.""" > mcp = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_1754_mime_type_parameters.py:47: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272828858704}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ test_list_tools_returns_all_tools _______________________ [gw41] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_list_tools_returns_all_tools(): > mcp = FastMCP("TestTools") ^^^^^^^^^^^^^^^^^^^^ tests/issues/test_100_tool_listing.py:9: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273202200912}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________ test_messages_are_executed_concurrently_tools _________________ [gw101] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_messages_are_executed_concurrently_tools(): > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_188_concurrency.py:11: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273249157456}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________________ test_no_icons_or_website ___________________________ [gw69] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_no_icons_or_website():  """Test that server works without icons or websiteUrl."""  > mcp = FastMCP("BasicServer") ^^^^^^^^^^^^^^^^^^^^^^ tests/issues/test_1338_icons_and_metadata.py:125: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273484267856}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ test_mime_type_with_parameters ________________________ [gw17] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_mime_type_with_parameters():  """Test that MIME types with parameters are accepted (RFC 2045).""" > mcp = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_1754_mime_type_parameters.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273056170320}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ test_mime_type_preserved_in_read_resource ___________________ [gw16] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_mime_type_preserved_in_read_resource():  """Test that MIME type with parameters is preserved when reading resource.""" > mcp = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_1754_mime_type_parameters.py:60: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272672735568}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ test_resource_template_client_interaction ___________________ [gw63] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_resource_template_client_interaction():  """Test client-side resource template interaction""" > mcp = FastMCP("Demo") ^^^^^^^^^^^^^^^ tests/issues/test_141_resource_templates.py:70: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272932749648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ test_resource_template_edge_cases _______________________ [gw14] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_resource_template_edge_cases():  """Test server-side resource template validation""" > mcp = FastMCP("Demo") ^^^^^^^^^^^^^^^ tests/issues/test_141_resource_templates.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272899129680}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________ test_messages_are_executed_concurrently_tools_and_resources __________ [gw94] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_messages_are_executed_concurrently_tools_and_resources(): > server = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_188_concurrency.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273512694096}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________________ test_multiple_icons ______________________________ [gw73] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_multiple_icons():  """Test that multiple icons can be added to tools, resources, and prompts."""  # Create multiple test icons icon1 = Icon(src="data:image/png;base64,icon1", mimeType="image/png", sizes=["16x16"]) icon2 = Icon(src="data:image/png;base64,icon2", mimeType="image/png", sizes=["32x32"]) icon3 = Icon(src="data:image/png;base64,icon3", mimeType="image/png", sizes=["64x64"])  > mcp = FastMCP("MultiIconServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/issues/test_1338_icons_and_metadata.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272989061456}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________ test_fastmcp_resource_mime_type ________________________ [gw31] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python async def test_fastmcp_resource_mime_type():  """Test that mime_type parameter is respected for resources.""" > mcp = FastMCP("test") ^^^^^^^^^^^^^^^ tests/issues/test_152_resource_mime_type.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273153982800}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestResourceTemplateAnnotations.test_template_annotations_in_fastmcp _____ [gw123] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_template_annotations_in_fastmcp(self):  """Test template annotations via FastMCP decorator."""  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/resources/test_resource_template.py:240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272614080848}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____ TestResourceAnnotations.test_resource_annotations_with_both_audiences _____ [gw116] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_annotations_with_both_audiences(self):  """Test resource with both user and assistant audience."""  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/resources/test_resources.py:154: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272958980432}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________ TestResourceAnnotations.test_resource_annotations_in_fastmcp _________ [gw113] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_annotations_in_fastmcp(self):  """Test resource annotations via FastMCP decorator."""  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/resources/test_resources.py:137: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272836280656}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ test_elicitation_with_enum_titles _______________________ [gw67] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicitation_with_enum_titles():  """Test elicitation with enum schemas using oneOf/anyOf for titles.""" > mcp = FastMCP(name="ColorPreferencesApp") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:325: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273252516176}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ test_elicitation_with_optional_fields _____________________ [gw117] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicitation_with_optional_fields():  """Test that Optional fields work correctly in elicitation schemas.""" > mcp = FastMCP(name="OptionalFieldServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:154: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272723870032}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ test_elicitation_schema_validation ______________________ [gw1] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicitation_schema_validation():  """Test that elicitation schemas must only contain primitive types.""" > mcp = FastMCP(name="ValidationTestServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273376362832}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________________ test_stdio_elicitation ____________________________ [gw77] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_stdio_elicitation():  """Test the elicitation feature using stdio transport.""" > mcp = FastMCP(name="StdioElicitationServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272569975120}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________ test_elicitation_with_default_values _____________________ [gw85] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicitation_with_default_values():  """Test that default values work correctly in elicitation schemas and are included in JSON.""" > mcp = FastMCP(name="DefaultValuesServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:269: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273497555280}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ TestServer.test_normalize_path ________________________ [gw38] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_normalize_path(self):  """Test path normalization for mount paths.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273402560848}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ test_stdio_elicitation_decline ________________________ [gw68] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_stdio_elicitation_decline():  """Test elicitation with user declining.""" > mcp = FastMCP(name="StdioElicitationDeclineServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_elicitation.py:91: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273132912976}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestServer.test_starlette_routes_with_mount_path _______________ [gw47] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_starlette_routes_with_mount_path(self):  """Test that Starlette routes are correctly configured with mount path.""" # Test with mount path in settings > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272784589136}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestServerTools.test_tool_exception_handling _________________ [gw83] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_exception_handling(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:284: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272665395536}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ TestServerTools.test_add_tool _________________________ [gw121] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_add_tool(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:260: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273235853648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ TestServer.test_add_tool_decorator ______________________ [gw45] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_add_tool_decorator(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:148: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273070080336}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestServerTools.test_remove_tool_and_list ___________________ [gw122] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_remove_tool_and_list(self):  """Test that a removed tool doesn't appear in list_tools.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:681: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273102602576}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestDnsRebindingProtection.test_auto_enabled_for_localhost __________ [gw44] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_auto_enabled_for_localhost(self):  """DNS rebinding protection should auto-enable for host=localhost.""" > mcp = FastMCP(host="localhost") ^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:202: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272720593232}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestServerTools.test_tool_return_value_conversion _______________ [gw96] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_return_value_conversion(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:321: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272792027472}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestServerTools.test_tool_audio_suffix_detection[test.aac-audio/aac] _____ [gw71] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw71/test_tool_audio_suffix_detecti0') filename = 'test.aac', expected_mime_type = 'audio/aac' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273504141648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestServerTools.test_tool_audio_suffix_detection[test.wav-audio/wav] _____ [gw93] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw93/test_tool_audio_suffix_detecti0') filename = 'test.wav', expected_mime_type = 'audio/wav' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273574478160}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______ TestDnsRebindingProtection.test_explicit_settings_not_overridden _______ [gw105] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_explicit_settings_not_overridden(self):  """Explicit transport_security settings should not be overridden.""" custom_settings = TransportSecuritySettings( enable_dns_rebinding_protection=False, ) > mcp = FastMCP(host="127.0.0.1", transport_security=custom_settings) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:226: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273580720464}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________ test_parameter_descriptions __________________________ [gw27] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_parameter_descriptions(): > mcp = FastMCP("Test Server") ^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_parameter_descriptions.py:11: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273201201488}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______ TestDnsRebindingProtection.test_auto_enabled_for_ipv6_localhost ________ [gw28] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_auto_enabled_for_ipv6_localhost(self):  """DNS rebinding protection should auto-enable for host=::1 (IPv6 localhost).""" > mcp = FastMCP(host="::1") ^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:210: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272811131216}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____ TestServerTools.test_tool_audio_suffix_detection[test.mp3-audio/mpeg] _____ [gw118] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw118/test_tool_audio_suffix_detecti0') filename = 'test.mp3', expected_mime_type = 'audio/mpeg' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272725999952}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestServerTools.test_tool_structured_output_primitive _____________ [gw98] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_primitive(self):  """Test tool with structured output returning primitive type"""  def calculate_sum(a: int, b: int) -> int:  """Add two numbers""" return a + b  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272933798224}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestServerTools.test_remove_nonexistent_tool _________________ [gw87] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_remove_nonexistent_tool(self):  """Test that removing a non-existent tool raises ToolError.""" from mcp.server.fastmcp.exceptions import ToolError  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:673: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272981688656}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ TestServer.test_non_ascii_description _____________________ [gw50] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_non_ascii_description(self):  """Test that FastMCP handles non-ASCII characters in descriptions correctly""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:125: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273358537040}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ TestServerResources.test_text_resource ____________________ [gw106] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_text_resource(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:731: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273025024336}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ TestServer.test_add_resource_decorator ____________________ [gw72] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_add_resource_decorator(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273083810128}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServerResources.test_binary_resource ___________________ [gw56] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_binary_resource(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:746: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272828858704}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____ TestServerTools.test_tool_audio_suffix_detection[test.flac-audio/flac] ____ [gw120] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw120/test_tool_audio_suffix_detecti0') filename = 'test.flac', expected_mime_type = 'audio/flac' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273192567120}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________ TestServerResources.test_file_resource_binary _________________ [gw101] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw101/test_file_resource_binary0') @pytest.mark.anyio async def test_file_resource_binary(self, tmp_path: Path): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:782: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273249157456}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServerTools.test_tool_error_details ____________________ [gw114] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_error_details(self):  """Test that exception details are properly formatted in the response""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272636985680}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerTools.test_tool_mixed_list_with_audio_and_image ___________ [gw95] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw95/test_tool_mixed_list_with_audi0') @pytest.mark.anyio async def test_tool_mixed_list_with_audio_and_image(self, tmp_path: Path):  """Test that lists containing Image objects and other types are handled  correctly""" # Create a test image image_path = tmp_path / "test.png" image_path.write_bytes(b"test image data")  # Create a test audio audio_path = tmp_path / "test.wav" audio_path.write_bytes(b"test audio data")  # TODO(Marcelo): It seems if we add the proper type hint, it generates an invalid JSON schema. # We need to fix this. def mixed_list_fn() -> list: # type: ignore return [ # type: ignore "text message", Image(image_path), Audio(audio_path), {"key": "value"}, TextContent(type="text", text="direct content"), ]  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:462: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272618176848}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________ TestServerTools.test_remove_tool _______________________ [gw74] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_remove_tool(self):  """Test removing a tool from the server.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:656: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272695656784}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServer.test_sse_app_with_mount_path ____________________ [gw30] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_sse_app_with_mount_path(self):  """Test SSE app creation with different mount paths.""" # Test with default mount path > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:65: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273047093584}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestServerTools.test_tool_structured_output_basemodel _____________ [gw82] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_basemodel(self):  """Test tool with structured output returning BaseModel"""  class UserOutput(BaseModel): name: str age: int active: bool = True  def get_user(user_id: int) -> UserOutput:  """Get user by ID""" return UserOutput(name="John Doe", age=30)  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:505: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272847438160}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ TestServerTools.test_call_tool ________________________ [gw89] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_call_tool(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:275: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273589911888}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerTools.test_tool_structured_output_dict_str_typed __________ [gw64] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_dict_str_typed(self):  """Test tool with dict[str, T] structured output for specific T"""  def get_settings() -> dict[str, str]:  """Get settings as string dictionary""" return {"theme": "dark", "language": "en", "timezone": "UTC"}  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272586441040}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServerTools.test_tool_error_handling ___________________ [gw111] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_error_handling(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:296: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272798581072}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestServerTools.test_tool_audio_suffix_detection[test.m4a-audio/mp4] _____ [gw84] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw84/test_tool_audio_suffix_detecti0') filename = 'test.m4a', expected_mime_type = 'audio/mp4' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273124327760}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestServerTools.test_tool_audio_suffix_detection[test.ogg-audio/ogg] _____ [gw35] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw35/test_tool_audio_suffix_detecti0') filename = 'test.ogg', expected_mime_type = 'audio/ogg' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273550328144}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestServerTools.test_remove_tool_and_call ___________________ [gw39] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_remove_tool_and_call(self):  """Test that calling a removed tool fails appropriately.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:705: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272828006736}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerResourceTemplates.test_resource_matching_params ___________ [gw97] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_matching_params(self):  """Test that a resource with matching URI and function parameters works""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:856: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272670687568}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestServer.test_add_tool_decorator_incorrect_usage ______________ [gw55] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_add_tool_decorator_incorrect_usage(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:158: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273500979536}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ TestServerTools.test_tool_image_helper ____________________ [gw75] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw75/test_tool_image_helper0') @pytest.mark.anyio async def test_tool_image_helper(self, tmp_path: Path): # Create a test image image_path = tmp_path / "test.png" image_path.write_bytes(b"fake png data")  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272966271312}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestDnsRebindingProtection.test_auto_enabled_for_127_0_0_1 __________ [gw29] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_auto_enabled_for_127_0_0_1(self):  """DNS rebinding protection should auto-enable for host=127.0.0.1.""" > mcp = FastMCP(host="127.0.0.1") ^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272631824720}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______ TestServerResourceTemplates.test_template_to_resource_conversion _______ [gw69] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_template_to_resource_conversion(self):  """Test that templates are properly converted to resources when accessed""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:918: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273484267856}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestServerResourceTemplates.test_resource_with_params _____________ [gw86] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_with_params(self):  """Test that a resource with function parameters raises an error if the URI  parameters don't match""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:825: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272897130832}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestServerResources.test_file_resource_text __________________ [gw41] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw41/test_file_resource_text0') @pytest.mark.anyio async def test_file_resource_text(self, tmp_path: Path): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:766: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273202200912}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerResourceMetadata.test_read_resource_returns_meta __________ [gw78] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_read_resource_returns_meta(self):  """Test that read_resource includes meta in response.""" # Tests end-to-end: Resource.meta -> ReadResourceContents.meta -> protocol _meta (lowlevel/server.py:341,371) > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1004: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272634855760}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __ TestServerResourceMetadata.test_resource_template_decorator_with_metadata ___ [gw17] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_template_decorator_with_metadata(self):  """Test that @resource decorator passes meta to templates.""" # Tests template resource flow: decorator -> add_template() -> list_resource_templates (server.py:544,622,377) > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:986: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273056170320}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________ TestServerResourceTemplates.test_resource_with_untyped_params _________ [gw124] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_with_untyped_params(self):  """Test that a resource with untyped parameters raises an error""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:847: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272926245200}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____ TestServerResourceTemplates.test_resource_multiple_mismatched_params _____ [gw126] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_multiple_mismatched_params(self):  """Test that mismatched parameters raise an error""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:895: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272818520400}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestContextInjection.test_context_detection __________________ [gw110] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_detection(self):  """Test that context parameters are properly detected.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1030: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273239900496}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ TestServerTools.test_tool_audio_suffix_detection[test.unknown-application/octet-stream] _ [gw92] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw92/test_tool_audio_suffix_detecti0') filename = 'test.unknown', expected_mime_type = 'application/octet-stream' @pytest.mark.parametrize( "filename,expected_mime_type", [ ("test.wav", "audio/wav"), ("test.mp3", "audio/mpeg"), ("test.ogg", "audio/ogg"), ("test.flac", "audio/flac"), ("test.aac", "audio/aac"), ("test.m4a", "audio/mp4"), ("test.unknown", "application/octet-stream"), # Unknown extension fallback ], ) @pytest.mark.anyio async def test_tool_audio_suffix_detection(self, tmp_path: Path, filename: str, expected_mime_type: str):  """Test that Audio helper correctly detects MIME types from file suffixes""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:390: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273106846032}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________ TestServerTools.test_tool_structured_output_dict_str_any ___________ [gw127] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_dict_str_any(self):  """Test tool with dict[str, Any] structured output"""  def get_metadata() -> dict[str, Any]:  """Get metadata dictionary""" return { "version": "1.0.0", "enabled": True, "count": 42, "tags": ["production", "stable"], "config": {"nested": {"value": 123}}, }  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:602: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272751346000}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServerPrompts.test_prompt_decorator ____________________ [gw125] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_prompt_decorator(self):  """Test that the prompt decorator registers prompts correctly.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1289: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273533337936}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ TestServer.test_create_server _________________________ [gw11] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_create_server(self): > mcp = FastMCP(instructions="Server instructions") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:37: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273558782288}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestServerTools.test_tool_mixed_content ____________________ [gw112] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_mixed_content(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:410: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272941154640}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___ TestServerTools.test_tool_structured_output_server_side_validation_error ___ [gw65] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_server_side_validation_error(self):  """Test that server-side validation errors are handled properly"""  def get_numbers() -> list[int]: return [1, 2, 3, 4, [5]] # type: ignore  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:578: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272640213328}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestServerTools.test_tool_structured_output_list _______________ [gw48] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_structured_output_list(self):  """Test tool with structured output returning list"""  def get_numbers() -> list[int]:  """Get a list of numbers""" return [1, 2, 3, 4, 5]  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:562: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272921968976}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestServerPrompts.test_prompt_decorator_with_name _______________ [gw108] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_prompt_decorator_with_name(self):  """Test prompt decorator with custom name.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273215914320}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______ TestServerResourceMetadata.test_resource_decorator_with_metadata _______ [gw33] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_decorator_with_metadata(self):  """Test that @resource decorator accepts and passes meta parameter.""" # Tests static resource flow: decorator -> FunctionResource -> list_resources (server.py:544,635,361) > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:967: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273172939088}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestContextInjection.test_prompt_without_context _______________ [gw94] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_prompt_without_context(self):  """Test that prompts without context work normally.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1266: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273512694096}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______ TestDnsRebindingProtection.test_not_auto_enabled_for_other_hosts _______ [gw51] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_not_auto_enabled_for_other_hosts(self):  """DNS rebinding protection should NOT auto-enable for other hosts.""" > mcp = FastMCP(host="0.0.0.0") ^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:218: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273046045008}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________ TestServerPrompts.test_prompt_decorator_error _________________ [gw73] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = def test_prompt_decorator_error(self):  """Test error when decorator is used incorrectly.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272989061456}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________ TestServerTools.test_list_tools ________________________ [gw49] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_list_tools(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272969466192}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerResourceTemplates.test_resource_multiple_params ___________ [gw119] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_multiple_params(self):  """Test that multiple parameters work correctly""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:881: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272893002064}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestContextInjection.test_context_injection __________________ [gw79] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_injection(self):  """Test that context is properly injected into tool calls.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1041: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273197859152}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________ TestServerResourceTemplates.test_resource_mismatched_params __________ [gw103] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_mismatched_params(self):  """Test that mismatched parameters raise an error""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:870: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273433952592}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestContextInjection.test_context_resource_access _______________ [gw63] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_resource_access(self):  """Test that context can access resources.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272932749648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________ TestServerPrompts.test_prompt_decorator_with_description ___________ [gw115] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_prompt_decorator_with_description(self):  """Test prompt decorator with custom description.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1322: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273457774928}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ___________________ TestContextInjection.test_async_context ____________________ [gw16] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_async_context(self):  """Test that context works in async functions.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1059: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272672735568}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestContextInjection.test_resource_context_custom_name ____________ [gw14] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_context_custom_name(self):  """Test resource context with custom parameter name.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1216: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272899129680}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestServer.test_add_resource_decorator_incorrect_usage ____________ [gw19] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_add_resource_decorator_incorrect_usage(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:178: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273284022608}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestContextInjection.test_resource_without_context ______________ [gw34] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_without_context(self):  """Test that resources without context work normally.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272891871568}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________ TestServerResourceTemplates.test_resource_with_uri_params ___________ [gw109] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_with_uri_params(self):  """Test that a resource with URI parameters is automatically a template""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:836: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272907600208}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestContextInjection.test_optional_context __________________ [gw99] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_optional_context(self):  """Test that context is optional.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1125: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272942219600}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestContextHandling.test_context_injection_async _______________ [gw43] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_injection_async(self):  """Test that context is properly injected in async tools."""  async def async_tool(x: int, ctx: Context[ServerSessionT, None]) -> str: # pragma: no cover assert isinstance(ctx, Context) return str(x)  manager = ToolManager() manager.add_tool(async_tool)  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:385: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272839508304}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____ TestServerResourceTemplates.test_resource_template_includes_mime_type _____ [gw100] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_template_includes_mime_type(self):  """Test that list resource templates includes the correct mimeType.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:937: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273260708176}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestServerPrompts.test_get_prompt_with_resource ________________ [gw32] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt_with_resource(self):  """Test getting a prompt that returns resource content.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273190420816}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestContextInjection.test_context_logging ___________________ [gw116] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_logging(self):  """Test that context logging methods work.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1077: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272958980432}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________ TestToolAnnotations.test_tool_annotations_in_fastmcp _____________ [gw53] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_tool_annotations_in_fastmcp(self):  """Test that tool annotations are included in MCPTool conversion."""  > app = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273599381840}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestServerResources.test_function_resource __________________ [gw123] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_function_resource(self): > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:803: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272614080848}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestContextHandling.test_context_injection __________________ [gw22] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_injection(self):  """Test that context is properly injected during tool execution."""  def tool_with_context(x: int, ctx: Context[ServerSessionT, None]) -> str: assert isinstance(ctx, Context) return str(x)  manager = ToolManager() manager.add_tool(tool_with_context)  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272969367888}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________________ test_resource_title ______________________________ [gw67] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_resource_title():  """Test that resource titles work correctly.""" > mcp = FastMCP(name="ResourceTitleServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_title.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273252516176}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________________ test_prompt_title _______________________________ [gw31] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_prompt_title():  """Test that prompt titles work correctly.""" > mcp = FastMCP(name="PromptTitleServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_title.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273153982800}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestContextInjection.test_resource_with_context ________________ [gw88] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_resource_with_context(self):  """Test that resources can receive context parameter.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272878322000}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ TestServerTools.test_tool_audio_helper ____________________ [gw52] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = tmp_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw52/test_tool_audio_helper0') @pytest.mark.anyio async def test_tool_audio_helper(self, tmp_path: Path): # Create a test audio audio_path = tmp_path / "test.wav" audio_path.write_bytes(b"fake wav data")  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:360: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273154113872}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ test_elicit_complete_notification _______________________ [gw71] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicit_complete_notification():  """Test that elicitation completion notifications can be sent and received.""" > mcp = FastMCP(name="ElicitCompleteServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:220: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273504141648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________ test_url_elicitation_decline _________________________ [gw96] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_decline():  """Test URL mode elicitation with user declining.""" > mcp = FastMCP(name="URLElicitationDeclineServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:53: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272792027472}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________ TestContextInjection.test_prompt_with_context _________________ [gw113] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_prompt_with_context(self):  """Test that prompts can receive context parameter.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272836280656}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________ test_url_elicitation_helper_function _____________________ [gw93] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_helper_function():  """Test the elicit_url helper function.""" from mcp.server.elicitation import elicit_url  > mcp = FastMCP(name="URLElicitationHelperServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273574478160}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________ TestToolMetadata.test_multiple_tools_with_different_metadata _________ [gw121] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_multiple_tools_with_different_metadata(self):  """Test multiple tools with different metadata values."""  > app = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:718: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273235853648}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ test_url_elicitation_error_from_error _____________________ [gw98] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_error_from_error():  """Test that client can reconstruct UrlElicitationRequiredError from McpError.""" > mcp = FastMCP(name="UrlElicitationErrorServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation_error_throw.py:56: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272933798224}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________ TestToolMetadata.test_metadata_in_fastmcp_decorator ______________ [gw105] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_metadata_in_fastmcp_decorator(self):  """Test that metadata is correctly added via FastMCP.tool decorator."""  > app = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:676: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273580720464}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ TestToolMetadata.test_metadata_in_list_tools _________________ [gw44] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_metadata_in_list_tools(self):  """Test that metadata is included in MCPTool when listing tools."""  > app = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:697: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272720593232}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________ TestServerPrompts.test_get_prompt_with_docstring_description _________ [gw54] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt_with_docstring_description(self):  """Test prompt uses docstring as description when not explicitly provided.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273456759120}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________ test_url_elicitation_error_thrown_from_tool __________________ [gw82] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_error_thrown_from_tool():  """Test that UrlElicitationRequiredError raised from a tool is received as McpError by client.""" > mcp = FastMCP(name="UrlElicitationErrorServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation_error_throw.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272847438160}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________ test_url_elicitation_accept __________________________ [gw114] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_accept():  """Test URL mode elicitation with user acceptance.""" > mcp = FastMCP(name="URLElicitationServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272636985680}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestContextHandling.test_context_error_handling ________________ [gw58] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_context_error_handling(self):  """Test error handling when context injection fails."""  def tool_with_context(x: int, ctx: Context[ServerSessionT, None]) -> str: raise ValueError("Test error")  manager = ToolManager() manager.add_tool(tool_with_context)  > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273479057744}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________ TestServerPrompts.test_get_unknown_prompt ___________________ [gw117] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_unknown_prompt(self):  """Test error when getting unknown prompt.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1457: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272723870032}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _ test_streamable_http_app_passes_the_configured_request_body_limit_to_its_manager _ [gw85] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python def test_streamable_http_app_passes_the_configured_request_body_limit_to_its_manager() -> None:  """SDK-defined: FastMCP forwards its public request-body setting to the Streamable HTTP manager.""" > mcp = FastMCP(max_request_body_size=8) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_server.py:1497: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273497555280}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________________ test_tool_title_precedence __________________________ [gw68] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_tool_title_precedence():  """Test that tool title precedence works correctly: title > annotations.title > name.""" # Create server with various tool configurations > mcp = FastMCP(name="TitleTestServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_title.py:17: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273132912976}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________ TestServerPrompts.test_get_prompt_without_description _____________ [gw104] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt_without_description(self):  """Test getting a prompt without description returns empty string.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1400: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273381491024}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________ test_url_no_content_in_response ________________________ [gw118] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_no_content_in_response():  """Test that URL mode elicitation responses don't include content field.""" > mcp = FastMCP(name="URLContentCheckServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272725999952}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ TestToolMetadata.test_metadata_with_annotations ________________ [gw72] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_metadata_with_annotations(self):  """Test that metadata and annotations can coexist."""  > app = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_tool_manager.py:794: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273083810128}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ test_elicit_url_typed_results _________________________ [gw84] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_elicit_url_typed_results():  """Test that elicit_url returns properly typed result objects.""" from mcp.server.elicitation import elicit_url  > mcp = FastMCP(name="TypedResultsServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:272: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273124327760}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________ test_streamable_http_no_redirect _______________________ [gw77] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python def test_streamable_http_no_redirect() -> None:  """Test that streamable HTTP routes are correctly configured.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1478: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272569975120}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________ TestServerPrompts.test_get_prompt_missing_args ________________ [gw1] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt_missing_args(self):  """Test error when required arguments are missing.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273376362832}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________ TestServerPrompts.test_get_prompt_with_description ______________ [gw25] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt_with_description(self):  """Test getting a prompt through MCP protocol.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272839442768}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ________________________ test_deprecated_elicit_method _________________________ [gw35] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_deprecated_elicit_method():  """Test the deprecated elicit() method for backward compatibility.""" from pydantic import BaseModel, Field  > mcp = FastMCP(name="DeprecatedElicitServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:334: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273550328144}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________ TestServerPrompts.test_list_prompts ______________________ [gw66] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_list_prompts(self):  """Test listing prompts through MCP protocol.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1347: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272575250768}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning __________________________ test_form_mode_still_works __________________________ [gw75] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_form_mode_still_works():  """Ensure form mode elicitation still works after SEP 1036.""" from pydantic import BaseModel, Field  > mcp = FastMCP(name="FormModeBackwardCompatServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272966271312}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________ test_url_elicitation_cancel __________________________ [gw29] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_url_elicitation_cancel():  """Test URL mode elicitation with user cancelling.""" > mcp = FastMCP(name="URLElicitationCancelServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:83: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272631824720}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________ test_fastmcp_server_lifespan _________________________ [gw125] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_fastmcp_server_lifespan():  """Test that lifespan works in FastMCP server."""  @asynccontextmanager async def test_lifespan(server: FastMCP) -> AsyncIterator[dict[str, bool]]:  """Test lifespan context that tracks startup/shutdown.""" context = {"started": False, "shutdown": False} try: context["started"] = True yield context finally: context["shutdown"] = True  > server = FastMCP("test", lifespan=test_lifespan) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/test_lifespan.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273533337936}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________ test_ctx_elicit_url_convenience_method ____________________ [gw112] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_ctx_elicit_url_convenience_method():  """Test the ctx.elicit_url() convenience method (vs ctx.session.elicit_url()).""" > mcp = FastMCP(name="CtxElicitUrlServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation.py:371: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272941154640}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________ test_normal_exceptions_still_return_error_result _______________ [gw92] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_normal_exceptions_still_return_error_result():  """Test that normal exceptions still return CallToolResult with isError=True.""" > mcp = FastMCP(name="NormalErrorServer") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tests/server/fastmcp/test_url_elicitation_error_throw.py:99: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273106846032}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ______________________ TestServerPrompts.test_get_prompt _______________________ [gw107] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python self = @pytest.mark.anyio async def test_get_prompt(self):  """Test getting a prompt through MCP protocol.""" > mcp = FastMCP() ^^^^^^^^^ tests/server/fastmcp/test_server.py:1369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273140449616}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________ test_direct_call_tool_result_return ______________________ [gw112] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_direct_call_tool_result_return():  """Test the CallToolResult echo server""" > from examples.fastmcp.direct_call_tool_result_return import mcp tests/test_examples.py:50: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ examples/fastmcp/direct_call_tool_result_return.py:12: in mcp = FastMCP("Echo Server") ^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272941154640}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _________________________________ test_desktop _________________________________ [gw92] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3f95282190> @pytest.mark.anyio async def test_desktop(monkeypatch: pytest.MonkeyPatch):  """Test the desktop server""" from pathlib import Path  from pydantic import AnyUrl  > from examples.fastmcp.desktop import mcp tests/test_examples.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ examples/fastmcp/desktop.py:12: in mcp = FastMCP("Demo") ^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273106846032}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _____________________________ test_complex_inputs ______________________________ [gw34] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_complex_inputs():  """Test the complex inputs server""" > from examples.fastmcp.complex_inputs import mcp tests/test_examples.py:33: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ examples/fastmcp/complex_inputs.py:13: in mcp = FastMCP("Shrimp Tank") ^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {272891871568}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning _______________________________ test_simple_echo _______________________________ [gw106] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python @pytest.mark.anyio async def test_simple_echo():  """Test the simple echo server""" > from examples.fastmcp.simple_echo import mcp tests/test_examples.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ examples/fastmcp/simple_echo.py:8: in mcp = FastMCP("Echo Server") ^^^^^^^^^^^^^^^^^^^^^^ test-env/lib/python3.14/site-packages/mcp/server/fastmcp/server.py:187: in __init__ self.settings = Settings( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:229: in __init__ else __pydantic_self__.__class__._settings_init_sources( /usr/lib/python3.14/site-packages/pydantic_settings/main.py:397: in _settings_init_sources default_settings = DefaultSettingsSource( /usr/lib/python3.14/site-packages/pydantic_settings/sources/base.py:287: in __init__ _warn_if_field_info_incomplete(field_info, field_name, self._init_state) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ field_info = FieldInfo(annotation=ForwardRef('Callable[[FastMCP[LifespanResultT]], AbstractAsyncContextManager[LifespanResultT]] | None', is_class=True), required=True) field_name = 'lifespan', init_state = {'field_info_ids': {273025024336}} def _warn_if_field_info_incomplete(field_info: FieldInfo, field_name: str, init_state: InitState) -> None:  """Warn if the field is incomplete, i.e. its annotation contains unresolved forward references.   An incomplete `FieldInfo` instance is unsafe to inspect — any of its attributes (annotation,  aliases, metadata, default) may rely on the unresolved annotation, so settings sources may  silently fail to resolve the field's value. Each instance is only warned about once per  `init_state`, so that a field accessed by multiple sources during a single settings  resolution doesn't emit duplicate warnings.  """ if getattr(field_info, '_complete', True): return warned_ids = init_state.setdefault('field_info_ids', set()) if id(field_info) in warned_ids: return warned_ids.add(id(field_info)) > warnings.warn( f'Field {field_name!r} has an incomplete definition: its annotation contains an unresolved ' 'forward reference, so settings sources may fail to correctly resolve its value. ' 'Call `model_rebuild()` on the model where the field is defined, once all the referenced ' 'types are defined.', IncompleteFieldDefinitionWarning, ) E pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifespan' has an incomplete definition: its annotation contains an unresolved forward reference, so settings sources may fail to correctly resolve its value. Call `model_rebuild()` on the model where the field is defined, once all the referenced types are defined. /usr/lib/python3.14/site-packages/pydantic_settings/sources/utils.py:47: IncompleteFieldDefinitionWarning ____________________________ test_command_execution ____________________________ [gw59] linux -- Python 3.14.7 /build/python-mcp/src/python-sdk/test-env/bin/python mock_config_path = PosixPath('/tmp/pytest-of-builduser/pytest-0/popen-gw59/test_command_execution0/Claude') def test_command_execution(mock_config_path: Path):  """Test that the generated command can actually be executed.""" # Setup server_name = "test_server" file_spec = "test_server.py:app"  # Update config success = update_claude_config(file_spec=file_spec, server_name=server_name) assert success  # Read the generated config config_file = mock_config_path / "claude_desktop_config.json" config = json.loads(config_file.read_text())  # Get the command and args server_config = config["mcpServers"][server_name] command = server_config["command"] args = server_config["args"]  test_args = [command] + args + ["--help"]  result = subprocess.run(test_args, capture_output=True, text=True, check=False)  > assert result.returncode == 0 E assert 1 == 0 E + where 1 = CompletedProcess(args=['/usr/bin/uv', 'run', '--frozen', '--with', 'mcp[cli]', 'mcp', 'run', '/build/python-mcp/src/python-sdk/test_server.py:app', '--help'], returncode=1, stdout='', stderr='Using CPython 3.14.7 interpreter at: /usr/bin/python3\nCreating virtual environment at: .venv\n Building mcp @ file:///build/python-mcp/src/python-sdk\nDownloading pygments (1.2MiB)\nDownloading mkdocs (3.7MiB)\nDownloading ruff (12.7MiB)\nDownloading babel (9.7MiB)\nDownloading pyright (5.6MiB)\nDownloading pydantic-core (2.0MiB)\nDownloading mkdocs-material (8.8MiB)\n Building markupsafe==3.0.2\n Building watchdog==6.0.0\n Downloaded pydantic-core\n Building cffi==2.0.0\n Downloaded pygments\n Building cryptography==45.0.5\n Building pyyaml==6.0.2\n Downloaded mkdocs\n Building selectolax==0.3.29\n Built watchdog==6.0.0\n Built mcp @ file:///build/python-mcp/src/python-sdk\n Downloaded babel\n Built markupsafe==3.0.2\n Downloaded ruff\n Downloaded pyright\n Building pillow==11.3.0\n Downloaded mkdocs-material\n × Failed to build `pillow==11.3.0`\n ├─▶ The build backend returned an error\n ╰─▶ Call to `backend.build_wheel` failed (exit status: 1)\n\n [...uild_meta.py",\n line 410, in _build_with_temp_dir\n self.run_setup()\n ~~~~~~~~~~~~~~^^\n File\n "/build/.cache/uv/sdists-v9/pypi/pillow/11.3.0/U8USmggu6JBPXci_/src/_custom_build/backend.py",\n line 20, in run_setup\n return super().run_setup(setup_script)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\n File\n "/build/.cache/uv/builds-v0/.tmp9ok7gE/lib/python3.14/site-packages/setuptools/build_meta.py",\n line 317, in run_setup\n exec(code, locals()) # noqa: S102 # exec is intentional here\n ~~~~^^^^^^^^^^^^^^^^\n File "", line 1108, in \n RequiredDependencyException:\n\n The headers or library files could not be found for jpeg,\n a required dependency when compiling Pillow from source.\n\n Please see the install instructions at:\n \n https://pillow.readthedocs.io/en/latest/installation/basic-installation.html\n\n\n\n\nhint: `pillow` (v11.3.0) was included because `mcp:docs` depends on `mkdocs-material[imaging]` (v9.6.19) which depends on `pillow`\nhint: Build failures usually indicate a problem with the package or the build environment\n').returncode tests/client/test_config.py:49: AssertionError =========================== short test summary info ============================ FAILED tests/client/test_sampling_callback.py::test_sampling_callback - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/client/test_logging_callback.py::test_logging_callback - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/client/test_list_roots_callback.py::test_list_roots_callback - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/client/test_sampling_callback.py::test_create_message_backwards_compat_single_content - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_129_resource_templates.py::test_resource_templates - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1338_icons_and_metadata.py::test_icons_and_website_url - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters_and_space - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_multiple_parameters - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_100_tool_listing.py::test_list_tools_returns_all_tools - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1338_icons_and_metadata.py::test_no_icons_or_website - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_with_parameters - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1754_mime_type_parameters.py::test_mime_type_preserved_in_read_resource - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_141_resource_templates.py::test_resource_template_client_interaction - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_141_resource_templates.py::test_resource_template_edge_cases - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_188_concurrency.py::test_messages_are_executed_concurrently_tools_and_resources - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_1338_icons_and_metadata.py::test_multiple_icons - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/issues/test_152_resource_mime_type.py::test_fastmcp_resource_mime_type - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/resources/test_resource_template.py::TestResourceTemplateAnnotations::test_template_annotations_in_fastmcp - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_with_both_audiences - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/resources/test_resources.py::TestResourceAnnotations::test_resource_annotations_in_fastmcp - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_enum_titles - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_optional_fields - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_schema_validation - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_elicitation_with_default_values - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_normalize_path - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_elicitation.py::test_stdio_elicitation_decline - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_starlette_routes_with_mount_path - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_exception_handling - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_add_tool - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_list - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_localhost - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_return_value_conversion - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.aac-audio/aac] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.wav-audio/wav] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_explicit_settings_not_overridden - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_parameter_descriptions.py::test_parameter_descriptions - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_ipv6_localhost - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.mp3-audio/mpeg] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_primitive - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_nonexistent_tool - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_non_ascii_description - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_text_resource - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_binary_resource - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.flac-audio/flac] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_binary - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_details - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_list_with_audio_and_image - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_sse_app_with_mount_path - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_basemodel - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_call_tool - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_typed - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_error_handling - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.m4a-audio/mp4] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.ogg-audio/ogg] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_remove_tool_and_call - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_matching_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_tool_decorator_incorrect_usage - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_image_helper - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_auto_enabled_for_127_0_0_1 - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_template_to_resource_conversion - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_file_resource_text - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_read_resource_returns_meta - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_template_decorator_with_metadata - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_untyped_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_mismatched_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_detection - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_suffix_detection[test.unknown-application/octet-stream] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_dict_str_any - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_create_server - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_mixed_content - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_server_side_validation_error - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_structured_output_list - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_name - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceMetadata::test_resource_decorator_with_metadata - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_without_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestDnsRebindingProtection::test_not_auto_enabled_for_other_hosts - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_error - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_list_tools - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_multiple_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_injection - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_mismatched_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_resource_access - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_prompt_decorator_with_description - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_async_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_context_custom_name - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServer::test_add_resource_decorator_incorrect_usage - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_without_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_with_uri_params - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_optional_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection_async - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResourceTemplates::test_resource_template_includes_mime_type - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_resource - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_context_logging - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestToolAnnotations::test_tool_annotations_in_fastmcp - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerResources::test_function_resource - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_injection - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_title.py::test_resource_title - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_title.py::test_prompt_title - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_resource_with_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerTools::test_tool_audio_helper - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_elicit_complete_notification - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_decline - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestContextInjection::test_prompt_with_context - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_helper_function - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_multiple_tools_with_different_metadata - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_from_error - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_fastmcp_decorator - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_in_list_tools - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_docstring_description - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_url_elicitation_error_thrown_from_tool - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_accept - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestContextHandling::test_context_error_handling - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_unknown_prompt - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::test_streamable_http_app_passes_the_configured_request_body_limit_to_its_manager - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_title.py::test_tool_title_precedence - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_without_description - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_no_content_in_response - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_tool_manager.py::TestToolMetadata::test_metadata_with_annotations - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_elicit_url_typed_results - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::test_streamable_http_no_redirect - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_missing_args - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt_with_description - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_deprecated_elicit_method - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_list_prompts - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_form_mode_still_works - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_url_elicitation_cancel - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/test_lifespan.py::test_fastmcp_server_lifespan - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation.py::test_ctx_elicit_url_convenience_method - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_url_elicitation_error_throw.py::test_normal_exceptions_still_return_error_result - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/server/fastmcp/test_server.py::TestServerPrompts::test_get_prompt - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/test_examples.py::test_direct_call_tool_result_return - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/test_examples.py::test_desktop - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/test_examples.py::test_complex_inputs - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/test_examples.py::test_simple_echo - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... FAILED tests/client/test_config.py::test_command_execution - assert 1 == 0 ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/issues/test_355_type_error.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/test_integration.py - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_tools] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_prompts-prompts/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_prompts-prompts/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_prompts] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_tools-tools/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_tools-tools/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resources] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resource_templates-resources/templates/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resource_templates-resources/templates/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_raises_error_when_both_cursor_and_params_provided[list_resource_templates] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_cursor_parameter[list_resources-resources/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_list_methods_cursor.py::test_list_methods_params_parameter[list_resources-resources/list] - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/servers/test_file_server.py::test_list_resources - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/servers/test_file_server.py::test_read_resource_dir - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/servers/test_file_server.py::test_delete_file_and_check_resources - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/servers/test_file_server.py::test_delete_file - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/server/fastmcp/servers/test_file_server.py::test_read_resource_file - pydantic_settings.exceptions.IncompleteFieldDefinitionWarning: Field 'lifes... ERROR tests/client/test_notification_response.py::test_non_compliant_notification_response - Failed: Server failed to start within 10 seconds = 142 failed, 971 passed, 95 skipped, 1 xfailed, 274 errors in 155.65s (0:02:35) = ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-5/build receiving incremental file list python-mcp-1.29.0-1-riscv64-build.log python-mcp-1.29.0-1-riscv64-check.log python-mcp-1.29.0-1-riscv64-prepare.log sent 81 bytes received 58,685 bytes 23,506.40 bytes/sec total size is 1,563,142 speedup is 26.60