provisioning/schemas/platform/defaults/mcp-server-defaults.ncl

112 lines
4.3 KiB
Text
Raw Normal View History

# MCP Server Service Default Configuration
# Pattern: 3-Layer Config (flat notation + | default)
let mcp_server_schema = import "../mcp-server.ncl" in
let monitoring_defaults = import "./common/monitoring-defaults.ncl" in
let logging_defaults = import "./common/logging-defaults.ncl" in
let base_mcp_server = {
# Workspace Configuration
workspace.name | default = "default",
workspace.path | default = "/var/lib/provisioning/mcp-server",
workspace.enabled | default = true,
workspace.multi_workspace | default = false,
# HTTP Server Settings
server.host | default = "127.0.0.1",
server.port | default = 9093,
server.workers | default = 4,
server.keep_alive | default = 75,
server.max_connections | default = 100,
server.request_timeout | default = 30000,
server.graceful_shutdown | default = true,
server.shutdown_timeout | default = 30,
# MCP Protocol Configuration
protocol.version | default = "1.0",
protocol.transport.endpoint | default = "http://localhost:9093",
protocol.transport.timeout | default = 30000,
# Tools Configuration
tools.enabled | default = true,
tools.max_concurrent | default = 5,
tools.timeout | default = 30000,
tools.validation.enabled | default = true,
tools.validation.strict_mode | default = false,
tools.cache.enabled = true,
tools.cache.ttl | default = 3600,
# Prompts Configuration
prompts.enabled | default = true,
prompts.max_templates | default = 100,
prompts.cache.enabled = true,
prompts.cache.ttl | default = 3600,
prompts.versioning.enabled | default = false,
prompts.versioning.max_versions | default = 10,
# Resources Configuration
resources.enabled | default = true,
resources.max_size | default = 104857600,
resources.cache.enabled = true,
resources.cache.max_size_mb | default = 512,
resources.cache.ttl | default = 3600,
resources.validation.enabled | default = true,
resources.validation.max_depth | default = 10,
# Sampling Configuration
sampling.enabled | default = false,
sampling.max_tokens | default = 4096,
sampling.temperature | default = 0.7,
sampling.cache.enabled = true,
sampling.cache.ttl | default = 3600,
# Capabilities Declaration
capabilities.tools.enabled | default = true,
capabilities.tools.list_changed_callback | default = false,
capabilities.prompts.enabled | default = true,
capabilities.prompts.list_changed_callback | default = false,
capabilities.resources.enabled | default = true,
capabilities.resources.list_changed_callback | default = false,
capabilities.resources.subscribe | default = false,
capabilities.sampling.enabled | default = false,
# Orchestrator Integration
orchestrator_integration.enabled | default = false,
# Control Center Integration
control_center_integration.enabled | default = false,
control_center_integration.enforce_rbac | default = true,
# Performance Tuning
performance.pool_size | default = 10,
performance.buffer_size | default = 1024,
performance.compression | default = false,
# Docker Build Configuration (no | default to override schema)
build.package = "mcp-server",
build.binary = "provisioning-mcp-server",
build.port = 9093,
build.features = [],
build.extra_runtime_pkgs = [],
build.config_file = "config.defaults.toml",
# Monitoring Configuration (from common defaults)
monitoring.enabled | default = monitoring_defaults.monitoring.enabled,
monitoring.metrics.enabled | default = monitoring_defaults.monitoring.metrics.enabled,
monitoring.metrics.interval | default = monitoring_defaults.monitoring.metrics.interval,
monitoring.health_check.enabled | default = monitoring_defaults.monitoring.health_check.enabled,
monitoring.health_check.interval | default = monitoring_defaults.monitoring.health_check.interval,
monitoring.resources.cpu | default = monitoring_defaults.monitoring.resources.cpu,
monitoring.resources.memory | default = monitoring_defaults.monitoring.resources.memory,
monitoring.resources.alert_threshold | default = monitoring_defaults.monitoring.resources.alert_threshold,
# Logging Configuration (from common defaults)
logging.level | default = logging_defaults.logging.level,
logging.format | default = logging_defaults.logging.format,
} in
{
# Base configuration with all defaults
mcp_server = base_mcp_server | mcp_server_schema.MCPServerConfig,
}