fastmcp 2.12.0__py3-none-any.whl → 2.12.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ fastmcp/__init__.py,sha256=KX2d8UjlyJdYwock62tYV7vJSRwyxzrjq-jnU6Gre_c,1544
2
2
  fastmcp/exceptions.py,sha256=-krEavxwddQau6T7MESCR4VjKNLfP9KHJrU1p3y72FU,744
3
3
  fastmcp/mcp_config.py,sha256=zbli5c8hcUfxOlqYFBJXbogpVlXwtnCuJjTg3oTfmtQ,11375
4
4
  fastmcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- fastmcp/settings.py,sha256=zEJsQvp1xT__0ORrequ7CDktU3xt1FbSi_3CYREnMkQ,11589
5
+ fastmcp/settings.py,sha256=6m3rs7JQz8RN5rtFiRGCnb1K53Vt6588bF7zITRESK0,11982
6
6
  fastmcp/cli/__init__.py,sha256=Ii284TNoG5lxTP40ETMGhHEq3lQZWxu9m9JuU57kUpQ,87
7
7
  fastmcp/cli/claude.py,sha256=tGbJwLOW9BRfQ_VJ91Iz8HOiqKg0JKywzIJOijCHO78,4996
8
8
  fastmcp/cli/cli.py,sha256=sBwMOM_DHc90YOEWV94ikCjASBBKTbA1KmIElPVHBUg,28244
@@ -15,7 +15,7 @@ fastmcp/cli/install/mcp_json.py,sha256=RlGtDuqflPXWeENL8SyuCEytLRm17lHyBNQeud9l4
15
15
  fastmcp/cli/install/shared.py,sha256=_1MNGCqf7BsAL6ntwA75wn86-0g-248ppQSAPQ8uTXk,5103
16
16
  fastmcp/client/__init__.py,sha256=J-RcLU2WcnYnstXWoW01itGtAg7DEjvCsWyqQKQljoo,663
17
17
  fastmcp/client/client.py,sha256=N1UZopFOy5NwbWY55goqRKlkwqEgbk2UaF13EncJ1Ps,35190
18
- fastmcp/client/elicitation.py,sha256=Jf9yqna8R7r1hqedXAyh9a2-QNVzbCSKUDZhkFHqHqg,2403
18
+ fastmcp/client/elicitation.py,sha256=FKSJCQ9cZPFMC2V3e7VtrxNB9q22SoB5ou1lgjS8eCY,2445
19
19
  fastmcp/client/logging.py,sha256=uIC9aWGKqgTbxhRqkMBlnYfYjtanC1fqyWbRu5FY6AY,1670
20
20
  fastmcp/client/messages.py,sha256=NIPjt-5js_DkI5BD4OVdTf6pz-nGjc2dtbgt-vAY234,4329
21
21
  fastmcp/client/oauth_callback.py,sha256=qxSMg1duv_uCYbbNaiFjl9esSlWeiiHtYBWBdQcX27w,10248
@@ -25,7 +25,7 @@ fastmcp/client/sampling.py,sha256=TXRj1Fs9lOk1wukhaHhPS__HGqpTieXSq2Rasj1F-e0,18
25
25
  fastmcp/client/transports.py,sha256=7n0AnkCznQvQmck1luo3-cx1-IxVSSVihYOrgUmV8e8,38174
26
26
  fastmcp/client/auth/__init__.py,sha256=4DNsfp4iaQeBcpds0JDdMn6Mmfud44stWLsret0sVKY,91
27
27
  fastmcp/client/auth/bearer.py,sha256=MFEFqcH6u_V86msYiOsEFKN5ks1V9BnBNiPsPLHUTqo,399
28
- fastmcp/client/auth/oauth.py,sha256=BskbIkP-u7weoDRKOYR_sO-b_UvG63TuVX8UxHkCSNc,12756
28
+ fastmcp/client/auth/oauth.py,sha256=tZ3Q5p2jb1a6pkWXZif_6-b5sFvfPU23BPLd6_jI8rA,15810
29
29
  fastmcp/contrib/README.md,sha256=rKknYSI1T192UvSszqwwDlQ2eYQpxywrNTLoj177SYU,878
30
30
  fastmcp/contrib/bulk_tool_caller/README.md,sha256=5aUUY1TSFKtz1pvTLSDqkUCkGkuqMfMZNsLeaNqEgAc,1960
