canvas-mcp entry point. The transport you choose depends on where your MCP client runs — locally on the same machine, on a remote host, or in a legacy environment that only speaks SSE.
Choosing a transport
| Transport | Best for |
|---|---|
stdio (default) | Desktop clients on the same machine (Claude Desktop, Cursor) |
http / streamable-http | Networked or production deployments; recommended by FastMCP v3 |
sse | Legacy clients that require Server-Sent Events |
stdio
stdio is the default transport and requires no additional flags. The MCP client launches canvas-mcp as a subprocess and communicates over its standard input/output streams.
Desktop clients like Claude Desktop and Cursor always use stdio. They manage the subprocess lifecycle themselves — you do not need to keep a server running in the background.
HTTP (streamable-http)
http and streamable-http are aliases for the same FastMCP transport. The server binds to a host and port and exposes the MCP endpoint at /mcp by default. Use this transport when your client is on a different machine or when you want a persistent server process.
http://127.0.0.1:8000/mcp.
You can also use the helper script, which loads .env automatically:
SSE
sse provides legacy Server-Sent Events support for older MCP clients. It accepts the same --host and --port flags as HTTP.
CLI flags
Transport to expose. Accepted values:
stdio, http, streamable-http, sse. http and streamable-http are equivalent.Network interface for HTTP-based transports. Ignored when
--transport stdio is used. Example: 127.0.0.1 to bind loopback only, 0.0.0.0 to bind all interfaces.Port number for HTTP-based transports. Ignored when
--transport stdio is used.Custom MCP endpoint path for HTTP-based transports. Defaults to
/mcp when using the http transport.Disable the FastMCP startup banner. Useful in environments where clean stdout is required.
