fastmcp 2.13.2__py3-none-any.whl → 2.14.0__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/__init__.py +0 -21
- fastmcp/cli/__init__.py +0 -3
- fastmcp/cli/__main__.py +5 -0
- fastmcp/cli/cli.py +8 -22
- fastmcp/cli/install/shared.py +0 -15
- fastmcp/cli/tasks.py +110 -0
- fastmcp/client/auth/oauth.py +9 -9
- fastmcp/client/client.py +665 -129
- fastmcp/client/elicitation.py +11 -5
- fastmcp/client/messages.py +7 -5
- fastmcp/client/roots.py +2 -1
- fastmcp/client/tasks.py +614 -0
- fastmcp/client/transports.py +37 -5
- fastmcp/contrib/component_manager/component_service.py +4 -20
- fastmcp/dependencies.py +25 -0
- fastmcp/experimental/sampling/handlers/openai.py +1 -1
- fastmcp/experimental/server/openapi/__init__.py +15 -13
- fastmcp/experimental/utilities/openapi/__init__.py +12 -38
- fastmcp/prompts/prompt.py +33 -33
- fastmcp/resources/resource.py +29 -12
- fastmcp/resources/template.py +64 -54
- fastmcp/server/auth/__init__.py +0 -9
- fastmcp/server/auth/auth.py +127 -3
- fastmcp/server/auth/oauth_proxy.py +47 -97
- fastmcp/server/auth/oidc_proxy.py +7 -0
- fastmcp/server/auth/providers/in_memory.py +2 -2
- fastmcp/server/auth/providers/oci.py +2 -2
- fastmcp/server/context.py +66 -72
- fastmcp/server/dependencies.py +464 -6
- fastmcp/server/elicitation.py +285 -47
- fastmcp/server/event_store.py +177 -0
- fastmcp/server/http.py +15 -3
- fastmcp/server/low_level.py +56 -12
- fastmcp/server/middleware/middleware.py +2 -2
- fastmcp/server/openapi/__init__.py +35 -0
- fastmcp/{experimental/server → server}/openapi/components.py +4 -3
- fastmcp/{experimental/server → server}/openapi/routing.py +1 -1
- fastmcp/{experimental/server → server}/openapi/server.py +6 -5
- fastmcp/server/proxy.py +50 -37
- fastmcp/server/server.py +731 -532
- fastmcp/server/tasks/__init__.py +21 -0
- fastmcp/server/tasks/capabilities.py +22 -0
- fastmcp/server/tasks/config.py +89 -0
- fastmcp/server/tasks/converters.py +205 -0
- fastmcp/server/tasks/handlers.py +356 -0
- fastmcp/server/tasks/keys.py +93 -0
- fastmcp/server/tasks/protocol.py +355 -0
- fastmcp/server/tasks/subscriptions.py +205 -0
- fastmcp/settings.py +101 -103
- fastmcp/tools/tool.py +80 -44
- fastmcp/tools/tool_transform.py +1 -12
- fastmcp/utilities/components.py +3 -3
- fastmcp/utilities/json_schema_type.py +4 -4
- fastmcp/utilities/mcp_config.py +1 -2
- fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +1 -1
- fastmcp/{experimental/utilities → utilities}/openapi/README.md +7 -35
- fastmcp/utilities/openapi/__init__.py +63 -0
- fastmcp/{experimental/utilities → utilities}/openapi/formatters.py +5 -5
- fastmcp/{experimental/utilities → utilities}/openapi/json_schema_converter.py +1 -1
- fastmcp/utilities/tests.py +11 -5
- fastmcp/utilities/types.py +8 -0
- {fastmcp-2.13.2.dist-info → fastmcp-2.14.0.dist-info}/METADATA +5 -4
- {fastmcp-2.13.2.dist-info → fastmcp-2.14.0.dist-info}/RECORD +71 -59
- fastmcp/server/auth/providers/bearer.py +0 -25
- fastmcp/server/openapi.py +0 -1087
- fastmcp/utilities/openapi.py +0 -1568
- /fastmcp/{experimental/server → server}/openapi/README.md +0 -0
- /fastmcp/{experimental/utilities → utilities}/openapi/director.py +0 -0
- /fastmcp/{experimental/utilities → utilities}/openapi/models.py +0 -0
- /fastmcp/{experimental/utilities → utilities}/openapi/parser.py +0 -0
- /fastmcp/{experimental/utilities → utilities}/openapi/schemas.py +0 -0
- {fastmcp-2.13.2.dist-info → fastmcp-2.14.0.dist-info}/WHEEL +0 -0
- {fastmcp-2.13.2.dist-info → fastmcp-2.14.0.dist-info}/entry_points.txt +0 -0
- {fastmcp-2.13.2.dist-info → fastmcp-2.14.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# OpenAPI Utilities
|
|
1
|
+
# OpenAPI Utilities
|
|
2
2
|
|
|
3
|
-
This directory contains the
|
|
3
|
+
This directory contains the OpenAPI integration utilities for FastMCP.
|
|
4
4
|
|
|
5
5
|
## Architecture Overview
|
|
6
6
|
|
|
7
|
-
The
|
|
7
|
+
The implementation follows a **stateless request building strategy** using `openapi-core` for high-performance, per-request HTTP request construction, eliminating startup latency while maintaining robust OpenAPI compliance.
|
|
8
8
|
|
|
9
9
|
### Core Components
|
|
10
10
|
|
|
@@ -83,7 +83,7 @@ MCP Tool Call → RequestDirector.build() → httpx.Request → HTTP Response
|
|
|
83
83
|
|
|
84
84
|
## Component Integration
|
|
85
85
|
|
|
86
|
-
### Server Components (`/server/
|
|
86
|
+
### Server Components (`/server/openapi/`)
|
|
87
87
|
|
|
88
88
|
1. **`OpenAPITool`** - Simplified tool implementation using RequestDirector
|
|
89
89
|
2. **`OpenAPIResource`** - Resource implementation with RequestDirector
|
|
@@ -104,7 +104,7 @@ All components use the same RequestDirector approach:
|
|
|
104
104
|
|
|
105
105
|
```python
|
|
106
106
|
import httpx
|
|
107
|
-
from fastmcp.server.
|
|
107
|
+
from fastmcp.server.openapi import FastMCPOpenAPI
|
|
108
108
|
|
|
109
109
|
# OpenAPI spec (can be loaded from file/URL)
|
|
110
110
|
openapi_spec = {...}
|
|
@@ -124,7 +124,7 @@ async with httpx.AsyncClient() as client:
|
|
|
124
124
|
### Direct RequestDirector Usage
|
|
125
125
|
|
|
126
126
|
```python
|
|
127
|
-
from fastmcp.
|
|
127
|
+
from fastmcp.utilities.openapi.director import RequestDirector
|
|
128
128
|
from jsonschema_path import SchemaPath
|
|
129
129
|
|
|
130
130
|
# Create RequestDirector manually
|
|
@@ -141,7 +141,7 @@ async with httpx.AsyncClient() as client:
|
|
|
141
141
|
|
|
142
142
|
## Testing Strategy
|
|
143
143
|
|
|
144
|
-
Tests are located in `/tests/server/
|
|
144
|
+
Tests are located in `/tests/server/openapi/`:
|
|
145
145
|
|
|
146
146
|
### Test Categories
|
|
147
147
|
|
|
@@ -160,34 +160,6 @@ Tests are located in `/tests/server/openapi_new/`:
|
|
|
160
160
|
- **Performance Focus**: Test that initialization is fast and stateless
|
|
161
161
|
- **Behavioral Testing**: Verify OpenAPI compliance without implementation details
|
|
162
162
|
|
|
163
|
-
## Migration Guide
|
|
164
|
-
|
|
165
|
-
### From Legacy Implementation
|
|
166
|
-
|
|
167
|
-
1. **Import Changes**:
|
|
168
|
-
```python
|
|
169
|
-
# Old
|
|
170
|
-
from fastmcp.server.openapi import FastMCPOpenAPI
|
|
171
|
-
|
|
172
|
-
# New
|
|
173
|
-
from fastmcp.server.openapi_new import FastMCPOpenAPI
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
2. **Constructor**: Same interface, no changes needed
|
|
177
|
-
|
|
178
|
-
3. **Automatic Benefits**:
|
|
179
|
-
- Eliminates startup latency (100-200ms improvement)
|
|
180
|
-
- Better OpenAPI compliance via openapi-core
|
|
181
|
-
- Serverless-friendly performance characteristics
|
|
182
|
-
- Simplified architecture without fallback complexity
|
|
183
|
-
|
|
184
|
-
### Performance Improvements
|
|
185
|
-
|
|
186
|
-
- **Cold Start**: Zero latency penalty for serverless deployments
|
|
187
|
-
- **Memory Usage**: Lower memory footprint without generated client code
|
|
188
|
-
- **Reliability**: No dynamic code generation failures
|
|
189
|
-
- **Maintainability**: Simpler architecture with fewer moving parts
|
|
190
|
-
|
|
191
163
|
## Future Enhancements
|
|
192
164
|
|
|
193
165
|
### Planned Features
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""OpenAPI utilities for FastMCP - refactored for better maintainability."""
|
|
2
|
+
|
|
3
|
+
# Import from models
|
|
4
|
+
from .models import (
|
|
5
|
+
HTTPRoute,
|
|
6
|
+
HttpMethod,
|
|
7
|
+
JsonSchema,
|
|
8
|
+
ParameterInfo,
|
|
9
|
+
ParameterLocation,
|
|
10
|
+
RequestBodyInfo,
|
|
11
|
+
ResponseInfo,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
# Import from parser
|
|
15
|
+
from .parser import parse_openapi_to_http_routes
|
|
16
|
+
|
|
17
|
+
# Import from formatters
|
|
18
|
+
from .formatters import (
|
|
19
|
+
format_array_parameter,
|
|
20
|
+
format_deep_object_parameter,
|
|
21
|
+
format_description_with_responses,
|
|
22
|
+
format_json_for_description,
|
|
23
|
+
format_simple_description,
|
|
24
|
+
generate_example_from_schema,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
# Import from schemas
|
|
28
|
+
from .schemas import (
|
|
29
|
+
_combine_schemas,
|
|
30
|
+
extract_output_schema_from_responses,
|
|
31
|
+
clean_schema_for_display,
|
|
32
|
+
_make_optional_parameter_nullable,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Import from json_schema_converter
|
|
36
|
+
from .json_schema_converter import (
|
|
37
|
+
convert_openapi_schema_to_json_schema,
|
|
38
|
+
convert_schema_definitions,
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Export public symbols - maintaining backward compatibility
|
|
42
|
+
__all__ = [
|
|
43
|
+
"HTTPRoute",
|
|
44
|
+
"HttpMethod",
|
|
45
|
+
"JsonSchema",
|
|
46
|
+
"ParameterInfo",
|
|
47
|
+
"ParameterLocation",
|
|
48
|
+
"RequestBodyInfo",
|
|
49
|
+
"ResponseInfo",
|
|
50
|
+
"_combine_schemas",
|
|
51
|
+
"_make_optional_parameter_nullable",
|
|
52
|
+
"clean_schema_for_display",
|
|
53
|
+
"convert_openapi_schema_to_json_schema",
|
|
54
|
+
"convert_schema_definitions",
|
|
55
|
+
"extract_output_schema_from_responses",
|
|
56
|
+
"format_array_parameter",
|
|
57
|
+
"format_deep_object_parameter",
|
|
58
|
+
"format_description_with_responses",
|
|
59
|
+
"format_json_for_description",
|
|
60
|
+
"format_simple_description",
|
|
61
|
+
"generate_example_from_schema",
|
|
62
|
+
"parse_openapi_to_http_routes",
|
|
63
|
+
]
|
|
@@ -67,13 +67,13 @@ def format_deep_object_parameter(
|
|
|
67
67
|
param_value: dict, parameter_name: str
|
|
68
68
|
) -> dict[str, str]:
|
|
69
69
|
"""
|
|
70
|
-
Format a dictionary parameter for
|
|
70
|
+
Format a dictionary parameter for deep-object style serialization.
|
|
71
71
|
|
|
72
72
|
According to OpenAPI 3.0 spec, deepObject style with explode=true serializes
|
|
73
73
|
object properties as separate query parameters with bracket notation.
|
|
74
74
|
|
|
75
|
-
For example
|
|
76
|
-
param[id]=123¶m[type]=user
|
|
75
|
+
For example, `{"id": "123", "type": "user"}` becomes
|
|
76
|
+
`param[id]=123¶m[type]=user`.
|
|
77
77
|
|
|
78
78
|
Args:
|
|
79
79
|
param_value: Dictionary value to format
|
|
@@ -84,7 +84,7 @@ def format_deep_object_parameter(
|
|
|
84
84
|
"""
|
|
85
85
|
if not isinstance(param_value, dict):
|
|
86
86
|
logger.warning(
|
|
87
|
-
f"
|
|
87
|
+
f"Deep-object style parameter '{parameter_name}' expected dict, got {type(param_value)}"
|
|
88
88
|
)
|
|
89
89
|
return {}
|
|
90
90
|
|
|
@@ -181,7 +181,7 @@ def generate_example_from_schema(schema: JsonSchema | None) -> Any:
|
|
|
181
181
|
|
|
182
182
|
|
|
183
183
|
def format_json_for_description(data: Any, indent: int = 2) -> str:
|
|
184
|
-
"""Formats Python data as a JSON string block for
|
|
184
|
+
"""Formats Python data as a JSON string block for Markdown."""
|
|
185
185
|
try:
|
|
186
186
|
json_str = json.dumps(data, indent=indent)
|
|
187
187
|
return f"```json\n{json_str}\n```"
|
fastmcp/utilities/tests.py
CHANGED
|
@@ -12,6 +12,7 @@ from urllib.parse import parse_qs, urlparse
|
|
|
12
12
|
|
|
13
13
|
import httpx
|
|
14
14
|
import uvicorn
|
|
15
|
+
from pytest import LogCaptureFixture
|
|
15
16
|
|
|
16
17
|
from fastmcp import settings
|
|
17
18
|
from fastmcp.client.auth.oauth import OAuth
|
|
@@ -208,20 +209,25 @@ async def run_server_async(
|
|
|
208
209
|
)
|
|
209
210
|
)
|
|
210
211
|
|
|
211
|
-
#
|
|
212
|
+
# Wait for server lifespan to be ready
|
|
213
|
+
await server._started.wait()
|
|
214
|
+
|
|
215
|
+
# Give uvicorn a moment to bind the port after lifespan is ready
|
|
212
216
|
await asyncio.sleep(0.1)
|
|
213
217
|
|
|
214
218
|
try:
|
|
215
219
|
yield f"http://{host}:{port}{path}"
|
|
216
220
|
finally:
|
|
217
|
-
# Cleanup: cancel the task
|
|
221
|
+
# Cleanup: cancel the task with timeout to avoid hanging on Windows
|
|
218
222
|
server_task.cancel()
|
|
219
|
-
with suppress(asyncio.CancelledError):
|
|
220
|
-
await server_task
|
|
223
|
+
with suppress(asyncio.CancelledError, asyncio.TimeoutError):
|
|
224
|
+
await asyncio.wait_for(server_task, timeout=2.0)
|
|
221
225
|
|
|
222
226
|
|
|
223
227
|
@contextmanager
|
|
224
|
-
def caplog_for_fastmcp(
|
|
228
|
+
def caplog_for_fastmcp(
|
|
229
|
+
caplog: LogCaptureFixture,
|
|
230
|
+
) -> Generator[LogCaptureFixture, None, None]:
|
|
225
231
|
"""Context manager to capture logs from FastMCP loggers even when propagation is disabled."""
|
|
226
232
|
caplog.clear()
|
|
227
233
|
logger = logging.getLogger("fastmcp")
|
fastmcp/utilities/types.py
CHANGED
|
@@ -206,6 +206,13 @@ def create_function_without_params(
|
|
|
206
206
|
k: v for k, v in original_annotations.items() if k not in exclude_params
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
+
# Create new signature without the excluded parameters
|
|
210
|
+
sig = inspect.signature(fn)
|
|
211
|
+
new_params = [
|
|
212
|
+
param for name, param in sig.parameters.items() if name not in exclude_params
|
|
213
|
+
]
|
|
214
|
+
new_sig = inspect.Signature(new_params, return_annotation=sig.return_annotation)
|
|
215
|
+
|
|
209
216
|
new_func = types.FunctionType(
|
|
210
217
|
code,
|
|
211
218
|
globals_dict,
|
|
@@ -217,6 +224,7 @@ def create_function_without_params(
|
|
|
217
224
|
new_func.__module__ = fn.__module__
|
|
218
225
|
new_func.__qualname__ = getattr(fn, "__qualname__", fn.__name__) # ty: ignore[unresolved-attribute]
|
|
219
226
|
new_func.__annotations__ = new_annotations
|
|
227
|
+
new_func.__signature__ = new_sig # type: ignore[attr-defined]
|
|
220
228
|
|
|
221
229
|
if inspect.ismethod(fn):
|
|
222
230
|
return types.MethodType(new_func, fn.__self__)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastmcp
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.14.0
|
|
4
4
|
Summary: The fast, Pythonic way to build MCP servers and clients.
|
|
5
5
|
Project-URL: Homepage, https://gofastmcp.com
|
|
6
6
|
Project-URL: Repository, https://github.com/jlowin/fastmcp
|
|
@@ -23,11 +23,12 @@ Requires-Dist: cyclopts>=4.0.0
|
|
|
23
23
|
Requires-Dist: exceptiongroup>=1.2.2
|
|
24
24
|
Requires-Dist: httpx>=0.28.1
|
|
25
25
|
Requires-Dist: jsonschema-path>=0.3.4
|
|
26
|
-
Requires-Dist: mcp
|
|
26
|
+
Requires-Dist: mcp>=1.23.1
|
|
27
27
|
Requires-Dist: openapi-pydantic>=0.5.1
|
|
28
28
|
Requires-Dist: platformdirs>=4.0.0
|
|
29
|
-
Requires-Dist: py-key-value-aio[disk,memory]<0.4.0,>=0.
|
|
29
|
+
Requires-Dist: py-key-value-aio[disk,keyring,memory]<0.4.0,>=0.3.0
|
|
30
30
|
Requires-Dist: pydantic[email]>=2.11.7
|
|
31
|
+
Requires-Dist: pydocket>=0.15.2
|
|
31
32
|
Requires-Dist: pyperclip>=1.9.0
|
|
32
33
|
Requires-Dist: python-dotenv>=1.1.0
|
|
33
34
|
Requires-Dist: rich>=13.9.4
|
|
@@ -199,7 +200,7 @@ from fastmcp import FastMCP
|
|
|
199
200
|
mcp = FastMCP(name="MyAssistantServer")
|
|
200
201
|
```
|
|
201
202
|
|
|
202
|
-
Learn more in the [**FastMCP Server Documentation**](https://gofastmcp.com/servers/
|
|
203
|
+
Learn more in the [**FastMCP Server Documentation**](https://gofastmcp.com/servers/server).
|
|
203
204
|
|
|
204
205
|
### Tools
|
|
205
206
|
|
|
@@ -1,31 +1,35 @@
|
|
|
1
|
-
fastmcp/__init__.py,sha256=
|
|
1
|
+
fastmcp/__init__.py,sha256=aArtRHXrBhV3SDPbgjJ7Tm6dI2V9waLH3M4xpGTSmPw,827
|
|
2
|
+
fastmcp/dependencies.py,sha256=Un5S30WHJbAiIdjVjEeaQC7UcEVEkkyjf4EF7l4FYq0,513
|
|
2
3
|
fastmcp/exceptions.py,sha256=-krEavxwddQau6T7MESCR4VjKNLfP9KHJrU1p3y72FU,744
|
|
3
4
|
fastmcp/mcp_config.py,sha256=YXZ0piljrxFgPYEwYSwPw6IiPwU3Cwp2VzlT9CWxutc,11397
|
|
4
5
|
fastmcp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
fastmcp/settings.py,sha256=
|
|
6
|
-
fastmcp/cli/__init__.py,sha256=
|
|
7
|
-
fastmcp/cli/
|
|
6
|
+
fastmcp/settings.py,sha256=565ICavv2ms1lCvGV4XS6VXIYJZyB0os3Ifsr03A6YA,13307
|
|
7
|
+
fastmcp/cli/__init__.py,sha256=Bo7WQWPBRQ6fqbYYPfbadefpXgl2h9gkdMaqTazGWyw,49
|
|
8
|
+
fastmcp/cli/__main__.py,sha256=cGU_smvfctQI9xEY13u7tTEwwUI4AUieikXXA7ykYhA,69
|
|
9
|
+
fastmcp/cli/cli.py,sha256=HQ7MpR_7sB-bgQKG1XOd8epS2RIv_CqdYdHT8mZLszI,28242
|
|
8
10
|
fastmcp/cli/run.py,sha256=HeaiHYcVY17JpHg4UjnIHkP5ttU0PNd1bZIL3brif8A,7047
|
|
11
|
+
fastmcp/cli/tasks.py,sha256=B57vy76d3ybdi4wmlODRCCFrte1GmhLKqYixzRkGUuw,3791
|
|
9
12
|
fastmcp/cli/install/__init__.py,sha256=FUrwjMVaxONgz1qO7suzJNz1xosRfR3TOHlr3Z77JXA,797
|
|
10
13
|
fastmcp/cli/install/claude_code.py,sha256=vGv8hbMUM6p5uQ1scy6E7Qxn0BZ2_INATF0xmSl5QWQ,7617
|
|
11
14
|
fastmcp/cli/install/claude_desktop.py,sha256=aX_BrH5ODEN6UPHdw-Gnh0r5g8TojvTA7trqQRCEdAw,6832
|
|
12
15
|
fastmcp/cli/install/cursor.py,sha256=0qSkKp4JuZj2dGOAsPph9XS_LswV8rQ8CqAuEx7TNhA,10685
|
|
13
16
|
fastmcp/cli/install/gemini_cli.py,sha256=G7NhKnH21893baQjmVbFpwRyMbYIq7bocPQz1CBUH_8,7630
|
|
14
17
|
fastmcp/cli/install/mcp_json.py,sha256=l7b0sWB10YlbcXtcwJv1X2iHEP9V9EwuuD63PyTMvXI,5832
|
|
15
|
-
fastmcp/cli/install/shared.py,sha256=
|
|
18
|
+
fastmcp/cli/install/shared.py,sha256=Qf5VH0b6l66yyBzDYtZwbbESUDYn6k5oyb6u-xepPTI,4447
|
|
16
19
|
fastmcp/client/__init__.py,sha256=QHvSGJCLejQkQ4o070vsUdKNB8vUhxckBByvHjnteTQ,663
|
|
17
|
-
fastmcp/client/client.py,sha256=
|
|
18
|
-
fastmcp/client/elicitation.py,sha256=
|
|
20
|
+
fastmcp/client/client.py,sha256=5TlUA6O3W1r0sLS19MHyVkK-GsWdNL2rzdbsyCCKFVw,59717
|
|
21
|
+
fastmcp/client/elicitation.py,sha256=KlLvZn4FpwC5S5iXNq79mtqtbrtUjXyked-l-pZk6js,2878
|
|
19
22
|
fastmcp/client/logging.py,sha256=WBByRoBIB-Bl3ZUJVFvHqRt4teYPAvqC8MnJ358Elg8,1939
|
|
20
|
-
fastmcp/client/messages.py,sha256=
|
|
23
|
+
fastmcp/client/messages.py,sha256=g85Qca7aiMQLt4E4PwzUoLK6EIS8UM9j2qNwOEHjy0M,4636
|
|
21
24
|
fastmcp/client/oauth_callback.py,sha256=3xqL5_HD1QS9eGfw31HzoVF94QQelq_0TTqS7qWDlQQ,7709
|
|
22
25
|
fastmcp/client/progress.py,sha256=WjLLDbUKMsx8DK-fqO7AGsXb83ak-6BMrLvzzznGmcI,1043
|
|
23
|
-
fastmcp/client/roots.py,sha256=
|
|
26
|
+
fastmcp/client/roots.py,sha256=Uap1RSr3uEeQRZTHkEttkhTI2fOA8IeDcRSggtZp9aY,2568
|
|
24
27
|
fastmcp/client/sampling.py,sha256=MEXgywI46X-E78gCLCKEiQ14iu4uQqohLav-MNCtD_U,1819
|
|
25
|
-
fastmcp/client/
|
|
28
|
+
fastmcp/client/tasks.py,sha256=EnWOa69Jw1MYkuf_rzFrhZlfCUpSFjiD7DkAoOlALSs,21653
|
|
29
|
+
fastmcp/client/transports.py,sha256=9WfOVMzLdYQqFcZ1cE2oR0KAp1XeOZ5hQNOhARkPl5s,42342
|
|
26
30
|
fastmcp/client/auth/__init__.py,sha256=4DNsfp4iaQeBcpds0JDdMn6Mmfud44stWLsret0sVKY,91
|
|
27
31
|
fastmcp/client/auth/bearer.py,sha256=MFEFqcH6u_V86msYiOsEFKN5ks1V9BnBNiPsPLHUTqo,399
|
|
28
|
-
fastmcp/client/auth/oauth.py,sha256=
|
|
32
|
+
fastmcp/client/auth/oauth.py,sha256=8B1HTPoPhEFQUZBfuhR6jqq4CHu6BDATVowC3ayZmg8,12513
|
|
29
33
|
fastmcp/contrib/README.md,sha256=rKknYSI1T192UvSszqwwDlQ2eYQpxywrNTLoj177SYU,878
|
|
30
34
|
fastmcp/contrib/bulk_tool_caller/README.md,sha256=5aUUY1TSFKtz1pvTLSDqkUCkGkuqMfMZNsLeaNqEgAc,1960
|
|
31
35
|
fastmcp/contrib/bulk_tool_caller/__init__.py,sha256=xvGSSaUXTQrc31erBoi1Gh7BikgOliETDiYVTP3rLxY,75
|
|
@@ -34,7 +38,7 @@ fastmcp/contrib/bulk_tool_caller/example.py,sha256=6og_8pCJN_CabworC5R82zPAwwwM-
|
|
|
34
38
|
fastmcp/contrib/component_manager/README.md,sha256=sTan1D51jzkPNnCQTxwd5JXGzWVy4DtkUjrUfNH3-F0,4457
|
|
35
39
|
fastmcp/contrib/component_manager/__init__.py,sha256=9xu58ftB0Aqd5RymZgnkJMH9rTHBcrO6iMQX9qdEy3s,164
|
|
36
40
|
fastmcp/contrib/component_manager/component_manager.py,sha256=lS2KDsx_W6GDncWx6NhVNhg1X0TeGwQHWqP5PzlDPRM,6424
|
|
37
|
-
fastmcp/contrib/component_manager/component_service.py,sha256=
|
|
41
|
+
fastmcp/contrib/component_manager/component_service.py,sha256=hFW32Ti6RmYlEqL4FEIYCC1FyqMUkL7tOiJ8gay8cLg,8236
|
|
38
42
|
fastmcp/contrib/component_manager/example.py,sha256=N16OIHmQuR-LNEv7bkrv2rGdMs862Nc3AKKEPfw-6rU,1587
|
|
39
43
|
fastmcp/contrib/mcp_mixin/README.md,sha256=f6ine6z9kuEx1qKhY9jzrH6sAwj1oWpXcLXGvK0GMVk,5404
|
|
40
44
|
fastmcp/contrib/mcp_mixin/__init__.py,sha256=zZFHlAGexUJCDLAg4p7CGZDmb-mgPdN1xVv0tR4mg7I,153
|
|
@@ -43,59 +47,47 @@ fastmcp/contrib/mcp_mixin/mcp_mixin.py,sha256=Ij009tiJBj1Lciz4abTICA1Il-kz_myr4a
|
|
|
43
47
|
fastmcp/experimental/sampling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
48
|
fastmcp/experimental/sampling/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
49
|
fastmcp/experimental/sampling/handlers/base.py,sha256=mCPFj9ETc-Ro38R_pzx9rHVM2_EADCecScMkNWd6Tbs,714
|
|
46
|
-
fastmcp/experimental/sampling/handlers/openai.py,sha256=
|
|
47
|
-
fastmcp/experimental/server/openapi/
|
|
48
|
-
fastmcp/experimental/
|
|
49
|
-
fastmcp/experimental/server/openapi/components.py,sha256=rKbrIZRaxV-mtpmeW2ZlYtCLE2eaScZF-3rKaMi9-rA,13371
|
|
50
|
-
fastmcp/experimental/server/openapi/routing.py,sha256=hAhQCtode5NuEDVfzeMj5vK03T6ylOub_f7irgwoa5w,4031
|
|
51
|
-
fastmcp/experimental/server/openapi/server.py,sha256=WQeUA3v69ZhrzN1-cbrDTC8EsaOXHwDSQT_NPgYrECk,16099
|
|
52
|
-
fastmcp/experimental/utilities/openapi/README.md,sha256=pOXftamuVXxEMlOt-JAfpuvHeRGauC3l46ntD1WzM-A,8604
|
|
53
|
-
fastmcp/experimental/utilities/openapi/__init__.py,sha256=6FTQyP-kWvFg5Ykq53j7byBhPuysOyMYSrFTdUAKeO0,1592
|
|
54
|
-
fastmcp/experimental/utilities/openapi/director.py,sha256=bsK5W8-vdydbB85xMLy5WsQJewnObXaDrtAIS5HdKjY,7956
|
|
55
|
-
fastmcp/experimental/utilities/openapi/formatters.py,sha256=1RCd8DwPU8_4uF51pj8Qp3oSZkZmoxL5VUwxBzokAMg,15540
|
|
56
|
-
fastmcp/experimental/utilities/openapi/json_schema_converter.py,sha256=z8FjEDedsvAU1tT_ztl7oL_ERbjGufS3meVO-WKJhuE,13089
|
|
57
|
-
fastmcp/experimental/utilities/openapi/models.py,sha256=-kfndwZSe92tVtKAgOuFn5rk1tN7oydCZKtLOEMEalA,2805
|
|
58
|
-
fastmcp/experimental/utilities/openapi/parser.py,sha256=qsa68Ro1c8ov77kdEP20IwZqD74E4IGKjtfeIkn3HdE,34338
|
|
59
|
-
fastmcp/experimental/utilities/openapi/schemas.py,sha256=84nPtnOlfjNoFGDoVoWLs0dh_7Ps92p3AuHgpVA5a-s,23349
|
|
50
|
+
fastmcp/experimental/sampling/handlers/openai.py,sha256=r7FUUL6fGHkYxsgFS44MyMxnaCrEYOYt9V98O_bjbyQ,5752
|
|
51
|
+
fastmcp/experimental/server/openapi/__init__.py,sha256=QNrM6ZNwJLk78jh7hq1tdZ-WnZLQ0KHd-7hjQgYeMqw,817
|
|
52
|
+
fastmcp/experimental/utilities/openapi/__init__.py,sha256=-SIYFQ4CE9MTxKQbksQ4J3lwm409EV3qKkHuTwAEyNk,907
|
|
60
53
|
fastmcp/prompts/__init__.py,sha256=BQ5ooDJcNhb5maYBcg2mF1VaHAY_A64cEU3UiCQ3Lw8,179
|
|
61
|
-
fastmcp/prompts/prompt.py,sha256=
|
|
54
|
+
fastmcp/prompts/prompt.py,sha256=Rc8IOKXNI-5_3en_cw_Ej7LVV49oFTn_0EUxlRScjPw,14483
|
|
62
55
|
fastmcp/prompts/prompt_manager.py,sha256=5ZyT0blp5owuaN5pz_TQsyH6zUGFoUiVTGfiEnqBuj8,4262
|
|
63
56
|
fastmcp/resources/__init__.py,sha256=si8aT_9taxUNN0vkfbifst_SCId56DZmYi4YOb4mtlE,463
|
|
64
|
-
fastmcp/resources/resource.py,sha256=
|
|
57
|
+
fastmcp/resources/resource.py,sha256=uDzQFPzELpmyEC2FirwuhfTxLkog0nKmMmWtGOb-67U,7890
|
|
65
58
|
fastmcp/resources/resource_manager.py,sha256=R-dtlhCYHcH1bnGuD0QW5aRUo_12_NeLkn9VLp4xmmU,13308
|
|
66
|
-
fastmcp/resources/template.py,sha256=
|
|
59
|
+
fastmcp/resources/template.py,sha256=SJiiWBiZVspUxfzovaDlQZpVwoUcENgUWT7UGXLUwxU,15495
|
|
67
60
|
fastmcp/resources/types.py,sha256=efFLGD1Xc5Xq3sxlPaZ_8gtJ2UOixueTBV4KQTi4cOU,4936
|
|
68
61
|
fastmcp/server/__init__.py,sha256=qxNmIJcqsrpxpUvCv0mhdEAaUn1UZd1xLd8XRoWUlfY,119
|
|
69
|
-
fastmcp/server/context.py,sha256=
|
|
70
|
-
fastmcp/server/dependencies.py,sha256=
|
|
71
|
-
fastmcp/server/elicitation.py,sha256=
|
|
72
|
-
fastmcp/server/
|
|
73
|
-
fastmcp/server/
|
|
74
|
-
fastmcp/server/
|
|
75
|
-
fastmcp/server/proxy.py,sha256=
|
|
76
|
-
fastmcp/server/server.py,sha256=
|
|
77
|
-
fastmcp/server/auth/__init__.py,sha256=
|
|
78
|
-
fastmcp/server/auth/auth.py,sha256=
|
|
62
|
+
fastmcp/server/context.py,sha256=jQtDvn9IjxtYnzmDBnlpDAYMLYSn0efNy4QU6ww-HaY,28153
|
|
63
|
+
fastmcp/server/dependencies.py,sha256=7As8f1yRIQI0dSDpLVfSCPMXxaPuhUrDvNpxwjSG6W0,20643
|
|
64
|
+
fastmcp/server/elicitation.py,sha256=jmrLb_yzdmM9hVRxOYlC4aWnlCBCayuzVOs7--sByxU,17862
|
|
65
|
+
fastmcp/server/event_store.py,sha256=ZiBbrUQHw9--G8lzK1qLZmUAF2le2XchFen4pGbFKsE,6170
|
|
66
|
+
fastmcp/server/http.py,sha256=_HjMSYWH8mfKugDODU4iV0AhKDU2VRc40tS56L6i-_s,12737
|
|
67
|
+
fastmcp/server/low_level.py,sha256=o3jDf5SuZBQeurhLWRzaSVCnvrmaKMH_w-TbHk6BuZ4,7963
|
|
68
|
+
fastmcp/server/proxy.py,sha256=nG1ntmD9PpTbWpyY3Gn26vPpIcmjbEcoG3TlbYxeBB4,26855
|
|
69
|
+
fastmcp/server/server.py,sha256=BSh0AoOtFElhYxWZ1_ei2CdOHvn7hcHFQwpYShmdUWw,120764
|
|
70
|
+
fastmcp/server/auth/__init__.py,sha256=MTZvDKEUMqjs9-raRN0h8Zjx8pWFXs_iSRbB1UqBUqU,527
|
|
71
|
+
fastmcp/server/auth/auth.py,sha256=6FIjQLhQ-ps58o05nrOi5pyD1OmM0fANrV-M79Jb7do,19775
|
|
79
72
|
fastmcp/server/auth/jwt_issuer.py,sha256=lJYvrpC1ygI4jkoJlL_nTH6m7FKdTw2lbEycKo4eHLY,7197
|
|
80
73
|
fastmcp/server/auth/middleware.py,sha256=xwj3fUCLSlJK6n1Ehp-FN1qnjKqEz8b7LGAGMTqQ8Hk,3284
|
|
81
|
-
fastmcp/server/auth/oauth_proxy.py,sha256=
|
|
82
|
-
fastmcp/server/auth/oidc_proxy.py,sha256=
|
|
74
|
+
fastmcp/server/auth/oauth_proxy.py,sha256=Kk09KEK5YwZ2TnVbevqo0WuflBNz5kwWbOXq2St6itE,90694
|
|
75
|
+
fastmcp/server/auth/oidc_proxy.py,sha256=gU_RgBbVMj-9vn0TSRTmT1YaT19VFmJLpARcIXn208k,17969
|
|
83
76
|
fastmcp/server/auth/redirect_validation.py,sha256=Jlhela9xpTbw4aWnQ04A5Z-TW0HYOC3f9BMsq3NXx1Q,2000
|
|
84
77
|
fastmcp/server/auth/handlers/authorize.py,sha256=1zrmXqRUhjiWSHgUhfj0CcCkj3uSlGkTnxHzaic0xYs,11617
|
|
85
78
|
fastmcp/server/auth/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
86
79
|
fastmcp/server/auth/providers/auth0.py,sha256=dZkc7hppii20YWota_6_Y3vdNw-DZSq0OyModbly-RA,7814
|
|
87
80
|
fastmcp/server/auth/providers/aws.py,sha256=MXoEEnXmeIlRjaHqTeNCmJ90iTx9jwUdEdpyLUmzfIc,10852
|
|
88
81
|
fastmcp/server/auth/providers/azure.py,sha256=Lq949keq4-AC7AR6Dbn5caEim5XOAK3WpnB-GmRPLtY,20891
|
|
89
|
-
fastmcp/server/auth/providers/bearer.py,sha256=LwkCfDJS48BxBxZwrIrauqNfCtDrJtGqYyEWnJjUq7s,923
|
|
90
82
|
fastmcp/server/auth/providers/debug.py,sha256=92erHZGQB1ATsl6PwrXui6h3WJ4wLxE9ACbI3JutmWY,3881
|
|
91
83
|
fastmcp/server/auth/providers/descope.py,sha256=y3PX3RmEL-JzHktKUbRW25QPZ7AVMGh579Pwgmr9P3k,9551
|
|
92
84
|
fastmcp/server/auth/providers/discord.py,sha256=AK7WRydWNnXAUWnFeYUqgcdqsGkwFfcKZcyZMuOQcUw,12616
|
|
93
85
|
fastmcp/server/auth/providers/github.py,sha256=xsv-Qj1VJRc64YcRuUG4a61xFH1nqqVX_biC7B1su9U,12414
|
|
94
86
|
fastmcp/server/auth/providers/google.py,sha256=BAw3XfB8fE2zr80OZUP-bZBnlHRmZQGuvmoVFgW5D1E,14723
|
|
95
|
-
fastmcp/server/auth/providers/in_memory.py,sha256=
|
|
87
|
+
fastmcp/server/auth/providers/in_memory.py,sha256=VjEQq8sEyPT0BQbjrOvriM0PY_HNd_YK1HbkrprVqyI,15496
|
|
96
88
|
fastmcp/server/auth/providers/introspection.py,sha256=v2hlcuxxwug5myCr4KcTZlawwazAWYVHuRb0d3er13w,10733
|
|
97
89
|
fastmcp/server/auth/providers/jwt.py,sha256=c-2Wji-CvuYt3U3unxjJR-5-EABRDks_755EpxKBDH8,20798
|
|
98
|
-
fastmcp/server/auth/providers/oci.py,sha256
|
|
90
|
+
fastmcp/server/auth/providers/oci.py,sha256=QxpsStKEyl_W4dcJOky4m6wdpGnCSnt7WQ8DWjGPmSU,9894
|
|
99
91
|
fastmcp/server/auth/providers/scalekit.py,sha256=30J2HImUAkyknMgH7lUGytcDOy4d01ClxTrBCO4E3GQ,9064
|
|
100
92
|
fastmcp/server/auth/providers/supabase.py,sha256=9aK9fZ2OtccOF-ittMJnwj6sEzUNUTIrRPWAPLMwCac,7321
|
|
101
93
|
fastmcp/server/auth/providers/workos.py,sha256=_KWsgKPV4OJ6a37FaVgq2LIzM3Nx26G5QQhgS8x2MO4,17244
|
|
@@ -103,33 +95,45 @@ fastmcp/server/middleware/__init__.py,sha256=LXT2IcZI4gbAtR4TnA7v_1lOWBR6eaHiE3C
|
|
|
103
95
|
fastmcp/server/middleware/caching.py,sha256=xYUXkFeuoLaIJ_TB2570qEBS1TtneJClJOpJGNsNbu8,18414
|
|
104
96
|
fastmcp/server/middleware/error_handling.py,sha256=eSMKrmIxDcnhzLGyOL49hup5k5e0iwvH_n2XVxJ69W8,7726
|
|
105
97
|
fastmcp/server/middleware/logging.py,sha256=Reta-f4z8suYkJn4rPyJWYrNBeU25w8Y40U0uaV9ygo,9427
|
|
106
|
-
fastmcp/server/middleware/middleware.py,sha256
|
|
98
|
+
fastmcp/server/middleware/middleware.py,sha256=-L4QuyyjIF1QIcydWzamrmpIE2w7d2f35-QyoXMZnZM,6643
|
|
107
99
|
fastmcp/server/middleware/rate_limiting.py,sha256=MwhMOhgsIhZjYwEQB8H8961hohV5564JlTwwYy_9ctU,7915
|
|
108
100
|
fastmcp/server/middleware/timing.py,sha256=lL_xc-ErLD5lplfvd5-HIyWEbZhgNBYkcQ74KFXAMkA,5591
|
|
109
101
|
fastmcp/server/middleware/tool_injection.py,sha256=zElqBN-yjZvcTADp57e0dn86kpxT9xsFqvYztiXuA08,3595
|
|
102
|
+
fastmcp/server/openapi/README.md,sha256=1Mc1Ur15OxMn-wAPEa1rZIiNNSMdv9sboQ3YpvNpUXM,9886
|
|
103
|
+
fastmcp/server/openapi/__init__.py,sha256=cZPebMY9xwjW8nUgTN5MvawnZEFx9E0Oe_TFqSrevp0,728
|
|
104
|
+
fastmcp/server/openapi/components.py,sha256=lHT3AJUKDt68-x7RpErP2ePLJp12HKKUn1VWq5TU6Ss,13346
|
|
105
|
+
fastmcp/server/openapi/routing.py,sha256=_WWci6GNqtfF-5yO-uHwXXc9nNFNV-YlbIWHa7-lCk4,4018
|
|
106
|
+
fastmcp/server/openapi/server.py,sha256=aQ_VwvHxdsC-O-7k_uKmPDkOlcgtOW-gk-RtlLtEtuw,16069
|
|
110
107
|
fastmcp/server/sampling/handler.py,sha256=yjLzvxlGllE-EY4bc6djsijEmwMT24PCpV6vJl-sPcI,580
|
|
108
|
+
fastmcp/server/tasks/__init__.py,sha256=VizXvmXgA3SvrApQ6PSz4z1TPA9B6uROvmWeGSYOJ0I,530
|
|
109
|
+
fastmcp/server/tasks/capabilities.py,sha256=-8QMBjs6HZuQdUNmOrNEBvJs-opGptIyxOODU0TGGFE,574
|
|
110
|
+
fastmcp/server/tasks/config.py,sha256=msPkUuxnZKuqSj21Eh8m5Cwq0htwUzTCeoWsnbvKGkk,3006
|
|
111
|
+
fastmcp/server/tasks/converters.py,sha256=gDEYtf0MD2ypyR1gdyweHM5LdS3-wTsQaiCrsSDIOyY,6640
|
|
112
|
+
fastmcp/server/tasks/handlers.py,sha256=8wiDiP6tHj8E3iMEIpjZmoiY_k1wgQg-F59KwGk56X8,12489
|
|
113
|
+
fastmcp/server/tasks/keys.py,sha256=w9diycj0N6ViVqe6stxUS9vg2H94bl_614Bu5kNRM-k,3011
|
|
114
|
+
fastmcp/server/tasks/protocol.py,sha256=g97D4k1U8ua_UBTyoqFXcPp5rf6KvuiY5d6mx5KMIPY,12222
|
|
115
|
+
fastmcp/server/tasks/subscriptions.py,sha256=iehPO2zx80aRIqKHCFj9kuR5NVMqYSkIepMXBifQFWw,6692
|
|
111
116
|
fastmcp/tools/__init__.py,sha256=XGcaMkBgwr-AHzbNjyjdb3ATgp5TQ0wzSq0nsrBD__E,201
|
|
112
|
-
fastmcp/tools/tool.py,sha256=
|
|
117
|
+
fastmcp/tools/tool.py,sha256=Ouu-Z7ieGMv3xJ1eU4Et_Flfypglhgsr8iXHmVAFn60,23272
|
|
113
118
|
fastmcp/tools/tool_manager.py,sha256=pCQGvKimXYEigcUqRHBd6_mbfJwD2KN3i0SmFj9Fj_c,5913
|
|
114
|
-
fastmcp/tools/tool_transform.py,sha256=
|
|
119
|
+
fastmcp/tools/tool_transform.py,sha256=m1XDYuu_BDPxpH3yRNdT3jCca9KmVSO-Jd00BK4F5rw,38099
|
|
115
120
|
fastmcp/utilities/__init__.py,sha256=-imJ8S-rXmbXMWeDamldP-dHDqAPg_wwmPVz-LNX14E,31
|
|
116
121
|
fastmcp/utilities/auth.py,sha256=ZVHkNb4YBpLE1EmmFyhvFB2qfWDZdEYNH9TRI9jylOE,1140
|
|
117
122
|
fastmcp/utilities/cli.py,sha256=46gyOddE8kWhUV2lHFM7kA2v0YNyzcajvIX3Db8gJXk,12174
|
|
118
|
-
fastmcp/utilities/components.py,sha256=
|
|
123
|
+
fastmcp/utilities/components.py,sha256=fF4M9cdqbZTlDAZ0hltcTTg_8IU2jNSzOyH4oqH49ig,6087
|
|
119
124
|
fastmcp/utilities/exceptions.py,sha256=7Z9j5IzM5rT27BC1Mcn8tkS-bjqCYqMKwb2MMTaxJYU,1350
|
|
120
125
|
fastmcp/utilities/http.py,sha256=1ns1ymBS-WSxbZjGP6JYjSO52Wa_ls4j4WbnXiupoa4,245
|
|
121
126
|
fastmcp/utilities/inspect.py,sha256=3wYUuQH1xCCCdzZwALHNqaRABH6iqpA43dIXEhqVb5Q,18030
|
|
122
127
|
fastmcp/utilities/json_schema.py,sha256=-XjtAVzCaaJ_S-HoWo7Aabvlu8ubBqyoOinm9E85F4o,8888
|
|
123
|
-
fastmcp/utilities/json_schema_type.py,sha256=
|
|
128
|
+
fastmcp/utilities/json_schema_type.py,sha256=5cf1ZeHzqirrGx62kznqmgAWk0uCc29REVKcDRBeJX0,22348
|
|
124
129
|
fastmcp/utilities/logging.py,sha256=61wVk5yQ62km3K8kZtkKtT_3EN26VL85GYW0aMtnwKA,7175
|
|
125
|
-
fastmcp/utilities/mcp_config.py,sha256=
|
|
126
|
-
fastmcp/utilities/
|
|
127
|
-
fastmcp/utilities/
|
|
128
|
-
fastmcp/utilities/types.py,sha256=GA6aweKOke8nJDnESka3EKv9vStfKK5NiCZwLUF8Ars,17231
|
|
130
|
+
fastmcp/utilities/mcp_config.py,sha256=lVllZtAXZ3Zy78D40aXN-S5fs-ms0lgryL1tY2WzwCY,1783
|
|
131
|
+
fastmcp/utilities/tests.py,sha256=VIsYPpk07tXvE02yK_neBUeZgu5YtbUlK6JJNzU-6lQ,9229
|
|
132
|
+
fastmcp/utilities/types.py,sha256=7c56m736JjbKY-YP7RLWPZcsW5Z7mikpByKaDQ5IJwg,17586
|
|
129
133
|
fastmcp/utilities/ui.py,sha256=gcnha7Vj4xEBxdrS83EZlKpN_43AQzcgiZFEvkTqzqg,14252
|
|
130
134
|
fastmcp/utilities/mcp_server_config/__init__.py,sha256=hHBxEwRsrgN0Q-1bvj28X6UVGDpfG6dt3yfSBGsOY80,791
|
|
131
135
|
fastmcp/utilities/mcp_server_config/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
132
|
-
fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py,sha256=
|
|
136
|
+
fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py,sha256=1B3J7sRR0GcOW6FcSNNTTTOtEePNhUKc7Y0xEDk-wao,15497
|
|
133
137
|
fastmcp/utilities/mcp_server_config/v1/schema.json,sha256=ymDNFOWzcpnhIMeJmVPTw9b-NtHoHoru8Mc0WlSVxUY,8602
|
|
134
138
|
fastmcp/utilities/mcp_server_config/v1/environments/__init__.py,sha256=Tkv0dmJ6tKKotOBo-tho09QVdvEjy37iBsvBbEwH0EA,256
|
|
135
139
|
fastmcp/utilities/mcp_server_config/v1/environments/base.py,sha256=fbC1C25jI1whwXLlIQtmji5B4UEHLgKvw5K8NICb33Y,826
|
|
@@ -137,8 +141,16 @@ fastmcp/utilities/mcp_server_config/v1/environments/uv.py,sha256=DPVAXM5JDTN89wO
|
|
|
137
141
|
fastmcp/utilities/mcp_server_config/v1/sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
142
|
fastmcp/utilities/mcp_server_config/v1/sources/base.py,sha256=Y5MCxJyoDsaxcBN1zDL0CZtF5oAXxT_yqQOI-ze9b34,967
|
|
139
143
|
fastmcp/utilities/mcp_server_config/v1/sources/filesystem.py,sha256=eFX47XNXz2oKHW8MZvx60dqyHkBxdg2FMOrHcyAS28g,8106
|
|
140
|
-
fastmcp
|
|
141
|
-
fastmcp
|
|
142
|
-
fastmcp
|
|
143
|
-
fastmcp
|
|
144
|
-
fastmcp
|
|
144
|
+
fastmcp/utilities/openapi/README.md,sha256=pcxMeSIHUmuhXHRYV7GOuMUZtw9QBv-rowQIDqmkab8,7657
|
|
145
|
+
fastmcp/utilities/openapi/__init__.py,sha256=6FTQyP-kWvFg5Ykq53j7byBhPuysOyMYSrFTdUAKeO0,1592
|
|
146
|
+
fastmcp/utilities/openapi/director.py,sha256=bsK5W8-vdydbB85xMLy5WsQJewnObXaDrtAIS5HdKjY,7956
|
|
147
|
+
fastmcp/utilities/openapi/formatters.py,sha256=AWyETOfnBmTUcD1T2ajfkbsVyyMnN4tZ-U34hFScWqI,15546
|
|
148
|
+
fastmcp/utilities/openapi/json_schema_converter.py,sha256=PxaYpgHBsdDTT0XSP6s4RZBMeDpAO_-dRXlBF2iYD9s,13089
|
|
149
|
+
fastmcp/utilities/openapi/models.py,sha256=-kfndwZSe92tVtKAgOuFn5rk1tN7oydCZKtLOEMEalA,2805
|
|
150
|
+
fastmcp/utilities/openapi/parser.py,sha256=qsa68Ro1c8ov77kdEP20IwZqD74E4IGKjtfeIkn3HdE,34338
|
|
151
|
+
fastmcp/utilities/openapi/schemas.py,sha256=84nPtnOlfjNoFGDoVoWLs0dh_7Ps92p3AuHgpVA5a-s,23349
|
|
152
|
+
fastmcp-2.14.0.dist-info/METADATA,sha256=Jte7HhFdX33G_bDG7Ose0xDSzGr7TTS7OrjdRn5ddMY,20536
|
|
153
|
+
fastmcp-2.14.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
154
|
+
fastmcp-2.14.0.dist-info/entry_points.txt,sha256=ff8bMtKX1JvXyurMibAacMSKbJEPmac9ffAKU9mLnM8,44
|
|
155
|
+
fastmcp-2.14.0.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
156
|
+
fastmcp-2.14.0.dist-info/RECORD,,
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""Backwards compatibility shim for BearerAuthProvider.
|
|
2
|
-
|
|
3
|
-
The BearerAuthProvider class has been moved to fastmcp.server.auth.providers.jwt.JWTVerifier
|
|
4
|
-
for better organization. This module provides a backwards-compatible import.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
import warnings
|
|
8
|
-
|
|
9
|
-
import fastmcp
|
|
10
|
-
from fastmcp.server.auth.providers.jwt import JWKData, JWKSData, RSAKeyPair
|
|
11
|
-
from fastmcp.server.auth.providers.jwt import JWTVerifier as BearerAuthProvider
|
|
12
|
-
|
|
13
|
-
# Re-export for backwards compatibility
|
|
14
|
-
__all__ = ["BearerAuthProvider", "JWKData", "JWKSData", "RSAKeyPair"]
|
|
15
|
-
|
|
16
|
-
# Deprecated in 2.11
|
|
17
|
-
if fastmcp.settings.deprecation_warnings:
|
|
18
|
-
warnings.warn(
|
|
19
|
-
"The `fastmcp.server.auth.providers.bearer` module is deprecated "
|
|
20
|
-
"and will be removed in a future version. "
|
|
21
|
-
"Please use `fastmcp.server.auth.providers.jwt.JWTVerifier` "
|
|
22
|
-
"instead of this module's BearerAuthProvider.",
|
|
23
|
-
DeprecationWarning,
|
|
24
|
-
stacklevel=2,
|
|
25
|
-
)
|