Unable to start MCP Server using SSE

I am trying to start the MCP server in SSE mode, but it is failing to start due to a configuration issue. I am trying to integrate the server into an n8n workflow. The built-in MCP node uses SSE only. (There is a community plugin that uses streaming, which I may switch to, but I wanted to bring up this concern first.)

If I remove the --sse-port parameter, the server starts with no problem, but in streaming mode instead.

When I attempt to specify the SSE port parameter, I get an error stating that there is a conflict with the HTTP_ADDRESS parameter, which I am not specifying. It’s like the HTTP_ADDRESS parameter default doesn’t know to go away if SSE is specified.

I have also tried adding the --sse-address parameter, but essentially the same error is returned.

Here is my exact command for starting the MCP server (minus the graph creds and endpoint).

docker run \
-e APOLLO_KEY=... \
-e APOLLO_GRAPH_REF=... \
--network agent-net \
-it --rm \
--name apollo-mcp-server \
-p 5001:5000 -v $PWD/graphql/tl:/data \
ghcr.io/apollographql/apollo-mcp-server:latest \
--operations operations/ \
--uplink \
--sse-port 5000 \
--log DEBUG \
--header "authorization: Bearer $TOKEN" \
--endpoint ...

Here is the error I receive:

error: the argument '--http-address <HTTP_ADDRESS>' cannot be used with '--sse-port <SSE_PORT>'

Usage: apollo-mcp-server --directory <DIRECTORY> --http-address <HTTP_ADDRESS> --http-port <HTTP_PORT> --operations [<OPERATIONS>...] --uplink --log <LOG_LEVEL> --header <HEADERS> --endpoint <ENDPOINT> --apollo-key <APOLLO_KEY> --apollo-graph-ref <APOLLO_GRAPH_REF> [APOLLO_REGISTRY_URL]

For more information, try '--help'.

I can file an issue, but I first wanted to make sure I’m not missing anything obvious.

Thanks,
Chris

Hi @coman, I was able to reproduce the issue. I’ll look into it and get back to you.

Hey @coman, the apollo-mcp-server image uses Streamable HTTP transport by default because the SSE transport is deprecated, as mentioned in the MCP docs. We need to adjust our build setup to support both Streamable HTTP transport and SSE transport.

The Apollo Runtime Container supports both transports. We recommend using it if you are utilizing the router:

Alternatively, you can use our binary, which also supports both Streamable HTTP transport and SSE transport: Command Reference - Apollo GraphQL Docs

Thanks for taking a look at this.