Skip to content

client: mark Amazon Q as non-stdio MCP client#361

Open
Pnkcaht wants to merge 2 commits intodocker:mainfrom
Pnkcaht:feat/amazon-q-stdio-flag
Open

client: mark Amazon Q as non-stdio MCP client#361
Pnkcaht wants to merge 2 commits intodocker:mainfrom
Pnkcaht:feat/amazon-q-stdio-flag

Conversation

@Pnkcaht
Copy link
Contributor

@Pnkcaht Pnkcaht commented Jan 23, 2026

What I did

Added Amazon Q Developer to the list of supported MCP clients in the Docker MCP Gateway configuration.
This change registers Amazon Q as a non-stdio MCP client, making it visible, discoverable, and correctly handled by the gateway while explicitly blocking unsupported stdio connection attempts.
The goal is to enable Docker MCP integration visibility for AWS-focused workflows without allowing invalid transport usage.

Related issue

Fixed #353

What was the problem ?

Amazon Q Developer was not present in the supported clients list.

Because of this:

  • Amazon Q did not appear in docker-mcp client ls
  • Users had no official confirmation that Amazon Q was recognized by the gateway
  • There was no explicit signal that Amazon Q does not support MCP stdio
  • Invalid connection attempts failed implicitly instead of by design

Explanation

Amazon Q Developer does not support MCP stdio transports.

This PR explicitly registers Amazon Q with:

  • stdio: false
  • Proper client metadata
  • Gateway-level enforcement of transport limitations

By doing so, the gateway can expose Amazon Q safely while preventing unsupported usage paths.

Diagram

Amazon Q Client Registration & Connection Flow

flowchart TD
    A[MCP Gateway starts] --> B[Load supported clients]
    B --> C{Client is Amazon Q?}
    C -->|Yes| D[Register client with stdio disabled]
    D --> E[Expose client via client ls]
    E --> F{User attempts connect?}
    F -->|Yes| G[Reject: stdio not supported]
    F -->|No| H[Client remains discoverable]
Loading

Before

  • Amazon Q was not listed as a supported client
  • docker-mcp client ls did not show Amazon Q
  • No transport constraints were enforced at registration level
  • Users could not validate Amazon Q MCP support

After

  • Amazon Q appears in docker-mcp client ls
  • Client is marked as disconnected by default
  • Stdio connections are explicitly rejected with a clear error
  • Gateway behavior matches Amazon Q’s real MCP capabilities

Configuration (config.yml)

Amazon Q is explicitly declared in the embedded config.yml file.
The configuration registers the client with full metadata while intentionally disabling stdio support, making the limitation explicit and enforceable at the configuration level.

image

Testing

Client discovery

go run ./cmd/docker-mcp client ls --global

Observed behavior:

  • amazon-q appears in the system-wide MCP configurations
  • The client is correctly marked as disconnected
  • Other supported clients (for example, VS Code) remain unaffected
  • This confirms that Amazon Q is correctly registered and discoverable by the MCP Gateway.

Connection attempt

go run ./cmd/docker-mcp client connect amazon-q --global

Observed behavior:

client does not support MCP stdio

This shows that:

  • The gateway explicitly blocks stdio connections for Amazon Q
  • The failure is intentional and enforced by configuration
  • Unsupported transport usage is rejected with a clear error message

State validation after failure

After the failed connection attempt, the client list was queried again:

go run ./cmd/docker-mcp client ls --global

Observed behavior:

  • amazon-q remains disconnected
  • No partial or inconsistent state is introduced
  • Other clients remain connected and functional

This demonstrates that invalid connection attempts do not corrupt client state and that transport enforcement behaves as expected.

image

Signed-off-by: pnkcaht <samzoovsk19@gmail.com>
@Pnkcaht Pnkcaht requested a review from a team as a code owner January 23, 2026 20:05
cutecatfann
cutecatfann previously approved these changes Jan 23, 2026
Copy link
Contributor

@cutecatfann cutecatfann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing! 😁

@bpmiranda3099
Copy link

Thank you @Pnkcaht. I've been following this closely as the reporter of the original issue #353 . The changes look great, but it seems the CI is blocked by a documentation error. Any updates on when that might be addressed?

@Pnkcaht
Copy link
Contributor Author

Pnkcaht commented Jan 26, 2026

Thank you @Pnkcaht. I've been following this closely as the reporter of the original issue #353 . The changes look great, but it seems the CI is blocked by a documentation error. Any updates on when that might be addressed?

I'll fix the error this morning and wait for the merge @bpmiranda3099

Signed-off-by: pnkcaht <samzoovsk19@gmail.com>
@Pnkcaht
Copy link
Contributor Author

Pnkcaht commented Jan 26, 2026

I reverted to the current main state and used make docs, which updated the system and will likely eliminate the "Validate docs" error mentioned. Done. @bpmiranda3099 @cutecatfann

@Pnkcaht Pnkcaht requested a review from cutecatfann January 26, 2026 15:01
Copy link
Contributor

@cutecatfann cutecatfann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for patience! Looks great to me!

@slimslenderslacks
Copy link
Collaborator

What do we mean by "client does not support MCP stdio"? Amazon-Q does support stdio connections to the gateway, doesn't it?

@Pnkcaht
Copy link
Contributor Author

Pnkcaht commented Feb 3, 2026

What do we mean by "client does not support MCP stdio"? Amazon-Q does support stdio connections to the gateway, doesn't it?

@slimslenderslacks Amazon Q supports stdio for local MCP servers, but when connecting via the Docker MCP Gateway, stdio transport is not supported.
The gateway acts as an intermediary, so stdio connections from Amazon Q would conflict with the gateway’s process model.
For this reason, the client is explicitly marked as non-stdio (stdio: false) to prevent invalid connections

Thanks for the question :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Amazon Q Developer client

4 participants