2026-01-08 09:55:37 +00:00
|
|
|
# MCP Server Schema
|
|
|
|
|
# Model Context Protocol server with tools, prompts, resources, and sampling
|
|
|
|
|
|
2026-05-12 02:23:01 +01:00
|
|
|
let workspace_schema = import "schemas/platform/common/workspace.ncl" in
|
|
|
|
|
let server_schema = import "schemas/platform/common/server.ncl" in
|
|
|
|
|
let security_schema = import "schemas/platform/common/security.ncl" in
|
|
|
|
|
let monitoring_schema = import "schemas/platform/common/monitoring.ncl" in
|
|
|
|
|
let logging_schema = import "schemas/platform/common/logging.ncl" in
|
|
|
|
|
let docker_build_schema = import "schemas/platform/docker-build.ncl" in
|
2026-01-08 09:55:37 +00:00
|
|
|
|
|
|
|
|
{
|
|
|
|
|
MCPServerConfig = {
|
|
|
|
|
# Workspace configuration
|
|
|
|
|
workspace | workspace_schema.WorkspaceConfig,
|
|
|
|
|
|
|
|
|
|
# HTTP server settings
|
|
|
|
|
server | server_schema.ServerConfig,
|
|
|
|
|
|
|
|
|
|
# MCP Protocol Configuration
|
|
|
|
|
protocol | {
|
|
|
|
|
# Protocol version
|
|
|
|
|
version | String | default = "1.0",
|
|
|
|
|
|
|
|
|
|
# Server role (standard MCP roles)
|
|
|
|
|
|
|
|
|
|
# Transport mechanism
|
|
|
|
|
transport | {
|
|
|
|
|
# HTTP/WebSocket/stdio
|
|
|
|
|
|
|
|
|
|
# Server endpoint
|
|
|
|
|
endpoint | String | optional,
|
|
|
|
|
|
|
|
|
|
# WebSocket path
|
|
|
|
|
ws_path | String | optional,
|
|
|
|
|
|
|
|
|
|
# Timeout in milliseconds
|
|
|
|
|
timeout | Number | optional,
|
|
|
|
|
} | optional,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
# Tools Configuration
|
|
|
|
|
tools | {
|
|
|
|
|
# Enable tools
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
|
|
|
|
|
# Max concurrent tool executions
|
|
|
|
|
max_concurrent | Number | default = 5,
|
|
|
|
|
|
|
|
|
|
# Tool execution timeout in milliseconds
|
|
|
|
|
timeout | Number | default = 30000,
|
|
|
|
|
|
|
|
|
|
# Tool categories
|
|
|
|
|
categories | Array String | optional,
|
|
|
|
|
|
|
|
|
|
# Tool validation
|
|
|
|
|
validation | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
strict_mode | Bool | default = false,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Tool caching
|
|
|
|
|
cache | {
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
ttl | Number | optional,
|
|
|
|
|
} | optional,
|
2026-05-12 02:23:01 +01:00
|
|
|
} | optional,
|
2026-01-08 09:55:37 +00:00
|
|
|
|
|
|
|
|
# Prompts Configuration
|
|
|
|
|
prompts | {
|
|
|
|
|
# Enable prompts
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
|
|
|
|
|
# Max custom templates
|
|
|
|
|
max_templates | Number | default = 100,
|
|
|
|
|
|
|
|
|
|
# Template engine
|
|
|
|
|
|
|
|
|
|
# Prompt caching
|
|
|
|
|
cache | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
ttl | Number | optional,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Prompt versioning
|
|
|
|
|
versioning | {
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
max_versions | Number | optional,
|
|
|
|
|
} | optional,
|
2026-05-12 02:23:01 +01:00
|
|
|
} | optional,
|
2026-01-08 09:55:37 +00:00
|
|
|
|
|
|
|
|
# Resources Configuration
|
|
|
|
|
resources | {
|
|
|
|
|
# Enable resources
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
|
|
|
|
|
# Max resource size in bytes
|
|
|
|
|
max_size | Number | default = 104857600,
|
|
|
|
|
|
|
|
|
|
# Supported resource types
|
|
|
|
|
types | Array String | optional,
|
|
|
|
|
|
|
|
|
|
# Resource caching
|
|
|
|
|
cache | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
max_size_mb | Number | optional,
|
|
|
|
|
ttl | Number | optional,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Resource validation
|
|
|
|
|
validation | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
max_depth | Number | optional,
|
|
|
|
|
} | optional,
|
2026-05-12 02:23:01 +01:00
|
|
|
} | optional,
|
2026-01-08 09:55:37 +00:00
|
|
|
|
|
|
|
|
# Sampling Configuration
|
|
|
|
|
sampling | {
|
|
|
|
|
# Enable sampling
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
|
|
|
|
|
# Max tokens for sampling
|
|
|
|
|
max_tokens | Number | optional,
|
|
|
|
|
|
|
|
|
|
# Sampling model
|
|
|
|
|
model | String | optional,
|
|
|
|
|
|
|
|
|
|
# Temperature
|
|
|
|
|
temperature | Number | optional,
|
|
|
|
|
|
|
|
|
|
# Sampling cache
|
|
|
|
|
cache | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
ttl | Number | optional,
|
|
|
|
|
} | optional,
|
2026-05-12 02:23:01 +01:00
|
|
|
} | optional,
|
2026-01-08 09:55:37 +00:00
|
|
|
|
|
|
|
|
# Capabilities Declaration
|
|
|
|
|
capabilities | {
|
|
|
|
|
# Tools capability
|
|
|
|
|
tools | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
list_changed_callback | Bool | default = false,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Prompts capability
|
|
|
|
|
prompts | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
list_changed_callback | Bool | default = false,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Resources capability
|
|
|
|
|
resources | {
|
|
|
|
|
enabled | Bool | default = true,
|
|
|
|
|
list_changed_callback | Bool | default = false,
|
|
|
|
|
subscribe | Bool | default = false,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Sampling capability
|
|
|
|
|
sampling | {
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
} | optional,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Integration with Orchestrator
|
|
|
|
|
orchestrator_integration | {
|
|
|
|
|
# Enable orchestrator integration
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
|
|
|
|
|
# Orchestrator endpoint
|
|
|
|
|
endpoint | String | optional,
|
|
|
|
|
|
|
|
|
|
# Authentication token
|
|
|
|
|
token | String | optional,
|
|
|
|
|
|
|
|
|
|
# Workspace to connect to
|
|
|
|
|
workspace | String | optional,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Integration with Control Center
|
|
|
|
|
control_center_integration | {
|
|
|
|
|
# Enable control center integration
|
|
|
|
|
enabled | Bool | default = false,
|
|
|
|
|
|
|
|
|
|
# Control center endpoint
|
|
|
|
|
endpoint | String | optional,
|
|
|
|
|
|
|
|
|
|
# RBAC enforcement
|
|
|
|
|
enforce_rbac | Bool | default = true,
|
|
|
|
|
} | optional,
|
|
|
|
|
|
|
|
|
|
# Security configuration
|
|
|
|
|
security | security_schema.SecurityConfig | optional,
|
|
|
|
|
|
|
|
|
|
# Monitoring configuration
|
|
|
|
|
monitoring | monitoring_schema.MonitoringConfig | optional,
|
|
|
|
|
|
|
|
|
|
# Logging configuration
|
|
|
|
|
logging | logging_schema.LoggingConfig | optional,
|
|
|
|
|
|
|
|
|
|
# Performance tuning
|
|
|
|
|
performance | {
|
|
|
|
|
# Connection pooling
|
|
|
|
|
pool_size | Number | optional,
|
|
|
|
|
|
|
|
|
|
# Request buffering
|
|
|
|
|
buffer_size | Number | optional,
|
|
|
|
|
|
|
|
|
|
# Enable compression
|
|
|
|
|
compression | Bool | default = false,
|
|
|
|
|
|
|
|
|
|
# Compression level
|
|
|
|
|
compression_level | String | optional,
|
|
|
|
|
} | optional,
|
2026-05-12 02:23:01 +01:00
|
|
|
|
|
|
|
|
# Docker build configuration
|
|
|
|
|
build | docker_build_schema.DockerBuildConfig | optional,
|
2026-01-08 09:55:37 +00:00
|
|
|
},
|
|
|
|
|
}
|