Rename FastMCP to MCPServer (#1951)

This commit is contained in:
Marcelo Trylesinski 2026-01-25 14:45:52 +01:00 • committed by GitHub
commit 65c614e48e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -9,57 +9,59 @@ import sys
from pathlib import Path
import pytest
from inline_snapshot import snapshot
from pytest_examples import CodeExample, EvalExample, find_examples
from mcp import Client
from mcp.types import TextContent, TextResourceContents
from mcp.types import CallToolResult, TextContent, TextResourceContents
@pytest.mark.anyio
async def test_simple_echo():
"""Test the simple echo server"""
from examples.fastmcp.simple_echo import mcp
from examples.mcpserver.simple_echo import mcp
async with Client(mcp) as client:
result = await client.call_tool("echo", {"text": "hello"})
assert len(result.content) == 1
content = result.content[0]
assert isinstance(content, TextContent)
assert content.text == "hello"
assert result == snapshot(
CallToolResult(content=[TextContent(text="hello")], structured_content={"result": "hello"})
)
@pytest.mark.anyio
async def test_complex_inputs():
"""Test the complex inputs server"""
from examples.fastmcp.complex_inputs import mcp
from examples.mcpserver.complex_inputs import mcp
async with Client(mcp) as client:
tank = {"shrimp": [{"name": "bob"}, {"name": "alice"}]}
result = await client.call_tool("name_shrimp", {"tank": tank, "extra_names": ["charlie"]})
assert len(result.content) == 3
assert isinstance(result.content[0], TextContent)
assert isinstance(result.content[1], TextContent)
assert isinstance(result.content[2], TextContent)
assert result.content[0].text == "bob"
assert result.content[1].text == "alice"
assert result.content[2].text == "charlie"
assert result == snapshot(
CallToolResult(
content=[
TextContent(text="bob"),
TextContent(text="alice"),
TextContent(text="charlie"),
],
structured_content={"result": ["bob", "alice", "charlie"]},
)
)
@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
from examples.mcpserver.direct_call_tool_result_return import mcp
async with Client(mcp) as client:
result = await client.call_tool("echo", {"text": "hello"})
assert len(result.content) == 1
content = result.content[0]
assert isinstance(content, TextContent)
assert content.text == "hello"
assert result.structured_content
assert result.structured_content["text"] == "hello"
assert isinstance(result.meta, dict)
assert result.meta["some"] == "metadata"
assert result == snapshot(
CallToolResult(
meta={"some": "metadata"}, # type: ignore[reportUnknownMemberType]
content=[TextContent(text="hello")],
structured_content={"text": "hello"},
)
)
@pytest.mark.anyio
@ -70,15 +72,12 @@ async def test_desktop(monkeypatch: pytest.MonkeyPatch):
monkeypatch.setattr(Path, "iterdir", lambda self: mock_files) # type: ignore[reportUnknownArgumentType]
monkeypatch.setattr(Path, "home", lambda: Path("/fake/home"))
from examples.fastmcp.desktop import mcp
from examples.mcpserver.desktop import mcp
async with Client(mcp) as client:
# Test the sum function
result = await client.call_tool("sum", {"a": 1, "b": 2})
assert len(result.content) == 1
content = result.content[0]
assert isinstance(content, TextContent)
assert content.text == "3"
assert result == snapshot(CallToolResult(content=[TextContent(text="3")], structured_content={"result": 3}))
# Test the desktop resource
result = await client.read_resource("dir://desktop")