全面测试您的MCP服务器对于确保它们在部署时正常工作至关重要。FastMCP通过多种测试模式使这一过程变得简单。

内存测试

测试MCP服务器最高效的方式是将您的FastMCP服务器实例直接传递给客户端。这样可以在内存中进行测试,无需启动单独的服务器进程,这一点特别有用,因为通过编程方式管理MCP服务器可能具有挑战性。

以下是使用Client通过pytest测试服务器的示例:

import pytest
from fastmcp import FastMCP, Client

@pytest.fixture
def mcp_server():
    server = FastMCP("TestServer")
    
    @server.tool()
    def greet(name: str) -> str:
        return f"Hello, {name}!"
        
    return server

async def test_tool_functionality(mcp_server):
    # Pass the server directly to the Client constructor
    async with Client(mcp_server) as client:
        result = await client.call_tool("greet", {"name": "World"})
        assert result[0].text == "Hello, World!"

该模式在客户端和服务器之间建立直接连接,使您能够高效测试服务器的功能。