Creating Gateways
Gateways are the core of Storm MCP - they bundle multiple MCP servers into a single, manageable endpoint that your AI clients can connect to. This guide will walk you through creating, configuring, and optimizing your gateways.
Understanding Gateways
A gateway is a collection of MCP servers that:
- Provides a unified endpoint for multiple services
- Manages authentication across all included servers
- Offers centralized monitoring and logging
- Enables fine-grained function control
Creating Your First Gateway
Step 1: Navigate to Gateways
- Sign in to Storm MCP Gateway
- Click Gateways in the sidebar
- Click the Create New Gateway button
Step 2: Configure Basic Settings
<img src="/assets/create-gateway-modal.png" alt="Create Gateway Modal" />-
Gateway Name
- Choose a descriptive name
- Examples: "Development Tools", "Production APIs", "Team Workspace"
- This name appears in your MCP clients
-
Description (Optional)
- Add notes about the gateway's purpose
- Include team or project information
- Helpful for organization with multiple gateways
Step 3: Select MCP Servers
The server selection interface shows all available MCP servers:
✅ GitHub - Code repository management
✅ Slack - Team communication
✅ MongoDB - Database operations
⬜ PostgreSQL - SQL database
⬜ AWS - Cloud infrastructure
Selection Tips:
- Start with 3-5 essential servers
- Group related services together
- Consider authentication requirements
- Check server compatibility
ℹ️ Info
Each server you add increases the gateway's capabilities but also its complexity. Start small and expand as needed.
Step 4: Configure Functions
For each selected server, you can:
-
Use All Functions (Default)
- Gateway includes all available functions
- Simplest option for getting started
- Can be refined later
-
Select Specific Functions
- Click "Configure Functions"
- Choose individual functions to include
- Reduces token usage in AI clients
- Improves security by limiting access
Example function selection for GitHub:
✅ repos_create_issue
✅ repos_list_issues
✅ repos_get_content
⬜ repos_delete_repo // Disabled for safety
⬜ repos_create_webhook
Step 5: Review and Create
-
Review Configuration
- Verify selected servers
- Check function selections
- Confirm gateway name
-
Create Gateway
- Click Create Gateway
- Gateway is immediately available
- Receive unique gateway ID
✅ Success
Gateway created! Your endpoint is ready at:
https://gateway.stormmcp.ai/g/YOUR_GATEWAY_ID
Advanced Gateway Configuration
Organizing Multiple Gateways
Create specialized gateways for different purposes:
Development Gateway
- GitHub, GitLab, Bitbucket
- Docker, Kubernetes
- PostgreSQL, MongoDB
- Sentry, DataDog
Marketing Gateway
- HubSpot, Salesforce
- Google Analytics
- Mailchimp
- Social media APIs
Operations Gateway
- AWS, Azure, GCP
- PagerDuty
- Slack, Discord
- Monitoring tools
Gateway Settings
Access settings by clicking the gear icon on any gateway:
Authentication Mode
- Unified Auth - Single authentication for all servers
- Per-Server Auth - Individual authentication per server
- Mixed Mode - Combination based on server requirements
Access Control
{
"allowed_ips": ["192.168.1.0/24"],
"allowed_users": ["user@example.com"],
"rate_limits": {
"requests_per_minute": 100,
"requests_per_hour": 1000
}
}Function Filtering
Dynamic function filtering based on context:
// Example: Limit destructive operations
{
"function_filters": [
{
"pattern": "*_delete_*",
"action": "block",
"except": ["development"]
},
{
"pattern": "*_create_*",
"require_confirmation": true
}
]
}Connecting Gateways to Clients
Claude Desktop Integration
-
Open Gateway Page
- Navigate to your gateway
- Click Claude Desktop button
-
Choose Connection Method
- OAuth - Browser-based authentication
- API Key - Direct configuration
-
Automatic Configuration
- Claude Desktop receives configuration
- Gateway appears in MCP servers list
- Functions immediately available
Cursor IDE Integration
-
Click Cursor Button
- On your gateway page
- Deeplink opens Cursor automatically
-
Confirm Installation
- Review gateway details
- Click "Install" in Cursor
- Gateway ready to use
Manual Configuration
For custom clients or debugging:
{
"mcp_servers": {
"storm_gateway": {
"url": "https://gateway.stormmcp.ai/g/YOUR_ID",
"auth": {
"type": "bearer",
"token": "YOUR_API_KEY"
},
"transport": "sse"
}
}
}Managing Existing Gateways
Editing Gateways
- Click the pencil icon on any gateway
- Modify configuration:
- Add/remove servers
- Update functions
- Change name/description
- Click Save Changes
⚠️ Warning
Changes to gateways may require reconnection in some MCP clients. Claude Desktop handles this automatically.
Duplicating Gateways
Create variations of existing gateways:
- Click duplicate icon
- Modify the copy as needed
- Useful for:
- Creating staging/production variants
- Team-specific configurations
- Testing new servers
Deleting Gateways
- Click trash icon
- Confirm deletion
- Note: This doesn't affect connected apps, only the gateway endpoint
Gateway Performance
Monitoring Gateway Health
View real-time metrics on the gateway card:
-
Status Indicator
- 🟢 Green: Active, recent activity
- 🟡 Yellow: Idle, no recent requests
- 🔴 Red: Errors or connection issues
-
Activity Sparkline
- 24-hour activity visualization
- Hover for detailed metrics
- Click for full analytics
Optimizing Gateway Performance
-
Minimize Server Count
- Each server adds latency
- Group related servers
- Create multiple focused gateways
-
Function Selection
- Disable unused functions
- Reduces token usage
- Improves response time
-
Caching Strategy
{ "cache_settings": { "enabled": true, "ttl_seconds": 300, "max_size_mb": 100 } }
Troubleshooting Gateways
Common Issues
Gateway not appearing in client
- Verify authentication
- Check client compatibility
- Refresh client configuration
Functions not working
- Confirm app is connected
- Check function permissions
- Verify authentication status
Slow response times
- Reduce server count
- Enable caching
- Check network connectivity
Authentication errors
# Test gateway endpoint
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://gateway.stormmcp.ai/g/YOUR_ID/health
# Expected response
{"status": "healthy", "servers": 5, "functions": 127}Best Practices
Gateway Organization
-
Purpose-Driven Gateways
- Create gateways for specific workflows
- Don't mix unrelated services
- Consider team boundaries
-
Naming Conventions
- Use descriptive names
- Include environment (dev/prod)
- Add team/project prefix
-
Documentation
- Document gateway purpose
- List included services
- Note any restrictions
Security Considerations
-
Principle of Least Privilege
- Only include necessary functions
- Restrict destructive operations
- Regular permission audits
-
Environment Separation
- Separate dev/staging/prod gateways
- Different API keys per environment
- Isolated server configurations
-
Monitoring and Alerts
- Set up usage alerts
- Monitor error rates
- Track authentication failures
Next Steps
Now that you've created your gateway: