MCP Schema Creation Workflow for Global Administrators
Global administrators manage MCP server schemas through two distinct paths: automatic synchronization from the official MCP Registry and manual creation for custom integrations. This workflow creates the foundation for DeployStack’s three-tier configuration system.Two Paths to Catalog Servers
DeployStack supports adding MCP servers to the catalog through two methods:Path 1: Official Registry Sync (Automatic)
Recommended for public MCP servers- Source: Synced automatically from registry.modelcontextprotocol.io
- Schema Creation: Automatic transformation via background jobs
- Configuration Mapping: Environment variables automatically categorized into three tiers
- Maintenance: Updates sync automatically from registry
- Effort: One-click sync operation
- Fetches server data from the official registry
- Transforms package/remote configurations to DeployStack format
- Maps environment variables to appropriate tiers (template/team/user)
- Enriches with GitHub metadata (README, stars, topics)
- Stores in catalog ready for team installation
Path 2: Manual Creation (Custom)
Required for custom integrations not in official registry- Source: Manually created by global administrators
- Schema Creation: Sophisticated manual categorization process (this document)
- Configuration Mapping: Precise control over every configuration element
- Maintenance: Manual updates as needed
- Effort: Complete four-step workflow with detailed categorization
The rest of this document describes Path 2: Manual Creation for custom MCP servers that require the sophisticated schema categorization process.
Overview
When you manually add custom MCP servers to the catalog, you design the entire configuration experience by precisely categorizing every configuration element and setting sophisticated lock/unlock controls:- What stays locked forever (template elements like system commands, package names)
- What teams can configure and control (team-level settings like API keys, shared credentials)
- What users can always customize (user-level settings like local paths, personal preferences)
- Lock/unlock defaults and visibility controls for each configurable element
The Four-Step Manual Creation Workflow
Manually adding a custom MCP server to the catalog follows this process:Step 1: GitHub Repository (Optional)
- Repository URL - GitHub repository containing the MCP server (optional for custom servers)
- Branch - Usually
main
ormaster
- Sync Settings - Automatic vs manual synchronization
Step 2: Claude Desktop Configuration
Input the raw Claude Desktop configuration for your custom MCP server:- Template Level: Fixed values (if provided in registry)
- Team Level:
isRequired: true
+isSecret: true
→ Encrypted team secrets - Team Level:
isRequired: true
+isSecret: false
→ Required team settings - User Level:
isRequired: false
→ Optional personal preferences
Automatic Transport Detection
STDIO Servers (packages):- Command and package name → Template level (locked)
- Runtime args → Team/user level based on registry metadata
- URL → Template level (locked)
- Headers → Team/user level based on authentication requirements
Step 3: Configuration Schema Definition for Manual Servers (Detailed)
The Sophisticated Categorization Process (Manual Servers Only)
For custom MCP servers created manually, you make precise categorization decisions with lock/unlock controls for every argument and environment variable extracted from the Claude Desktop config: Categorization Options:- 🔒 Template (Static) - Locked forever, never changes (system commands, package names)
- 🔧 Team Configurable - Teams set values during installation and control user access
- 🔓 User Configurable - Always available for individual user customization
- Default Lock State - Whether teams start with elements locked or unlocked for users
- Visibility Controls - Whether users can see values (important for secrets)
- Schema Validation - Data types, requirements, and constraints for each element
Example: Web Search MCP Server
Raw Configuration:- 🔒 Template:
-y
and@brightdata/mcp-server-web-search
(system commands, locked forever) - 🔧 Team Configurable:
API_KEY
andSEARCH_QUOTA
(shared credentials and limits) - 🔓 User Configurable:
DEFAULT_ENGINE
(personal search preference, default unlocked)
API_KEY
withisRequired: true, isSecret: true
→ Team level (encrypted)SEARCH_QUOTA
withisRequired: true
→ Team levelDEFAULT_ENGINE
withisRequired: false
→ User level
- API credentials: Default locked for users, hidden from users (security)
- Search quota: Default locked for users, visible to users (team resource management)
- Search engine: Default unlocked (users can customize their preference)
- Validation: API key must be valid format, quota must be positive number
Another Example: API MCP Server with Secrets
Raw Configuration:- 🔒 Template: System commands (
npx
,-y
, package name) - locked forever - 🔧 Team Configurable:
TEAM_API_KEY
(shared credential, team controls access) - 🔓 User Configurable:
DEBUG
(personal preference, always available to users)
TEAM_API_KEY
withisRequired: true, isSecret: true
→ Team level (encrypted, hidden)DEBUG
withisRequired: false
→ User level (unlocked)
TEAM_API_KEY
: Default locked for users, hidden from users (security)DEBUG
: Default unlocked for users, visible to users (personal preference)- Validation: API key must be valid format, debug must be boolean
Smart Suggestions
DeployStack provides suggestions to help with categorization: 🔒 Template Suggestions:- CLI commands (
npx
,python
,node
) - Package names (
@modelcontextprotocol/server-*
) - System flags (
-y
,--verbose
)
- Variables containing “team”, “api”, “key”
- Database connection strings
- Service endpoints
- Search preferences and result formatting
- Cache and performance settings
- Personal API preferences
Configuration Schema Step Interface (Manual Creation)
The Configuration Schema Step presents a sophisticated interface for manually categorizing and controlling every configuration element:Arguments Categorization Interface
Environment Variables Categorization Interface
Lock/Unlock Control Matrix
Your categorization decisions create a sophisticated control matrix across all three tiers:Configuration Element | Global Admin Control | Team Admin Control | User Access |
---|---|---|---|
Template Args (Locked) | Define & Lock Forever | ❌ Cannot Change | ❌ Cannot Change |
Template Env (Locked) | Define & Lock Forever | ❌ Cannot Change | ❌ Cannot Change |
Team Args Schema | Define Schema & Defaults | Set Values & Lock/Unlock | Access if Unlocked |
Team Env Schema | Define Schema & Defaults | Set Values & Lock/Unlock | Access if Unlocked |
User Args Schema | Define Schema & Defaults | ✓ Always Available | ✓ Always Available |
User Env Schema | Define Schema & Defaults | ✓ Always Available | ✓ Always Available |
Additional Team Config | Define Limits | Add Custom Config | ❌ Cannot Change |
Additional User Config | Define Limits | ✓ Allow/Disallow | Add Personal Config |
What Happens Next
After you complete the sophisticated schema categorization for manual servers:- Schema Generation - System creates the complete three-tier schema structure with lock/unlock metadata
- Catalog Addition - MCP server is added to the global catalog with precise configuration boundaries
- Team Access - Teams can install and configure only the elements you designated as team-configurable
- User Experience - Users see only the elements you made available, with lock/unlock states controlled by teams
Security Validation
The system automatically validates schema categorization for both manual and synced servers: Security Checks:- ✅ Secrets properly categorized as team/user level with appropriate visibility controls
- ✅ System commands locked at template level to prevent tampering
- ⚠️ Warns if secrets might be visible inappropriately or unlocked by default
- ✅ Validates lock inheritance logic across all three tiers
- ✅ All extracted elements are properly categorized
- ✅ Required fields have appropriate defaults and validation rules
- ✅ Lock/unlock inheritance makes logical sense across tiers
- ✅ Data types and constraints are properly defined
- See exactly what team administrators will configure during installation
- Preview what users will be able to customize based on team lock/unlock decisions
- Understand the complete configuration flow from admin → team → user
- Validate the security model with real-world scenarios
Key Benefits
The schema system (whether manual or automatic) provides: Security - Sensitive data properly protected at the right tier with appropriate visibility controls Precision - Users see only what they can configure, teams control exactly what they need Flexibility - Teams can lock/unlock elements based on their specific organizational needs Consistency - Predictable configuration experience across all MCP servers in the catalog Governance - Complete audit trail and control over configuration inheritance across all tiers Automation - Official registry servers get instant schema transformation without manual workRelated Documentation
For understanding how schemas work across the system:- MCP Configuration System - Overview of the three-tier system schemas enable
- MCP Catalog - Official Registry Integration - How automatic schema transformation works
- Team Installation - How teams use schemas to configure installations
- User Configuration - How users interact with schema boundaries
- MCP Catalog - Where schemas are stored and managed