Skip to main content
Glama

Sumanshu Arora

CONFIGURATION_PATTERNS.mdβ€’2.56 kB
# Demo Template Configuration Patterns The demo template demonstrates two key configuration patterns for MCP server templates: ## Pattern 1: Standard Configuration (config_schema) Standard configuration uses the `config_schema` in `template.json` and provides: - Type validation - Default values - Environment variable mapping - Structured configuration management ### Usage Examples: ```bash # Via CLI config argument mcpt deploy demo --config hello_from="My Server" mcpt deploy demo --config log_level=debug # Via environment variables MCP_HELLO_FROM="My Server" mcpt deploy demo ``` ### In Server Code: ```python # Access via config_data hello_from = self.config_data.get('hello_from', 'Default') log_level = self.config_data.get('log_level', 'info') ``` ## Pattern 2: Template Data Overrides (Double Underscore Notation) Double underscore notation allows overriding ANY part of the template.json structure: - Modify server metadata - Customize tool definitions - Add custom fields - Override nested properties ### Usage Examples: ```bash # Override template-level properties mcpt deploy demo --name="Custom Server Name" mcpt deploy demo --description="Modified description" # Override nested tool properties mcpt deploy demo --tools__0__greeting_style=formal mcpt deploy demo --tools__0__custom_prefix="Hey there!" # Add custom fields mcpt deploy demo --custom_field="any value" ``` ### In Server Code: ```python # Access via template_data (potentially modified by double underscore) server_name = self.template_data.get("name", "Default Server") tools = self.template_data.get('tools', []) say_hello_tool = next((t for t in tools if t.get('name') == 'say_hello'), {}) greeting_style = say_hello_tool.get('greeting_style', 'casual') ``` ## When to Use Each Pattern ### Use Standard Configuration (Pattern 1) for: - Values that need validation - Configuration with clear defaults - Settings that map to environment variables - Core server functionality ### Use Template Overrides (Pattern 2) for: - Customizing tool behavior - Adding metadata or custom fields - Modifying template structure - Advanced customization scenarios ## Demo Tools The demo server includes a `demonstrate_overrides` tool that shows both patterns in action and provides usage examples. ```bash # Deploy demo and call the demonstration tool mcpt deploy demo curl -X POST http://localhost:7071/call -H 'Content-Type: application/json' \ -d '{"method": "demonstrate_overrides", "params": {}}' ``` This returns examples and current configuration for both patterns.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Data-Everything/mcp-server-templates'

If you have feedback or need assistance with the MCP directory API, please join our Discord server