31
31
  fastmcp/contrib/bulk_tool_caller/__init__.py,sha256=xvGSSaUXTQrc31erBoi1Gh7BikgOliETDiYVTP3rLxY,75
@@ -41,9 +41,9 @@ fastmcp/contrib/mcp_mixin/__init__.py,sha256=aw9IQ1ssNjCgws4ZNt8bkdpossAAGVAwwjB
41
41
  fastmcp/contrib/mcp_mixin/example.py,sha256=GnunkXmtG5hLLTUsM8aW5ZURU52Z8vI4tNLl-fK7Dg0,1228
42
42
  fastmcp/contrib/mcp_mixin/mcp_mixin.py,sha256=sUSJ2o0sTsb061MyPN2xuYP0oI4W6YVQXupY3nnjD50,8687
43
43
  fastmcp/experimental/sampling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- fastmcp/experimental/sampling/handlers/__init__.py,sha256=3i8beo19l-kg-yP4eBOqmKzXitcTwyfoCNqYgHGxxUM,79
44
+ fastmcp/experimental/sampling/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
45
  fastmcp/experimental/sampling/handlers/base.py,sha256=mCPFj9ETc-Ro38R_pzx9rHVM2_EADCecScMkNWd6Tbs,714
46
- fastmcp/experimental/sampling/handlers/openai.py,sha256=O5AufLVtOtDKE6RuneHQVPplOTp15K0yrvmGW_QIznE,5532
46
+ fastmcp/experimental/sampling/handlers/openai.py,sha256=TUmIpao8LFz6BzXFG5v7JOS_CosgX6tCeGRUo1wdKvY,5753
47
47
  fastmcp/experimental/server/openapi/README.md,sha256=1Mc1Ur15OxMn-wAPEa1rZIiNNSMdv9sboQ3YpvNpUXM,9886
48
48
  fastmcp/experimental/server/openapi/__init__.py,sha256=f1Mc7dkuRRJb_6-3umSHuyuXtvXTzH72t8gw1GBHgZU,772
49
49
  fastmcp/experimental/server/openapi/components.py,sha256=jp5xy0xkn14cFRk9FYlp3LpW-j44C0KcXvMQmdWVpB8,13237
@@ -66,42 +66,41 @@ fastmcp/resources/resource_manager.py,sha256=sDfMrAx1cl2sTaKrTYW3k6gxr_O0QmH18n9
66
66
  fastmcp/resources/template.py,sha256=HXL_T1hUXMwv1h0962NTtszGY68R1TbumjJMvC0PjjU,11030
67
67
  fastmcp/resources/types.py,sha256=SiYNLnpXT-mHgNUrzqKUvXYUsY-V3gwJIrYdJfFwDDo,4868
68
68
  fastmcp/server/__init__.py,sha256=bMD4aQD4yJqLz7-mudoNsyeV8UgQfRAg3PRwPvwTEds,119
69
- fastmcp/server/context.py,sha256=vG3QIGjIpVexQC5wScGwcHwmTIgHYaGCZ-8aq1uwt2s,24412
70
- fastmcp/server/dependencies.py,sha256=1X-07RfaQ5MsEMeD-Hdqu0CSId5KbjwNHr_V2G6mlWE,3374
71
- fastmcp/server/elicitation.py,sha256=n_xEfhWa_IUZlnuo6maOrOfsWSi911jomgarRCokfyA,8735
72
- fastmcp/server/http.py,sha256=JMzRRQGMtX9yFHoQBQP0asJ6B0YmC-zM_yZ45GUCwQ4,11944
69
+ fastmcp/server/context.py,sha256=caj-K-bbuFZINiugGw6Uz2P6fcn7jJ17dvTCAY37wRQ,24454
70
+ fastmcp/server/dependencies.py,sha256=NDAQMAIgiWtLMkDS-oF8htoHpETilAZo1YawSDP5Lqg,3317
71
+ fastmcp/server/elicitation.py,sha256=gmP17CzLQVpGzU00Ks31TWxdS-OLL5wTX_W5xRzs1Cc,8777
72
+ fastmcp/server/http.py,sha256=dpSfE9VhilTjuz4BLh1MbdfHhMyDzWEi68GNjUZamTE,10665
73
73
  fastmcp/server/low_level.py,sha256=LNmc_nU_wx-fRG8OEHdLPKopZpovcrWlyAxJzKss3TA,1239
74
74
  fastmcp/server/openapi.py,sha256=-7-pKwQ1hT-UV9OnLlWrjbbXXRfZld8YJqa4Duybhtw,42102
