fastmcp 2.8.1__py3-none-any.whl → 2.9.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.
- fastmcp/cli/cli.py +99 -1
- fastmcp/cli/run.py +1 -3
- fastmcp/client/auth/oauth.py +1 -2
- fastmcp/client/client.py +23 -7
- fastmcp/client/logging.py +1 -2
- fastmcp/client/messages.py +126 -0
- fastmcp/client/transports.py +17 -2
- fastmcp/contrib/mcp_mixin/README.md +79 -2
- fastmcp/contrib/mcp_mixin/mcp_mixin.py +14 -0
- fastmcp/prompts/prompt.py +109 -13
- fastmcp/prompts/prompt_manager.py +119 -43
- fastmcp/resources/resource.py +27 -1
- fastmcp/resources/resource_manager.py +249 -76
- fastmcp/resources/template.py +44 -2
- fastmcp/server/auth/providers/bearer.py +62 -13
- fastmcp/server/context.py +113 -10
- fastmcp/server/http.py +8 -0
- fastmcp/server/low_level.py +35 -0
- fastmcp/server/middleware/__init__.py +6 -0
- fastmcp/server/middleware/error_handling.py +206 -0
- fastmcp/server/middleware/logging.py +165 -0
- fastmcp/server/middleware/middleware.py +236 -0
- fastmcp/server/middleware/rate_limiting.py +231 -0
- fastmcp/server/middleware/timing.py +156 -0
- fastmcp/server/proxy.py +250 -140
- fastmcp/server/server.py +446 -280
- fastmcp/settings.py +2 -2
- fastmcp/tools/tool.py +22 -2
- fastmcp/tools/tool_manager.py +114 -45
- fastmcp/tools/tool_transform.py +42 -16
- fastmcp/utilities/components.py +22 -2
- fastmcp/utilities/inspect.py +326 -0
- fastmcp/utilities/json_schema.py +67 -23
- fastmcp/utilities/mcp_config.py +13 -7
- fastmcp/utilities/openapi.py +75 -5
- fastmcp/utilities/tests.py +1 -1
- fastmcp/utilities/types.py +90 -1
- {fastmcp-2.8.1.dist-info → fastmcp-2.9.1.dist-info}/METADATA +2 -2
- fastmcp-2.9.1.dist-info/RECORD +78 -0
- fastmcp-2.8.1.dist-info/RECORD +0 -69
- {fastmcp-2.8.1.dist-info → fastmcp-2.9.1.dist-info}/WHEEL +0 -0
- {fastmcp-2.8.1.dist-info → fastmcp-2.9.1.dist-info}/entry_points.txt +0 -0
- {fastmcp-2.8.1.dist-info → fastmcp-2.9.1.dist-info}/licenses/LICENSE +0 -0
fastmcp/utilities/types.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import base64
|
|
4
4
|
import inspect
|
|
5
|
+
import mimetypes
|
|
5
6
|
from collections.abc import Callable
|
|
6
7
|
from functools import lru_cache
|
|
7
8
|
from pathlib import Path
|
|
@@ -11,11 +12,13 @@ from typing import Annotated, TypeAlias, TypeVar, Union, get_args, get_origin
|
|
|
11
12
|
from mcp.types import (
|
|
12
13
|
Annotations,
|
|
13
14
|
AudioContent,
|
|
15
|
+
BlobResourceContents,
|
|
14
16
|
EmbeddedResource,
|
|
15
17
|
ImageContent,
|
|
16
18
|
TextContent,
|
|
19
|
+
TextResourceContents, # Added import
|
|
17
20
|
)
|
|
18
|
-
from pydantic import BaseModel, ConfigDict, TypeAdapter
|
|
21
|
+
from pydantic import AnyUrl, BaseModel, ConfigDict, TypeAdapter, UrlConstraints
|
|
19
22
|
|
|
20
23
|
T = TypeVar("T")
|
|
21
24
|
|
|
@@ -203,3 +206,89 @@ class Audio:
|
|
|
203
206
|
mimeType=mime_type or self._mime_type,
|
|
204
207
|
annotations=annotations or self.annotations,
|
|
205
208
|
)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
class File:
|
|
212
|
+
"""Helper class for returning audio from tools."""
|
|
213
|
+
|
|
214
|
+
def __init__(
|
|
215
|
+
self,
|
|
216
|
+
path: str | Path | None = None,
|
|
217
|
+
data: bytes | None = None,
|
|
218
|
+
format: str | None = None,
|
|
219
|
+
name: str | None = None,
|
|
220
|
+
annotations: Annotations | None = None,
|
|
221
|
+
):
|
|
222
|
+
if path is None and data is None:
|
|
223
|
+
raise ValueError("Either path or data must be provided")
|
|
224
|
+
if path is not None and data is not None:
|
|
225
|
+
raise ValueError("Only one of path or data can be provided")
|
|
226
|
+
|
|
227
|
+
self.path = Path(path) if path else None
|
|
228
|
+
self.data = data
|
|
229
|
+
self._format = format
|
|
230
|
+
self._mime_type = self._get_mime_type()
|
|
231
|
+
self._name = name
|
|
232
|
+
self.annotations = annotations
|
|
233
|
+
|
|
234
|
+
def _get_mime_type(self) -> str:
|
|
235
|
+
"""Get MIME type from format or guess from file extension."""
|
|
236
|
+
if self._format:
|
|
237
|
+
fmt = self._format.lower()
|
|
238
|
+
# Map common text formats to text/plain
|
|
239
|
+
if fmt in {"plain", "txt", "text"}:
|
|
240
|
+
return "text/plain"
|
|
241
|
+
return f"application/{fmt}"
|
|
242
|
+
|
|
243
|
+
if self.path:
|
|
244
|
+
mime_type, _ = mimetypes.guess_type(self.path)
|
|
245
|
+
if mime_type:
|
|
246
|
+
return mime_type
|
|
247
|
+
|
|
248
|
+
return "application/octet-stream"
|
|
249
|
+
|
|
250
|
+
def to_resource_content(
|
|
251
|
+
self,
|
|
252
|
+
mime_type: str | None = None,
|
|
253
|
+
annotations: Annotations | None = None,
|
|
254
|
+
) -> EmbeddedResource:
|
|
255
|
+
if self.path:
|
|
256
|
+
with open(self.path, "rb") as f:
|
|
257
|
+
raw_data = f.read()
|
|
258
|
+
uri_str = self.path.resolve().as_uri()
|
|
259
|
+
elif self.data is not None:
|
|
260
|
+
raw_data = self.data
|
|
261
|
+
if self._name:
|
|
262
|
+
uri_str = f"file:///{self._name}.{self._mime_type.split('/')[1]}"
|
|
263
|
+
else:
|
|
264
|
+
uri_str = f"file:///resource.{self._mime_type.split('/')[1]}"
|
|
265
|
+
else:
|
|
266
|
+
raise ValueError("No resource data available")
|
|
267
|
+
|
|
268
|
+
mime = mime_type or self._mime_type
|
|
269
|
+
UriType = Annotated[AnyUrl, UrlConstraints(host_required=False)]
|
|
270
|
+
uri = TypeAdapter(UriType).validate_python(uri_str)
|
|
271
|
+
|
|
272
|
+
if mime.startswith("text/"):
|
|
273
|
+
try:
|
|
274
|
+
text = raw_data.decode("utf-8")
|
|
275
|
+
except UnicodeDecodeError:
|
|
276
|
+
text = raw_data.decode("latin-1")
|
|
277
|
+
resource = TextResourceContents(
|
|
278
|
+
text=text,
|
|
279
|
+
mimeType=mime,
|
|
280
|
+
uri=uri,
|
|
281
|
+
)
|
|
282
|
+
else:
|
|
283
|
+
data = base64.b64encode(raw_data).decode()
|
|
284
|
+
resource = BlobResourceContents(
|
|
285
|
+
blob=data,
|
|
286
|
+
mimeType=mime,
|
|
287
|
+
uri=uri,
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
return EmbeddedResource(
|
|
291
|
+
type="resource",
|
|
292
|
+
resource=resource,
|
|
293
|
+
annotations=annotations or self.annotations,
|
|
294
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastmcp
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.9.1
|
|
4
4
|
Summary: The fast, Pythonic way to build MCP servers.
|
|
5
5
|
Project-URL: Homepage, https://gofastmcp.com
|
|
6
6
|
Project-URL: Repository, https://github.com/jlowin/fastmcp
|
|
@@ -380,7 +380,7 @@ mcp.run(transport="stdio") # Default, so transport argument is optional
|
|
|
380
380
|
**Streamable HTTP**: Recommended for web deployments.
|
|
381
381
|
|
|
382
382
|
```python
|
|
383
|
-
mcp.run(transport="
|
|
383
|
+
mcp.run(transport="http", host="127.0.0.1", port=8000, path="/mcp")
|
|
384
384
|
```
|
|
385
385
|
|
|
386
386
|
**SSE**: For compatibility with existing SSE clients.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
fastmcp/__init__.py,sha256=5ChT4kg3srdFl0-9dZekGqpzCESlpc6ohrfPbWf1aTo,1300
|
|
2
|
+
fastmcp/exceptions.py,sha256=-krEavxwddQau6T7MESCR4VjKNLfP9KHJrU1p3y72FU,744
|
|
3
|
+
fastmcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
fastmcp/settings.py,sha256=2IgZ2cOiwr_bVWkFgY4BZxDKFnayZpCN4q3iT_FEfyE,9011
|
|
5
|
+
fastmcp/cli/__init__.py,sha256=Ii284TNoG5lxTP40ETMGhHEq3lQZWxu9m9JuU57kUpQ,87
|
|
6
|
+
fastmcp/cli/claude.py,sha256=IAlcZ4qZKBBj09jZUMEx7EANZE_IR3vcu7zOBJmMOuU,4567
|
|
7
|
+
fastmcp/cli/cli.py,sha256=598s1S-KdqIB85mwqvXJaBVen6xYY65ek4v-q3lmY4k,15933
|
|
8
|
+
fastmcp/cli/run.py,sha256=Pw3vH5wKRHfbmHRn0saIbC4l450KPOzeQbzPFqG4AbY,6208
|
|
9
|
+
fastmcp/client/__init__.py,sha256=kd2hhSuD8rZuF87c9zlPJP_icJ-Rx3exyNoK0EzfOtE,617
|
|
10
|
+
fastmcp/client/client.py,sha256=BmWALAw1PgJGm3Gokpsc0vSamqYES2jM2egEo6q4JHk,25664
|
|
11
|
+
fastmcp/client/logging.py,sha256=7GJ-BLFW16_IOJPlGTNEWPP0P-yqqRpmsLdiKrlVsw8,757
|
|
12
|
+
fastmcp/client/messages.py,sha256=NIPjt-5js_DkI5BD4OVdTf6pz-nGjc2dtbgt-vAY234,4329
|
|
13
|
+
fastmcp/client/oauth_callback.py,sha256=ODAnVX-ettL82RuI5KpfkKf8iDtYMDue3Tnab5sjQtM,10071
|
|
14
|
+
fastmcp/client/progress.py,sha256=WjLLDbUKMsx8DK-fqO7AGsXb83ak-6BMrLvzzznGmcI,1043
|
|
15
|
+
fastmcp/client/roots.py,sha256=IxI_bHwHTmg6c2H-s1av1ZgrRnNDieHtYwdGFbzXT5c,2471
|
|
16
|
+
fastmcp/client/sampling.py,sha256=Q8PzYCERa1W3xGGI9I9QOhhDM-M4i3P5lESb0cp2iI8,1595
|
|
17
|
+
fastmcp/client/transports.py,sha256=K_5hBTGuJ7iuseQ4Hkjl1ypgdJwZ-Sdt0xgxxEy1W7w,33472
|
|
18
|
+
fastmcp/client/auth/__init__.py,sha256=4DNsfp4iaQeBcpds0JDdMn6Mmfud44stWLsret0sVKY,91
|
|
19
|
+
fastmcp/client/auth/bearer.py,sha256=MFEFqcH6u_V86msYiOsEFKN5ks1V9BnBNiPsPLHUTqo,399
|
|
20
|
+
fastmcp/client/auth/oauth.py,sha256=Gu0P4M6875dinVNqjczcJsJJIJNrkoA7UqrSx5NuuwE,14692
|
|
21
|
+
fastmcp/contrib/README.md,sha256=rKknYSI1T192UvSszqwwDlQ2eYQpxywrNTLoj177SYU,878
|
|
22
|
+
fastmcp/contrib/bulk_tool_caller/README.md,sha256=5aUUY1TSFKtz1pvTLSDqkUCkGkuqMfMZNsLeaNqEgAc,1960
|
|
23
|
+
fastmcp/contrib/bulk_tool_caller/__init__.py,sha256=xvGSSaUXTQrc31erBoi1Gh7BikgOliETDiYVTP3rLxY,75
|
|
24
|
+
fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py,sha256=2NcrGS59qvHo1lfbRaT8NSWfCxN66knciLxFvnGwCLY,4165
|
|
25
|
+
fastmcp/contrib/bulk_tool_caller/example.py,sha256=6og_8pCJN_CabworC5R82zPAwwwM-W7HNJLQQSnS3lU,319
|
|
26
|
+
fastmcp/contrib/mcp_mixin/README.md,sha256=X6rzt_4vC_rmq9jbHmrVPqYLGVVlw9b4TVL4H_0SMmQ,4277
|
|
27
|
+
fastmcp/contrib/mcp_mixin/__init__.py,sha256=aw9IQ1ssNjCgws4ZNt8bkdpossAAGVAwwjBpMp9O5ZQ,153
|
|
28
|
+
fastmcp/contrib/mcp_mixin/example.py,sha256=GnunkXmtG5hLLTUsM8aW5ZURU52Z8vI4tNLl-fK7Dg0,1228
|
|
29
|
+
fastmcp/contrib/mcp_mixin/mcp_mixin.py,sha256=sUSJ2o0sTsb061MyPN2xuYP0oI4W6YVQXupY3nnjD50,8687
|
|
30
|
+
fastmcp/prompts/__init__.py,sha256=An8uMBUh9Hrb7qqcn_5_Hent7IOeSh7EA2IUVsIrtHc,179
|
|
31
|
+
fastmcp/prompts/prompt.py,sha256=dtJgKPXL8Yj_rRPy9Oy_6ZQn3IaX2tqieqQ0vIk7xiU,13725
|
|
32
|
+
fastmcp/prompts/prompt_manager.py,sha256=Pt9cg_c9FR2EA0ITIHJT5Utihkd383JzhqhT-y2VnKo,7677
|
|
33
|
+
fastmcp/resources/__init__.py,sha256=y1iAuqx-GIrS1NqIYzKezIDiYyjNEzzHD35epHpMnXE,463
|
|
34
|
+
fastmcp/resources/resource.py,sha256=aiM0T61-P_GcLboIhWC16VPceWomDY4CTHIcIoAUqOY,5896
|
|
35
|
+
fastmcp/resources/resource_manager.py,sha256=zjhso9ZP0EK_beTpUz_amqJ7XSABqU8mqPSk-JturOE,19777
|
|
36
|
+
fastmcp/resources/template.py,sha256=hf5cPEz3aSky1wPjGSEz9npnJNcMcfOZxYhG-v99FXs,10195
|
|
37
|
+
fastmcp/resources/types.py,sha256=SiYNLnpXT-mHgNUrzqKUvXYUsY-V3gwJIrYdJfFwDDo,4868
|
|
38
|
+
fastmcp/server/__init__.py,sha256=bMD4aQD4yJqLz7-mudoNsyeV8UgQfRAg3PRwPvwTEds,119
|
|
39
|
+
fastmcp/server/context.py,sha256=425vsDfoiTJ5wVbRdq_eqYr_RkrNqSwFH8YJpENWewY,14525
|
|
40
|
+
fastmcp/server/dependencies.py,sha256=iKJdz1XsVJcrfHo_reXj9ZSldw-HeAwsp9S6lAgfGA8,2358
|
|
41
|
+
fastmcp/server/http.py,sha256=gwovXTVKd7UR_mrbMP3WI3eaxFKvZcxwjm3RwKxL6wU,12055
|
|
42
|
+
fastmcp/server/low_level.py,sha256=yPusWSidyEzDbrB9kBfXkARBc4pc523KFqYxLuR64Ww,1184
|
|
43
|
+
fastmcp/server/openapi.py,sha256=rF8umkOQGLejDVH7Ef36QdMmjv6zwPB5tmkgmQscM7A,39539
|
|
44
|
+
fastmcp/server/proxy.py,sha256=nz8DSDMd3LWDgtI2a3l3-EYn2i45wvgxx7zdLMs8C84,14944
|
|
45
|
+
fastmcp/server/server.py,sha256=6ds3Z5ruJn5tth0Cg7hP-U1i27AVS9uDoiq00vpCvXI,78824
|
|
46
|
+
fastmcp/server/auth/__init__.py,sha256=doHCLwOIElvH1NrTdpeP9JKfnNf3MDYPSpQfdsQ-uI0,84
|
|
47
|
+
fastmcp/server/auth/auth.py,sha256=kz02HGwXYU0N0clURZDjFNWdKSpTYmgmCnGJN-jSG3Y,1640
|
|
48
|
+
fastmcp/server/auth/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
fastmcp/server/auth/providers/bearer.py,sha256=lRtElzrFw23ZXD_eukqCtGNBxKQhKLwO9v-UE-HT3yU,15232
|
|
50
|
+
fastmcp/server/auth/providers/bearer_env.py,sha256=zHbJmzT6RhEW9tGG-_aRACQ_t0GwXCvKEAnKQLCO9mY,1892
|
|
51
|
+
fastmcp/server/auth/providers/in_memory.py,sha256=_8hRo6KZEVqsSSMNxpseJH48LZEywF4uZ687XuOmqYw,13772
|
|
52
|
+
fastmcp/server/middleware/__init__.py,sha256=sKrgbpTlaVdzg_bL8ZI5SGf7EceVqqFUcUr9rvt1r08,112
|
|
53
|
+
fastmcp/server/middleware/error_handling.py,sha256=SoDatr9i3T2qSIUbSEGWrOnu4WPPyMDymnsF5GR_BiE,7572
|
|
54
|
+
fastmcp/server/middleware/logging.py,sha256=igGYQiQ7zvkbhN35kU9LWT7-0cSpH7V-31m6yg6ddSc,5732
|
|
55
|
+
fastmcp/server/middleware/middleware.py,sha256=v6nKcphMhCxwDvbtffPYHHl-WYr9V09czaBRNi-ebqI,6882
|
|
56
|
+
fastmcp/server/middleware/rate_limiting.py,sha256=VTrCoQFmWCm0BxwOrNfG21CBFDDOKJT7IiSEjpJgmPA,7921
|
|
57
|
+
fastmcp/server/middleware/timing.py,sha256=lL_xc-ErLD5lplfvd5-HIyWEbZhgNBYkcQ74KFXAMkA,5591
|
|
58
|
+
fastmcp/tools/__init__.py,sha256=vzqb-Y7Kf0d5T0aOsld-O-FA8kD7-4uFExChewFHEzY,201
|
|
59
|
+
fastmcp/tools/tool.py,sha256=sG102iHn7iM58sGXFJ8CIfjUHRyEhh2fxnzgcrZBBSc,11734
|
|
60
|
+
fastmcp/tools/tool_manager.py,sha256=TGO17cs9A2CGVnNk6RViu9dgPN8xYQE0x1c8JBfIbgc,7780
|
|
61
|
+
fastmcp/tools/tool_transform.py,sha256=pXuYLdRjiutPlil88wssUSiqnit7hHz_51ELY_6EU6E,28001
|
|
62
|
+
fastmcp/utilities/__init__.py,sha256=-imJ8S-rXmbXMWeDamldP-dHDqAPg_wwmPVz-LNX14E,31
|
|
63
|
+
fastmcp/utilities/cache.py,sha256=aV3oZ-ZhMgLSM9iAotlUlEy5jFvGXrVo0Y5Bj4PBtqY,707
|
|
64
|
+
fastmcp/utilities/components.py,sha256=JhXTFWQ2lUe5h2eDVKQLVWnVfvQ77iCbBxE4CYQEuTs,2382
|
|
65
|
+
fastmcp/utilities/exceptions.py,sha256=7Z9j5IzM5rT27BC1Mcn8tkS-bjqCYqMKwb2MMTaxJYU,1350
|
|
66
|
+
fastmcp/utilities/http.py,sha256=1ns1ymBS-WSxbZjGP6JYjSO52Wa_ls4j4WbnXiupoa4,245
|
|
67
|
+
fastmcp/utilities/inspect.py,sha256=XNA0dfYM5G-FVbJaVJO8loSUUCNypyLA-QjqTOneJyU,10833
|
|
68
|
+
fastmcp/utilities/json_schema.py,sha256=K0QH5UazBD_tweBi-TguWYjUu5Lgp9wcM-wT42Fet5w,5022
|
|
69
|
+
fastmcp/utilities/logging.py,sha256=B1WNO-ZWFjd9wiFSh13YtW1hAKaNmbpscDZleIAhr-g,1317
|
|
70
|
+
fastmcp/utilities/mcp_config.py,sha256=ryjAfJUPquDSoKdSymPH4M2B0WvuM3pWUGI3cOgAX80,2782
|
|
71
|
+
fastmcp/utilities/openapi.py,sha256=llB7T0x3QI0VlPNiL0Qh1L5RkmJLc8EO0TyA0GC70N4,42578
|
|
72
|
+
fastmcp/utilities/tests.py,sha256=O9hRSjnyaYQqu1RJ-CFBw1cIjezlwSQtS-Ea_iqO4sY,3899
|
|
73
|
+
fastmcp/utilities/types.py,sha256=XfTwZU1MhBfMCPU5SDNu3z8-D_yaLbw_PfoXCZOm530,9589
|
|
74
|
+
fastmcp-2.9.1.dist-info/METADATA,sha256=E0fQjSrDBQxiLi_hQ9WEjKGbdWhLqmH2n6AARO9IX5c,17762
|
|
75
|
+
fastmcp-2.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
76
|
+
fastmcp-2.9.1.dist-info/entry_points.txt,sha256=ff8bMtKX1JvXyurMibAacMSKbJEPmac9ffAKU9mLnM8,44
|
|
77
|
+
fastmcp-2.9.1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
78
|
+
fastmcp-2.9.1.dist-info/RECORD,,
|
fastmcp-2.8.1.dist-info/RECORD
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
fastmcp/__init__.py,sha256=5ChT4kg3srdFl0-9dZekGqpzCESlpc6ohrfPbWf1aTo,1300
|
|
2
|
-
fastmcp/exceptions.py,sha256=-krEavxwddQau6T7MESCR4VjKNLfP9KHJrU1p3y72FU,744
|
|
3
|
-
fastmcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
fastmcp/settings.py,sha256=DZU5tmyNz7bzc3jhxE4wOzsj_TcPhXiXF_-OPbfr4d0,9009
|
|
5
|
-
fastmcp/cli/__init__.py,sha256=Ii284TNoG5lxTP40ETMGhHEq3lQZWxu9m9JuU57kUpQ,87
|
|
6
|
-
fastmcp/cli/claude.py,sha256=IAlcZ4qZKBBj09jZUMEx7EANZE_IR3vcu7zOBJmMOuU,4567
|
|
7
|
-
fastmcp/cli/cli.py,sha256=NQ_byPYUhJ8zyMW6VV2JlUlBH8xwB4tRejLK7n-yypc,12681
|
|
8
|
-
fastmcp/cli/run.py,sha256=sGH7M3Yi8HGju4sPypKGk3P2cdZq1n3l-_CpJmdGvDc,6277
|
|
9
|
-
fastmcp/client/__init__.py,sha256=kd2hhSuD8rZuF87c9zlPJP_icJ-Rx3exyNoK0EzfOtE,617
|
|
10
|
-
fastmcp/client/client.py,sha256=QrPWcf0mM5k32Sb8-SG8-3oua8-VxZwGg7egRWcBHho,24957
|
|
11
|
-
fastmcp/client/logging.py,sha256=hOPRailZUp89RUck6V4HPaWVZinVrNY8HD4hD0dd-fE,822
|
|
12
|
-
fastmcp/client/oauth_callback.py,sha256=ODAnVX-ettL82RuI5KpfkKf8iDtYMDue3Tnab5sjQtM,10071
|
|
13
|
-
fastmcp/client/progress.py,sha256=WjLLDbUKMsx8DK-fqO7AGsXb83ak-6BMrLvzzznGmcI,1043
|
|
14
|
-
fastmcp/client/roots.py,sha256=IxI_bHwHTmg6c2H-s1av1ZgrRnNDieHtYwdGFbzXT5c,2471
|
|
15
|
-
fastmcp/client/sampling.py,sha256=Q8PzYCERa1W3xGGI9I9QOhhDM-M4i3P5lESb0cp2iI8,1595
|
|
16
|
-
fastmcp/client/transports.py,sha256=QdfWw2AQ6upx9pyInLaW14xcfzI9auA5G67Gy4aWeac,32930
|
|
17
|
-
fastmcp/client/auth/__init__.py,sha256=4DNsfp4iaQeBcpds0JDdMn6Mmfud44stWLsret0sVKY,91
|
|
18
|
-
fastmcp/client/auth/bearer.py,sha256=MFEFqcH6u_V86msYiOsEFKN5ks1V9BnBNiPsPLHUTqo,399
|
|
19
|
-
fastmcp/client/auth/oauth.py,sha256=xiwLftGkadRNsB5eNPl7JtjOI936qgVjsogvOzoxdO0,14700
|
|
20
|
-
fastmcp/contrib/README.md,sha256=rKknYSI1T192UvSszqwwDlQ2eYQpxywrNTLoj177SYU,878
|
|
21
|
-
fastmcp/contrib/bulk_tool_caller/README.md,sha256=5aUUY1TSFKtz1pvTLSDqkUCkGkuqMfMZNsLeaNqEgAc,1960
|
|
22
|
-
fastmcp/contrib/bulk_tool_caller/__init__.py,sha256=xvGSSaUXTQrc31erBoi1Gh7BikgOliETDiYVTP3rLxY,75
|
|
23
|
-
fastmcp/contrib/bulk_tool_caller/bulk_tool_caller.py,sha256=2NcrGS59qvHo1lfbRaT8NSWfCxN66knciLxFvnGwCLY,4165
|
|
24
|
-
fastmcp/contrib/bulk_tool_caller/example.py,sha256=6og_8pCJN_CabworC5R82zPAwwwM-W7HNJLQQSnS3lU,319
|
|
25
|
-
fastmcp/contrib/mcp_mixin/README.md,sha256=9DDTJXWkA3yv1fp5V58gofmARPQ2xWDhblYGvUhKpDQ,1689
|
|
26
|
-
fastmcp/contrib/mcp_mixin/__init__.py,sha256=aw9IQ1ssNjCgws4ZNt8bkdpossAAGVAwwjBpMp9O5ZQ,153
|
|
27
|
-
fastmcp/contrib/mcp_mixin/example.py,sha256=GnunkXmtG5hLLTUsM8aW5ZURU52Z8vI4tNLl-fK7Dg0,1228
|
|
28
|
-
fastmcp/contrib/mcp_mixin/mcp_mixin.py,sha256=3e0wHlKI9OF12t-SbpRTL-TWjBBLw7T8ATjCdoDtX6k,8173
|
|
29
|
-
fastmcp/prompts/__init__.py,sha256=An8uMBUh9Hrb7qqcn_5_Hent7IOeSh7EA2IUVsIrtHc,179
|
|
30
|
-
fastmcp/prompts/prompt.py,sha256=IZncQ5NrrAdbuQv9iMYGlBdkfteJpLdLGMK8cxVV3xw,9041
|
|
31
|
-
fastmcp/prompts/prompt_manager.py,sha256=TKFxndDH5mHzk2b35TlaNpMz0gRf2OV_17gH2bMKAcU,4369
|
|
32
|
-
fastmcp/resources/__init__.py,sha256=y1iAuqx-GIrS1NqIYzKezIDiYyjNEzzHD35epHpMnXE,463
|
|
33
|
-
fastmcp/resources/resource.py,sha256=CY7clkTrF1_3z1yT2HvkA7tGSX9uY0iyZ2AVAXreCCE,4980
|
|
34
|
-
fastmcp/resources/resource_manager.py,sha256=y7J8nnLbCPl_9IASYw2IzmUEwDhS56FWi0Dare9Uf2U,11951
|
|
35
|
-
fastmcp/resources/template.py,sha256=ohbjlgMzkhVjmjhqa1Bkh5jzj6oWOHKwRxcneYZDt1Q,8415
|
|
36
|
-
fastmcp/resources/types.py,sha256=SiYNLnpXT-mHgNUrzqKUvXYUsY-V3gwJIrYdJfFwDDo,4868
|
|
37
|
-
fastmcp/server/__init__.py,sha256=bMD4aQD4yJqLz7-mudoNsyeV8UgQfRAg3PRwPvwTEds,119
|
|
38
|
-
fastmcp/server/context.py,sha256=Ibn3nv2RpwttPzxElbAkZJNX_SiXrjCCjN5S0vwnGVY,10257
|
|
39
|
-
fastmcp/server/dependencies.py,sha256=iKJdz1XsVJcrfHo_reXj9ZSldw-HeAwsp9S6lAgfGA8,2358
|
|
40
|
-
fastmcp/server/http.py,sha256=2v4_N9piolv4z8Nbkn8K0TtHOZzs683mUNA81uGdDdY,11687
|
|
41
|
-
fastmcp/server/openapi.py,sha256=rF8umkOQGLejDVH7Ef36QdMmjv6zwPB5tmkgmQscM7A,39539
|
|
42
|
-
fastmcp/server/proxy.py,sha256=t0y3mw4X5yO084nevBL-a5mvrLyGc8491F0OTHeuUPQ,10030
|
|
43
|
-
fastmcp/server/server.py,sha256=Umn_yjPHcwmxu-PTQGCmuD3GTbWEY2BcUBVqq5ej2CQ,73895
|
|
44
|
-
fastmcp/server/auth/__init__.py,sha256=doHCLwOIElvH1NrTdpeP9JKfnNf3MDYPSpQfdsQ-uI0,84
|
|
45
|
-
fastmcp/server/auth/auth.py,sha256=kz02HGwXYU0N0clURZDjFNWdKSpTYmgmCnGJN-jSG3Y,1640
|
|
46
|
-
fastmcp/server/auth/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
fastmcp/server/auth/providers/bearer.py,sha256=3pTKL3tEU7FlCD5yI81LTa2n0dBsM7GRpIIn30WCWsA,12679
|
|
48
|
-
fastmcp/server/auth/providers/bearer_env.py,sha256=zHbJmzT6RhEW9tGG-_aRACQ_t0GwXCvKEAnKQLCO9mY,1892
|
|
49
|
-
fastmcp/server/auth/providers/in_memory.py,sha256=_8hRo6KZEVqsSSMNxpseJH48LZEywF4uZ687XuOmqYw,13772
|
|
50
|
-
fastmcp/tools/__init__.py,sha256=vzqb-Y7Kf0d5T0aOsld-O-FA8kD7-4uFExChewFHEzY,201
|
|
51
|
-
fastmcp/tools/tool.py,sha256=UoqX8Hv2FsYYQkP8dpPlvPoDZMMZf4VJagt6_76iqtE,11123
|
|
52
|
-
fastmcp/tools/tool_manager.py,sha256=gq7wYrj1EMjmqJgnJ_ozipEVWmnlSNjIe1zL0-OObss,4805
|
|
53
|
-
fastmcp/tools/tool_transform.py,sha256=pBRLu6qoXsdg1fwkV219PyJQy_Rp6fFCNOqFFbI4VOc,27612
|
|
54
|
-
fastmcp/utilities/__init__.py,sha256=-imJ8S-rXmbXMWeDamldP-dHDqAPg_wwmPVz-LNX14E,31
|
|
55
|
-
fastmcp/utilities/cache.py,sha256=aV3oZ-ZhMgLSM9iAotlUlEy5jFvGXrVo0Y5Bj4PBtqY,707
|
|
56
|
-
fastmcp/utilities/components.py,sha256=NJXop6vn42DC2MyLtJRuJ7QEyac4T5WcOsYaClIog6E,1669
|
|
57
|
-
fastmcp/utilities/exceptions.py,sha256=7Z9j5IzM5rT27BC1Mcn8tkS-bjqCYqMKwb2MMTaxJYU,1350
|
|
58
|
-
fastmcp/utilities/http.py,sha256=1ns1ymBS-WSxbZjGP6JYjSO52Wa_ls4j4WbnXiupoa4,245
|
|
59
|
-
fastmcp/utilities/json_schema.py,sha256=m65XU9lPq7pCxJ9vvCeGRl0HOFr6ArezvYpMBR6-gAg,3777
|
|
60
|
-
fastmcp/utilities/logging.py,sha256=B1WNO-ZWFjd9wiFSh13YtW1hAKaNmbpscDZleIAhr-g,1317
|
|
61
|
-
fastmcp/utilities/mcp_config.py,sha256=kbmvpF5YE7eiDH68XObagFGPKw26SwuDchmH7pyFSD4,2519
|
|
62
|
-
fastmcp/utilities/openapi.py,sha256=ctceiGb4jYgzZGSseMb-yZccEEXf41P-dhB3ae9lGdk,38992
|
|
63
|
-
fastmcp/utilities/tests.py,sha256=72ryn-IyrvE9BKL_RPJ6T__qTcSRp8yzhOQSM6cdYpE,3903
|
|
64
|
-
fastmcp/utilities/types.py,sha256=Ro5UMB1K-uKtLgzbCCHAb_3ABh0v7QF5Or70_0Yyo00,6650
|
|
65
|
-
fastmcp-2.8.1.dist-info/METADATA,sha256=hJrGycsSOIR62GmBlTfYRS6GN7LjPa3eLsrpDO58HCM,17773
|
|
66
|
-
fastmcp-2.8.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
67
|
-
fastmcp-2.8.1.dist-info/entry_points.txt,sha256=ff8bMtKX1JvXyurMibAacMSKbJEPmac9ffAKU9mLnM8,44
|
|
68
|
-
fastmcp-2.8.1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
69
|
-
fastmcp-2.8.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|