8000 feat: Enhance MCP server management and Linux secret handling by robsonalvesdevbr · Pull Request #149 · docker/mcp-gateway · GitHub
[go: up one dir, main page]

Skip to content

Conversation

robsonalvesdevbr
Copy link

Summary of Changes: #119
This PR includes significant improvements to the MCP server management system and tools, with special focus on Linux environments.

Key Features Added:

✨ Enhanced secret management for Linux environments - Improved security and credential configuration
🔧 Server list command - New functionality to view available servers
📚 Official MCP registry integration - Command for importing servers from official registry
⚙️ Dynamic tools - More flexible tool addition/removal system
📖 Updated documentation - Project documentation improvements
Technical Improvements:

Server descriptions storage
Dynamic server configuration by agents
Enhanced verbose flag handling
Linting and code quality fixes
How to Test:

Verify new server list commands
Test official registry import
Validate secret management on Linux
This description highlights collaborative improvements and features that benefit the entire development team.

- Implemented a fallback system for secret management commands to support Linux environments without Docker Desktop.
- Added support for multiple secret storage backends: Docker Desktop, Docker Credential Store, and local file storage.
- Introduced a provider chain pattern to automatically detect and use available secret storage methods.
- Updated secret management commands (`set`, `list`, `rm`) to utilize the new provider system.
- Improved error handling and logging for missing secrets.
- Added comprehensive tests for the new provider implementations and their functionalities.
- Documented the new Linux secrets support in a dedicated markdown file.
- Updated import paths from internal/ to pkg/ structure
- Resolved conflicts in secret management and gateway configuration files
Copy link
Collaborator
@slimslenderslacks slimslenderslacks left a comment

Choose a reason for hiding this comment

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

Will bring in more people on the engine side.

@slimslenderslacks
Copy link
Collaborator

I like that the providers are chained and that this gives us a quick win for Docker on linux environments. Let's talk to @joe0BAB and @Benehiko to make sure the provider interface lines up with what they're doing. I don't think we actually need a read method in the interface if the secrets are only ever readable by the running MCP container.

- Add SecretManager orchestrator with environment detection
- Implement SwarmProvider for Docker Swarm Secrets API
- Add mount strategies (Swarm, Desktop, Tmpfs)
- Create 'docker mcp secret diagnose' command
- Update all providers with SupportsSecureMount()
- Add comprehensive documentation and implementation plan

Breaking Changes: None
Tests: All passing
Backward Compatibility: 100%
- Add SecretManager orchestrator with environment detection
- Implement SwarmProvider for Docker Swarm Secrets API
- Add mount strategies (Swarm, Desktop, Tmpfs)
- Create 'docker mcp secret diagnose' command
- Update all providers with SupportsSecureMount()
- Add comprehensive documentation and implementation plan

Breaking Changes: None
Tests: All passing
Backward Compatibility: 100%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet
3FE2

Development

Successfully merging this pull request may close these issues.

2 participants

0