75
75
  fastmcp/server/proxy.py,sha256=y9h-49PIBNRh03HI3HcrY_lL8AMbKv45fyr2mAz3Vyo,25734
76
- fastmcp/server/server.py,sha256=OiMPJTbrGkQ1gFq9xYVD0-mwJAD00ylmF8eUR_EgL_U,90411
76
+ fastmcp/server/server.py,sha256=JVGKi1uBsF3f3kHMQT2o0lxY-E76bbCFSuzz98Ume_M,90333
77
77
  fastmcp/server/auth/__init__.py,sha256=GwoyosVxuWCPzFHaCnj6iFp9fulnp124G2gQfsnzcgc,695
78
- fastmcp/server/auth/auth.py,sha256=pvasUsah0-noVI-TdOwYJdRTFncsWarVEdE2PC6MjGE,11042
79
- fastmcp/server/auth/oauth_proxy.py,sha256=snGhv3HXqM638ucpzcGl97_mEQxPNYcReezQ1CdiYR8,44565
78
+ fastmcp/server/auth/auth.py,sha256=373WvHAh-Vt6ktWa_xeW9Ci2WUB9KUwvhN848qNs6IE,12788
79
+ fastmcp/server/auth/oauth_proxy.py,sha256=SxnO-K3P6UPR_uS5e63NYwWJ0V0ZY5UF9MGJX6UL4q0,40433
80
80
  fastmcp/server/auth/redirect_validation.py,sha256=Jlhela9xpTbw4aWnQ04A5Z-TW0HYOC3f9BMsq3NXx1Q,2000
81
- fastmcp/server/auth/registry.py,sha256=bGbQ2JgKxAMfa509FFpRTjgGzcWPGiwEH4bE0OVmy9M,1301
82
81
  fastmcp/server/auth/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
- fastmcp/server/auth/providers/azure.py,sha256=X0drKUhiV0D3zN_ZRw1w_UwKaJXsQkp7hhEWXlYB9pM,10598
82
+ fastmcp/server/auth/providers/azure.py,sha256=obQKR_M9XTjfZrqhzmfhRhCc4x4MPbF7uErDmWamSXQ,9940
84
83
  fastmcp/server/auth/providers/bearer.py,sha256=iu4pUj7TF5pT1wPuAGzDuM6lt5WtzenBN3c0otUleQY,923
85
- fastmcp/server/auth/providers/github.py,sha256=vNPvPsfahlA5VV-Kk2Y98RwyQ9YGP5-6LD1_IShVWRM,11306
86
- fastmcp/server/auth/providers/google.py,sha256=NQvBX27zpFYHhcOtKquI7U7D9xmVx3jK143eEwKYVrk,12275
87
- fastmcp/server/auth/providers/in_memory.py,sha256=tlUwbUZK5stUC_wjezcDs61PxjaHjykXbd8aH0cnW6k,14359
88
- fastmcp/server/auth/providers/jwt.py,sha256=ISB8NfvUMq0pxnJTF65l5EnKrB0hJaQ0_GCr4ZbnjfU,19698
89
- fastmcp/server/auth/providers/workos.py,sha256=UmJbFQNCURGRS-6aRvWa8bs6KvkVpqQiah5vVBuzEBM,15842
84
+ fastmcp/server/auth/providers/github.py,sha256=mGszC3iqp_OZTIShFgSEA3vBaXjpQ1v3ECqMn-3Gxq4,10575
85
+ fastmcp/server/auth/providers/google.py,sha256=YvdS-QSdJMvVYVpYS5khZjE6ztv3EuTlXuoqpjsTPXI,11749
86
+ fastmcp/server/auth/providers/in_memory.py,sha256=CFCfYWMIPUxHNF5Liqud6ksedbykKV-RILWZqTxh3MY,14245
87
+ fastmcp/server/auth/providers/jwt.py,sha256=hAV_QXIoD4wotW6iWm0k378_mjMtkwWVqWEp6Zc--HE,19525
88
+ fastmcp/server/auth/providers/workos.py,sha256=1yUc8YrMIHCGeHySYkm0Xa7xtP3x4ukqLrlWl67SNnE,15422
90
89
  fastmcp/server/middleware/__init__.py,sha256=vh5C9ubN6q-y5QND32P4mQ4zDT89C7XYK39yqhELNAk,155
91
90
  fastmcp/server/middleware/error_handling.py,sha256=SoDatr9i3T2qSIUbSEGWrOnu4WPPyMDymnsF5GR_BiE,7572
