fastmcp 0.4.1__tar.gz → 1.0__tar.gz
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-0.4.1 → fastmcp-1.0}/PKG-INFO +21 -4
- {fastmcp-0.4.1 → fastmcp-1.0}/README.md +18 -2
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/server.py +3 -6
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/ai-labeler.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/release.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/workflows/ai-labeler.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/workflows/publish.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/workflows/run-static.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.github/workflows/run-tests.yml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.gitignore +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.pre-commit-config.yaml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/.python-version +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/LICENSE +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/Windows_Notes.md +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/docs/assets/demo-inspector.png +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/complex_inputs.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/desktop.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/echo.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/memory.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/readme-quickstart.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/screenshot.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/simple_echo.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/examples/text_me.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/pyproject.toml +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/cli/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/cli/claude.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/cli/cli.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/exceptions.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/prompts/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/prompts/base.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/prompts/manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/prompts/prompt_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/py.typed +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/resources/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/resources/base.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/resources/resource_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/resources/templates.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/resources/types.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/tools/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/tools/base.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/tools/tool_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/utilities/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/utilities/func_metadata.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/utilities/logging.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/src/fastmcp/utilities/types.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/prompts/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/prompts/test_base.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/prompts/test_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/test_file_resources.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/test_function_resources.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/test_resource_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/test_resource_template.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/resources/test_resources.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/servers/__init__.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/servers/test_file_server.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/test_cli.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/test_func_metadata.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/test_server.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/tests/test_tool_manager.py +0 -0
- {fastmcp-0.4.1 → fastmcp-1.0}/uv.lock +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: fastmcp
|
|
3
|
-
Version: 0
|
|
3
|
+
Version: 1.0
|
|
4
4
|
Summary: A more ergonomic interface for MCP servers
|
|
5
5
|
Author: Jeremiah Lowin
|
|
6
6
|
License: MIT
|
|
7
|
+
License-File: LICENSE
|
|
7
8
|
Requires-Python: >=3.10
|
|
8
9
|
Requires-Dist: httpx>=0.26.0
|
|
9
10
|
Requires-Dist: mcp<2.0.0,>=1.0.0
|
|
@@ -32,11 +33,27 @@ Requires-Dist: pytest>=8.3.3; extra == 'tests'
|
|
|
32
33
|
Requires-Dist: ruff; extra == 'tests'
|
|
33
34
|
Description-Content-Type: text/markdown
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
<div align="center">
|
|
37
|
+
|
|
38
|
+
### 🎉 FastMCP has been added to the official MCP SDK! 🎉
|
|
39
|
+
|
|
40
|
+
You can now find FastMCP as part of the official Model Context Protocol Python SDK:
|
|
41
|
+
|
|
42
|
+
👉 [github.com/modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk)
|
|
43
|
+
|
|
44
|
+
*Please note: this repository is no longer maintained.*
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
</br></br></br>
|
|
50
|
+
|
|
51
|
+
</div>
|
|
37
52
|
|
|
38
53
|
<div align="center">
|
|
39
54
|
|
|
55
|
+
<!-- omit in toc -->
|
|
56
|
+
# FastMCP 🚀
|
|
40
57
|
<strong>The fast, Pythonic way to build MCP servers.</strong>
|
|
41
58
|
|
|
42
59
|
[](https://pypi.org/project/fastmcp)
|
|
@@ -1,8 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
### 🎉 FastMCP has been added to the official MCP SDK! 🎉
|
|
4
|
+
|
|
5
|
+
You can now find FastMCP as part of the official Model Context Protocol Python SDK:
|
|
6
|
+
|
|
7
|
+
👉 [github.com/modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk)
|
|
8
|
+
|
|
9
|
+
*Please note: this repository is no longer maintained.*
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
</br></br></br>
|
|
15
|
+
|
|
16
|
+
</div>
|
|
3
17
|
|
|
4
18
|
<div align="center">
|
|
5
19
|
|
|
20
|
+
<!-- omit in toc -->
|
|
21
|
+
# FastMCP 🚀
|
|
6
22
|
<strong>The fast, Pythonic way to build MCP servers.</strong>
|
|
7
23
|
|
|
8
24
|
[](https://pypi.org/project/fastmcp)
|
|
@@ -428,9 +428,9 @@ class FastMCP:
|
|
|
428
428
|
async def run_sse_async(self) -> None:
|
|
429
429
|
"""Run the server using SSE transport."""
|
|
430
430
|
from starlette.applications import Starlette
|
|
431
|
-
from starlette.routing import Route
|
|
431
|
+
from starlette.routing import Route, Mount
|
|
432
432
|
|
|
433
|
-
sse = SseServerTransport("/messages")
|
|
433
|
+
sse = SseServerTransport("/messages/")
|
|
434
434
|
|
|
435
435
|
async def handle_sse(request):
|
|
436
436
|
async with sse.connect_sse(
|
|
@@ -442,14 +442,11 @@ class FastMCP:
|
|
|
442
442
|
self._mcp_server.create_initialization_options(),
|
|
443
443
|
)
|
|
444
444
|
|
|
445
|
-
async def handle_messages(request):
|
|
446
|
-
await sse.handle_post_message(request.scope, request.receive, request._send)
|
|
447
|
-
|
|
448
445
|
starlette_app = Starlette(
|
|
449
446
|
debug=self.settings.debug,
|
|
450
447
|
routes=[
|
|
451
448
|
Route("/sse", endpoint=handle_sse),
|
|
452
|
-
|
|
449
|
+
Mount("/messages/", app=sse.handle_post_message),
|
|
453
450
|
],
|
|
454
451
|
)
|
|
455
452
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|