Skip to main content
Python Server is a work in progress.

Running the Server

Learn how to run your mcp-use server using different transport methods and configurations.

Basic Usage

from mcp_use.server import MCPServer

server = MCPServer(name="My Server")

# Run with stdio transport (for MCP clients)
server.run(transport="stdio")

# Run with HTTP transport (for web clients)
server.run(transport="streamable-http", host="127.0.0.1", port=8000)

Transport Methods

stdio Transport

Standard input/output transport for MCP clients:
server.run(transport="stdio")

streamable-http Transport

HTTP-based transport for web clients:
server.run(
    transport="streamable-http",
    host="127.0.0.1",
    port=8000,
    reload=False,
    debug=False
)

Debug Mode

Enable debug mode for development features:
server = MCPServer(name="My Server", debug=True)

# Debug mode enables:
# - /openmcp.json endpoint
# - /docs endpoint
# - Enhanced logging
server.run(transport="streamable-http", debug=True)

Auto-reload

Enable auto-reload during development:
server.run(transport="streamable-http", reload=True)

Production Configuration

server.run(
    transport="streamable-http",
    host="0.0.0.0",
    port=8000,
    reload=False,
    debug=False
)

Command Line

Run directly with Python:
python my_server.py
Or use uvicorn directly:
uvicorn my_server:app --host 0.0.0.0 --port 8000