You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
798 B
29 lines
798 B
"""
|
|
Run from the repository root:
|
|
uv run examples/snippets/servers/streamable_config.py
|
|
"""
|
|
|
|
from mcp.server.fastmcp import FastMCP
|
|
|
|
# Stateful server (maintains session state)
|
|
mcp = FastMCP("StatefulServer", json_response=True)
|
|
|
|
# Other configuration options:
|
|
# Stateless server (no session persistence)
|
|
# mcp = FastMCP("StatelessServer", stateless_http=True)
|
|
|
|
# Stateless server (no session persistence, no sse stream with supported client)
|
|
# mcp = FastMCP("StatelessServer", stateless_http=True, json_response=True)
|
|
|
|
|
|
# Add a simple tool to demonstrate the server
|
|
@mcp.tool()
|
|
def greet(name: str = "World") -> str:
|
|
"""Greet someone by name."""
|
|
return f"Hello, {name}!"
|
|
|
|
|
|
# Run server with streamable_http transport
|
|
if __name__ == "__main__":
|
|
mcp.run(transport="streamable-http")
|