92
91
  fastmcp/server/middleware/logging.py,sha256=ZXAT4Zc_I9Y_vWqHGiDmJFtXzijPJTrmCqz5JcJZvrg,7739
93
- fastmcp/server/middleware/middleware.py,sha256=9_4zjkVVIa6pfUTHq57gKGxRDiIU-xKrGT8FlkHOKiU,6020
92
+ fastmcp/server/middleware/middleware.py,sha256=i650qPrbESjLlOqbQYkV_Pz7NuS-vahe4O3FtOKMMno,6071
94
93
  fastmcp/server/middleware/rate_limiting.py,sha256=VTrCoQFmWCm0BxwOrNfG21CBFDDOKJT7IiSEjpJgmPA,7921
95
94
  fastmcp/server/middleware/timing.py,sha256=lL_xc-ErLD5lplfvd5-HIyWEbZhgNBYkcQ74KFXAMkA,5591
96
95
  fastmcp/server/sampling/handler.py,sha256=yjLzvxlGllE-EY4bc6djsijEmwMT24PCpV6vJl-sPcI,580
97
96
  fastmcp/tools/__init__.py,sha256=vzqb-Y7Kf0d5T0aOsld-O-FA8kD7-4uFExChewFHEzY,201
98
- fastmcp/tools/tool.py,sha256=7azZv47mKDVcJy5vlzppFLScdXGzi-r-qXh0y8gSA44,19237
97
+ fastmcp/tools/tool.py,sha256=Q49E6L7Mx6v-VB9kru7CJVBM5_aF6V1Nti89scRv8Jc,19275
99
98
  fastmcp/tools/tool_manager.py,sha256=xOm5XFbygUg2cW8jIiwhsgAdUA14wDMoUIvkWKL3LOU,9186
100
99
  fastmcp/tools/tool_transform.py,sha256=Mga202SjKhdMglhEXSPBi4dhq1bevfdsU5Rt21KVyZo,38447
101
100
  fastmcp/utilities/__init__.py,sha256=-imJ8S-rXmbXMWeDamldP-dHDqAPg_wwmPVz-LNX14E,31
102
101
  fastmcp/utilities/auth.py,sha256=ZVHkNb4YBpLE1EmmFyhvFB2qfWDZdEYNH9TRI9jylOE,1140
103
102
  fastmcp/utilities/cli.py,sha256=NZbERkcatjKxgyE0sFT6g6tghhWkzz0QTI2u_LaQGXo,8662
104
- fastmcp/utilities/components.py,sha256=r2t_1rNlaQZh1KvcnhCFR0pNzmncMgS5IA6cwIV4WEQ,5789
103
+ fastmcp/utilities/components.py,sha256=ZZQuseI_880WjQZAXYPhCi70u8-bBANYgZHj1u67Nks,5802
105
104
  fastmcp/utilities/exceptions.py,sha256=7Z9j5IzM5rT27BC1Mcn8tkS-bjqCYqMKwb2MMTaxJYU,1350
106
105
  fastmcp/utilities/http.py,sha256=1ns1ymBS-WSxbZjGP6JYjSO52Wa_ls4j4WbnXiupoa4,245
107
106
  fastmcp/utilities/inspect.py,sha256=UYQtU1gT_4iKev9iDjFHor61dHdPGugDplUq2ZsQS40,15575
@@ -111,10 +110,10 @@ fastmcp/utilities/logging.py,sha256=O_TsD5x8BPRRQ-xAa2CZlpKfRjipkpvdg6w6invBZVY,
111
110
  fastmcp/utilities/mcp_config.py,sha256=qATTXMGiYET-7PflOixQOgiw3aOizX-RlloRjAo7nwI,1796
112
111
  fastmcp/utilities/openapi.py,sha256=mfkY2XfWAmAOlKexArlrmDdD0Tkdqcn4TshsATaxB_o,63304
113
112
  fastmcp/utilities/tests.py,sha256=TRMIfcdSJWlHRA4mQSYu3OXlxnvqRYKhcJXEYG5BkYA,6403
114
- fastmcp/utilities/types.py,sha256=MWDF4YIyGUY7t_D6HBzRBU8FsMktuKmt2drNXADLPIc,14424
113
+ fastmcp/utilities/types.py,sha256=G60OPTub4ID2GQwxfIgR38PEyF7CaxLPZ-PfWkXberA,14462
115
114
  fastmcp/utilities/mcp_server_config/__init__.py,sha256=qbfd0c6aBpi0_SVgwt4IQCQ9siqqxmr9PWSYGiPDJqE,791
