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.
24 lines
752 B
PL/PgSQL
24 lines
752 B
PL/PgSQL
-- 06-add-mcp-stdio-support.sql
|
|
-- Add stdio transport support for MCP services
|
|
|
|
BEGIN;
|
|
|
|
-- Add stdio_config and env_vars columns
|
|
ALTER TABLE mcp_services
|
|
ADD COLUMN IF NOT EXISTS stdio_config JSONB, -- Stdio configuration: {command: "uvx"/"npx", args: [...]}
|
|
ADD COLUMN IF NOT EXISTS env_vars JSONB; -- Environment variables for stdio transport
|
|
|
|
-- Make url column optional (remove NOT NULL constraint)
|
|
ALTER TABLE mcp_services
|
|
ALTER COLUMN url DROP NOT 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)
|
|
);
|
|
|
|
COMMIT;
|
|
|