config.schema.jsonโข5.52 kB
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "RS.ge Waybill MCP Server Configuration",
"description": "Configuration schema for the RS.ge Waybill MCP server",
"type": "object",
"required": ["server", "api"],
"properties": {
"server": {
"type": "object",
"description": "MCP server configuration",
"required": ["name", "version"],
"properties": {
"name": {
"type": "string",
"description": "Name of the MCP server",
"default": "rs-waybill-mcp"
},
"version": {
"type": "string",
"description": "Version of the MCP server",
"pattern": "^\\d+\\.\\d+\\.\\d+$",
"default": "1.0.0"
},
"description": {
"type": "string",
"description": "Description shown to Claude Desktop"
}
}
},
"api": {
"type": "object",
"description": "RS.ge SOAP API configuration",
"required": ["baseUrl"],
"properties": {
"baseUrl": {
"type": "string",
"description": "Base URL of the RS.ge SOAP API",
"format": "uri",
"default": "https://services.rs.ge/WayBillService/WayBillService.asmx"
},
"timeout": {
"type": "integer",
"description": "Request timeout in milliseconds",
"minimum": 5000,
"maximum": 300000,
"default": 30000
},
"retries": {
"type": "integer",
"description": "Number of retry attempts for failed requests",
"minimum": 0,
"maximum": 5,
"default": 3
},
"retryDelay": {
"type": "integer",
"description": "Delay between retries in milliseconds",
"minimum": 1000,
"maximum": 10000,
"default": 2000
}
}
},
"credentials": {
"type": "object",
"description": "RS.ge API credentials (use environment variables for production!)",
"properties": {
"serviceUser": {
"type": "string",
"description": "Service user in format 'tin:user_id' or ${ENV_VAR}",
"pattern": "^(\\d+:\\d+|\\$\\{[A-Z_]+\\})$"
},
"servicePassword": {
"type": "string",
"description": "Service password or ${ENV_VAR}"
}
}
},
"logging": {
"type": "object",
"description": "Logging configuration",
"properties": {
"level": {
"type": "string",
"description": "Log level",
"enum": ["error", "warn", "info", "debug"],
"default": "info"
},
"file": {
"type": "string",
"description": "Log file path (relative to project root)",
"default": "logs/mcp-server.log"
},
"console": {
"type": "boolean",
"description": "Enable console logging",
"default": true
},
"maxSize": {
"type": "string",
"description": "Maximum log file size (e.g., '10m' for 10 megabytes)",
"default": "10m"
},
"maxFiles": {
"type": "integer",
"description": "Maximum number of log files to keep",
"minimum": 1,
"maximum": 30,
"default": 7
}
}
},
"features": {
"type": "object",
"description": "Feature flags to enable/disable specific tools",
"properties": {
"getWaybills": {
"type": "boolean",
"description": "Enable get_waybills tool",
"default": true
},
"saveWaybill": {
"type": "boolean",
"description": "Enable save_waybill tool",
"default": true
},
"sendWaybill": {
"type": "boolean",
"description": "Enable send_waybill tool",
"default": true
},
"closeWaybill": {
"type": "boolean",
"description": "Enable close_waybill tool",
"default": true
},
"confirmWaybill": {
"type": "boolean",
"description": "Enable confirm_waybill tool",
"default": true
},
"rejectWaybill": {
"type": "boolean",
"description": "Enable reject_waybill tool",
"default": true
},
"getErrorCodes": {
"type": "boolean",
"description": "Enable get_error_codes tool",
"default": true
},
"getAkcizCodes": {
"type": "boolean",
"description": "Enable get_akciz_codes tool",
"default": true
},
"getNameFromTin": {
"type": "boolean",
"description": "Enable get_name_from_tin tool",
"default": true
}
}
},
"customization": {
"type": "object",
"description": "Customization options for adapting to other APIs",
"properties": {
"dateFormat": {
"type": "string",
"description": "Date format for API requests (e.g., 'YYYY-MM-DD')",
"default": "YYYY-MM-DD"
},
"soapNamespace": {
"type": "string",
"description": "SOAP namespace URI",
"default": "http://tempuri.org/"
},
"clientSideFiltering": {
"type": "boolean",
"description": "Enable client-side date filtering (for APIs that ignore date params)",
"default": true
}
}
}
}
}