Add user-managed environment variables and Metabase MCP server support - #11
Merged
manuelkiessling merged 13 commits intoSep 24, 2025
Merged
Conversation
- Implement generic user-managed environment variable system using mapped table approach - Create McpInstanceEnvironmentVariable entity with proper Doctrine relationships - Add UI for managing environment variables in instance detail page - Fix existing gap where instance type env vars weren't merged into container creation - Add Metabase MCP v1 instance type with required METABASE_URL and METABASE_API_KEY support - Create Docker image for metabase-mcp-server integration - Use proper table naming conventions (mcp_instance_environment_variables) - Resolve SQL reserved word issue by using env_key column name - Follow Hexagonal Architecture patterns with proper layer separation Co-Authored-By: manuel@kiessling.net <manuel@kiessling.net>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
- Add proper mock implementations for addFlash and redirectToRoute methods - Fix return type compatibility with Symfony's AbstractController - Update URL assertions to match mock redirect behavior - All 6 controller tests now pass successfully Co-Authored-By: manuel@kiessling.net <manuel@kiessling.net>
- Fix code style issues in McpInstancesDomainServiceTest.php - Fix code style issues in InstancesControllerEnvironmentVariablesTest.php - Ensure consistent formatting across all test files Co-Authored-By: manuel@kiessling.net <manuel@kiessling.net>
5 tasks
…-side architecture - Add comprehensive client-side architecture documentation to archbook.md - Document Stimulus controller organization within feature boundaries - Add client-side testing patterns to software-test-design.mdc - Update AssetMapper to include feature-specific asset paths - Create environment_variables_controller.js using Stimulus framework - Refactor instances_detail.html.twig to use Twig Stimulus helpers - Replace inline JavaScript with proper Stimulus controller - Use semantic HTML <template> element for row templates - Add data-test attributes for stable UI testing - Maintain all existing functionality while improving code organization Co-Authored-By: manuel@kiessling.net <manuel@kiessling.net>
…ocs-update-v2 Refactor environment variables UI to use Stimulus and document client-side architecture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add user-managed environment variables and Metabase MCP server support
Summary
Implements a generic system for users to provide custom environment variables to MCP instances via the UI, then adds a new "Metabase" instance type that integrates the metabase-mcp-server and requires
METABASE_URLandMETABASE_API_KEYcredentials.Key Changes:
mcp_instance_environment_variablestable with proper entity relationshipsReview & Testing Checklist for Human
This is a medium-risk change that touches database, container orchestration, and user input handling.
METABASE_URLandMETABASE_API_KEY, verify container starts successfullyRecommended Test Plan:
Notes
keycolumn (renamed toenv_key)Requested by: @manuelkiessling
Link to Devin run: https://app.devin.ai/sessions/a0eaccf3cd904767b484d892cdbf9aeb