05154c8d75
- Added support for stdio transport type in MCP service configuration, allowing command execution via standard input/output. - Updated MCPService interface to include optional stdio_config and env_vars fields for managing command arguments and environment variables. - Enhanced frontend components to handle stdio transport, including dynamic form fields for command and arguments. - Implemented validation logic for stdio configuration in the service update process, ensuring proper handling of required fields. - Updated backend logic to manage stdio transport connections and ensure proper client lifecycle management.
20 lines
720 B
SQL
20 lines
720 B
SQL
-- 06-add-mcp-stdio-support.sql
|
|
-- Add stdio transport support for MCP services
|
|
|
|
-- Add stdio_config and env_vars columns
|
|
ALTER TABLE mcp_services
|
|
ADD COLUMN stdio_config JSON COMMENT 'Stdio configuration: {command: "uvx"/"npx", args: [...]}',
|
|
ADD COLUMN env_vars JSON COMMENT 'Environment variables for stdio transport';
|
|
|
|
-- Make url column optional (remove NOT NULL constraint)
|
|
ALTER TABLE mcp_services
|
|
MODIFY COLUMN url VARCHAR(512) NULL;
|
|
|
|
-- Add check constraint: stdio transport requires stdio_config, others require url
|
|
ALTER TABLE mcp_services
|
|
ADD CONSTRAINT chk_mcp_transport_config CHECK (
|
|
(transport_type = 'stdio' AND stdio_config IS NOT NULL) OR
|
|
(transport_type != 'stdio' AND url IS NOT NULL)
|
|
);
|
|
|