Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,16 @@ uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-
uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-http --endpoint /snowflake-mcp
```

# Use environment variable for endpoint
## Transport Customizations
The below server customizations are available when running with `sse` and `streamable-http` transports.

| Server Parameter | CLI Arguments | Environment Variable | Default |
|-----------|--------------|---------------------|------------------|
| Host | --server-host | SNOWFLAKE_MCP_HOST | "0.0.0.0"
| Port | --port | SNOWFLAKE_MCP_PORT | 9000
| Endpoint | --endpoint | SNOWFLAKE_MCP_ENDPOINT | /mcp

Example:
```bash
export SNOWFLAKE_MCP_ENDPOINT="/my-mcp"
uvx snowflake-labs-mcp --service-config-file config.yaml --transport streamable-http
Expand Down
22 changes: 18 additions & 4 deletions mcp_server_snowflake/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -479,10 +479,24 @@ def parse_arguments():
help="Transport for the MCP server",
default="stdio",
)
parser.add_argument(
"--server-host", # Avoid using simply host here as it conflicts with the host argument in the Snowflake Python Connector
required=False,
help="Host address to bind the server to (default: 0.0.0.0)",
default="0.0.0.0",
)
# These left as simply port and endpoint for backward compatibility with existing deployments
parser.add_argument(
"--port",
required=False,
type=int,
help="Port number for the server to listen on (default: 9000)",
default=9000,
)
parser.add_argument(
"--endpoint",
required=False,
help="Endpoint path for the MCP server (default: /snowflake-mcp)",
help="Endpoint path for the MCP server (default: /mcp)",
default="/mcp",
)

Expand Down Expand Up @@ -595,11 +609,11 @@ def main():
"sse",
"streamable-http",
]:
host = os.environ.get("SNOWFLAKE_MCP_HOST", args.server_host)
port = int(os.environ.get("SNOWFLAKE_MCP_PORT", str(args.port)))
endpoint = os.environ.get("SNOWFLAKE_MCP_ENDPOINT", args.endpoint)
logger.info(f"Starting server with transport: {args.transport}")
server.run(
transport=args.transport, host="0.0.0.0", port=9000, path=endpoint
)
server.run(transport=args.transport, host=host, port=port, path=endpoint)
else:
logger.info(f"Starting server with transport: {args.transport or 'stdio'}")
server.run(transport=args.transport or "stdio")
Expand Down
Loading