116
115
  fastmcp/utilities/mcp_server_config/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py,sha256=pdz1bo2ZSC-c-RmBu2dwOQBXOxGhamRk_q-90j77Hhw,15309
116
+ fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py,sha256=xP4yl04ZBmmoiDFDi10YRe9JZvTuFmDGAFogL3CC730,15311
118
117
  fastmcp/utilities/mcp_server_config/v1/schema.json,sha256=Vrm7vOWtVcDyT1aUPXlcy916JXXSpCOcVygD5SYLUQU,8469
119
118
  fastmcp/utilities/mcp_server_config/v1/environments/__init__.py,sha256=Tkv0dmJ6tKKotOBo-tho09QVdvEjy37iBsvBbEwH0EA,256
120
119
  fastmcp/utilities/mcp_server_config/v1/environments/base.py,sha256=FkrUsESEdW5akyn_FeR4tQB6Vlj7dO9VFcCj0YLCghQ,845
@@ -122,8 +121,8 @@ fastmcp/utilities/mcp_server_config/v1/environments/uv.py,sha256=LZR9R5XjpIQZzbj
122
121
  fastmcp/utilities/mcp_server_config/v1/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
122
  fastmcp/utilities/mcp_server_config/v1/sources/base.py,sha256=KWunc5peDLFdSdLX8l3UI9SNxtN-KNq2FOXAZ7XD62c,980
124
123
  fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py,sha256=eFX47XNXz2oKHW8MZvx60dqyHkBxdg2FMOrHcyAS28g,8106
125
- fastmcp-2.12.0.dist-info/METADATA,sha256=RQFKAdKkhN31y180nCckV3e5t1pLjvaXXxiMc3S62K8,17876
126
- fastmcp-2.12.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
127
- fastmcp-2.12.0.dist-info/entry_points.txt,sha256=ff8bMtKX1JvXyurMibAacMSKbJEPmac9ffAKU9mLnM8,44
128
- fastmcp-2.12.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
129
- fastmcp-2.12.0.dist-info/RECORD,,
124
+ fastmcp-2.12.1.dist-info/METADATA,sha256=qGL0ucEimvm8yVPb_m8A_9_uppLm04V98TvM691mYh8,17919
125
+ fastmcp-2.12.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
126
+ fastmcp-2.12.1.dist-info/entry_points.txt,sha256=ff8bMtKX1JvXyurMibAacMSKbJEPmac9ffAKU9mLnM8,44
127
+ fastmcp-2.12.1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
128
+ fastmcp-2.12.1.dist-info/RECORD,,
@@ -1,52 +0,0 @@
1
- """Provider registry for FastMCP auth providers."""
2
-
3
- from __future__ import annotations
4
-
5
- from collections.abc import Callable
6
- from typing import TYPE_CHECKING, TypeVar
7
-
8
- if TYPE_CHECKING:
9
- from fastmcp.server.auth import AuthProvider
10
-
11
- # Type variable for auth providers
12
- T = TypeVar("T", bound="AuthProvider")
13
-
14
-
15
- # Provider Registry
16
- _PROVIDER_REGISTRY: dict[str, type[AuthProvider]] = {}
17
-
18
-
19
- def register_provider(name: str) -> Callable[[type[T]], type[T]]:
20
- """Decorator to register an auth provider with a given name.
21
-
22
- Args:
23
- name: The name to register the provider under (e.g., 'AUTHKIT')
24
-
25
- Returns:
26
- The decorated class
27
-
28
- Example:
29
- @register_provider('AUTHKIT')
30
- class AuthKitProvider(AuthProvider):
31
- ...
32
- """
33
-
34
- def decorator(cls: type[T]) -> type[T]:
35
- _PROVIDER_REGISTRY[name.upper()] = cls
36
- return cls
37
-
38
- return decorator
39
-
40
-
41
- def get_registered_provider(name: str) -> type[AuthProvider]:
42
- """Get a registered provider by name.
43
-
44
- Args:
45
- name: The provider name (case-insensitive)
46
-
47
- Returns:
48
- The provider class if found, None otherwise
49
- """
50
- if name.upper() in _PROVIDER_REGISTRY:
51
- return _PROVIDER_REGISTRY[name.upper()]
52
- raise ValueError(f"Provider {name!r} has not been registered.")