Skip to main content

Documentation Index

Fetch the complete documentation index at: https://flashmcpdocs.com/llms.txt

Use this file to discover all available pages before exploring further.

Testing your MCP servers thoroughly is essential for ensuring they work correctly when deployed. FlashMCP makes this easy through a variety of testing patterns.

In-Memory Testing

The most efficient way to test an MCP server is to pass your FlashMCP server instance directly to a Client. This enables in-memory testing without having to start a separate server process, which is particularly useful because managing an MCP server programmatically can be challenging. Here is an example of using a Client to test a server with pytest:
import pytest
from FlashMCP import FlashMCP, Client

@pytest.fixture
def mcp_server():
    server = FlashMCP("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!"
This pattern creates a direct connection between the client and server, allowing you to test your server’s functionality efficiently.