Skip to content

Conversation

@patrickcping
Copy link
Collaborator

Change Description

This PR adds Docker container support with URL mode elicitation for headless device code authentication, enabling the MCP server to run in containerized environments without manual browser interaction.

Key Changes:

  • Updated Dockerfile with default environment variables for device code flow
  • Simplified docker-entrypoint.sh to directly run the server with device_code grant type
  • Upgraded to MCP SDK v1.2.0-pre.1 for URL mode elicitation support
  • Added MCP server session parameter to auth client TokenSource interface
  • Implemented URL mode elicitation in wrapper.go for headless device code authentication
  • Updated login, middleware, and initialize packages to pass MCP server session throughout
  • Enabled headless Docker authentication without requiring manual login step

Change Characteristics

  • This PR contains new MCP tools or resources
  • This PR requires introduction of breaking changes (auth client interface modified)
  • No changelog entry is needed
  • This PR contains authentication/session management changes
  • This PR affects command-line interface

Checklist

  • Check to confirm: I have performed a review of my PR against the PR checklist and confirm that:
    • Changes have proper test coverage (including unit tests)
    • Does not introduce breaking changes (unless required to do so)
    • Code follows the project's style guidelines and conventions
    • Documentation has been updated appropriately

Required Dependency Upgrades

  • github.com/modelcontextprotocol/go-sdk v1.2.0-pre.1

Testing

This PR has been tested with:

  • Unit tests (please paste commands and results below)
  • Manual testing with MCP client (please describe testing scenario below)
  • Integration tests (please paste commands and results below)
  • Not applicable (no evidences needed)

Shell Command(s)

# Build and test commands pending

Testing Results

Expand Results
# Results pending

Manual Testing Scenario

Manual testing scenario:

  • Test Docker container with device code flow in headless environment
  • Verify URL mode elicitation prompts user with authentication URL
  • Confirm successful authentication and MCP server startup
  • Test tool operations after authentication completes

Related Issues

N/a

…de auth

- Update Dockerfile with default env vars for device code flow
- Simplify docker-entrypoint.sh to directly run server with device_code grant type
- Upgrade to MCP SDK v1.2.0-pre.1 for URL mode elicitation support
- Add MCP server session parameter to auth client TokenSource interface
- Implement URL mode elicitation in wrapper.go for headless device code auth
- Update login, middleware, and initialize packages to pass MCP server session
- Enable headless Docker authentication without manual login step
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.

2 participants