Skip to main content

Overview

Configuration commands manage MCP configurations, servers, and their associated guardrails policies. Each configuration is a collection of MCP servers with their settings.

Configuration Management

List Configurations

List all MCP configurations in the system.
secure-mcp-gateway config list
[
  {
    "mcp_config_id": "fcbd4508-1432-4f13-abb9-c495c946f638",
    "mcp_config_name": "default_config",
    "servers": 2,
    "used_by_projects": [
      {
        "project_id": "3c09f06c-1f0d-4153-9ac5-366397937641",
        "project_name": "default_project"
      }
    ]
  }
]

Add Configuration

Create a new MCP configuration.
secure-mcp-gateway config add --config-name "production-config"
config-name
string
required
Name for the new configuration (must be unique)
mcp_config_id: f957f1b2-c77a-4de6-a53a-3d09784be777

Get Configuration

Retrieve details of a specific configuration.
# By name
secure-mcp-gateway config get --config-name "production-config"

# By ID
secure-mcp-gateway config get --config-id "f957f1b2-c77a-4de6-a53a-3d09784be777"
config-name
string
Configuration name
config-id
string
Configuration UUID
You must provide either --config-name or --config-id, not both.

Copy Configuration

Duplicate an existing configuration with a new name.
secure-mcp-gateway config copy \
  --source-config "production-config" \
  --target-config "staging-config"
source-config
string
required
Name or ID of the source configuration
target-config
string
required
Name for the new configuration copy

Rename Configuration

Change the name of an existing configuration.
secure-mcp-gateway config rename \
  --config-name "old-name" \
  --new-name "new-name"
config-name
string
required
Current configuration name or ID
new-name
string
required
New name for the configuration

Remove Configuration

Delete a configuration (must not be in use by any projects).
secure-mcp-gateway config remove --config-name "old-config"
You cannot remove a configuration that is assigned to projects. Unassign it from all projects first.

Server Management

List Servers

List all servers in a configuration.
secure-mcp-gateway config list-servers --config-name "production-config"
[
  {
    "server_name": "github-mcp",
    "description": "GitHub MCP Server",
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "tools": 0,
    "input_guardrails_enabled": true,
    "output_guardrails_enabled": true
  }
]

Add Server

Add a new MCP server to a configuration.
secure-mcp-gateway config add-server \
  --config-name "production-config" \
  --server-name "web-server" \
  --server-command "python" \
  --args="server.py" \
  --description "Web server"
config-name
string
required
Configuration name or ID
server-name
string
required
Unique server name within the configuration
server-command
string
required
Command to execute (e.g., python, npx, node)
args
string
Comma-separated command arguments
env
json
Environment variables as JSON object
tools
json
Tool configuration as JSON object
description
string
Server description
input-guardrails-policy
json
Input guardrails configuration
output-guardrails-policy
json
Output guardrails configuration

Get Server

Retrieve details of a specific server.
secure-mcp-gateway config get-server \
  --config-name "production-config" \
  --server-name "github-mcp"

Update Server

Modify server configuration.
secure-mcp-gateway config update-server \
  --config-name "production-config" \
  --server-name "web-server" \
  --server-command "node" \
  --args="app.js" \
  --description "Updated web server"

Remove Server

Delete a server from configuration.
secure-mcp-gateway config remove-server \
  --config-name "production-config" \
  --server-name "old-server"

Remove All Servers

Remove all servers from a configuration.
secure-mcp-gateway config remove-all-servers --config-name "production-config"

Guardrails Management

Update Input Guardrails

Configure input protection for a server.
secure-mcp-gateway config update-server-input-guardrails \
  --config-name "production-config" \
  --server-name "github-mcp" \
  --policy '{"enabled": true, "policy_name": "Custom Policy", "additional_config": {"pii_redaction": true}, "block": ["policy_violation", "injection_attack"]}'
config-name
string
required
Configuration name or ID
server-name
string
required
Server name
policy
json
Policy configuration as JSON string
policy-file
string
Path to JSON file containing policy
Provide either --policy or --policy-file, not both.

Update Output Guardrails

Configure output protection for a server.
secure-mcp-gateway config update-server-output-guardrails \
  --config-name "production-config" \
  --server-name "github-mcp" \
  --policy-file "output_policy.json"
output_policy.json:
{
  "enabled": true,
  "policy_name": "Output Security Policy",
  "additional_config": {
    "relevancy": true,
    "hallucination": true,
    "adherence": true,
    "toxicity_filter": true
  },
  "block": [
    "policy_violation",
    "injection_attack",
    "harmful_content"
  ]
}

Update Both Guardrails

Update input and output guardrails together.
secure-mcp-gateway config update-server-guardrails \
  --config-name "production-config" \
  --server-name "github-mcp" \
  --input-policy-file "input_policy.json" \
  --output-policy-file "output_policy.json"
input-policy
json
Input policy as JSON string
input-policy-file
string
Path to input policy JSON file
output-policy
json
Output policy as JSON string
output-policy-file
string
Path to output policy JSON file

Plugin Configuration

Set Enkrypt API Key

Configure the API key for Enkrypt guardrails.
secure-mcp-gateway config set-enkrypt-api-key \
  --api-key "your-enkrypt-api-key-here"

Get Enkrypt API Key

Retrieve the configured Enkrypt API key.
secure-mcp-gateway config get-enkrypt-api-key

Configure Telemetry

Manage OpenTelemetry settings.
# Enable telemetry
secure-mcp-gateway config configure-telemetry --enabled true

# Set collector URL
secure-mcp-gateway config configure-telemetry --url "http://localhost:4317"

# Configure for local development
secure-mcp-gateway config configure-telemetry \
  --enabled true \
  --url "http://localhost:4317" \
  --insecure true
enabled
boolean
Enable or disable telemetry
url
string
OpenTelemetry collector URL
insecure
boolean
Allow insecure connections (for local development)

Utility Commands

List Projects Using Config

Show which projects are using a configuration.
secure-mcp-gateway config list-projects --config-name "production-config"

Validate Configuration

Check configuration structure and integrity.
secure-mcp-gateway config validate --config-name "production-config"
INFO: Config 'production-config' is valid

Export Configuration

Export configuration to a JSON file.
secure-mcp-gateway config export \
  --config-name "production-config" \
  --output-file "prod-config.json"

Import Configuration

Import configuration from a JSON file.
secure-mcp-gateway config import \
  --input-file "prod-config.json" \
  --config-name "imported-config"

Search Configurations

Search for configurations by name or server name.
secure-mcp-gateway config search --search-term "github"
[
  {
    "mcp_config_id": "f957f1b2-c77a-4de6-a53a-3d09784be777",
    "mcp_config_name": "production-config",
    "match_type": "server_name",
    "servers": 3
  }
]

Best Practices

  • Use descriptive config names: production-web-servers vs config1
  • Include environment in name: dev-config, staging-config, prod-config
  • Use consistent naming across related configs
  • Group related servers in the same configuration
  • Separate development and production servers
  • Document server purposes in descriptions
  • Enable guardrails for production servers
  • Test policies in development first
  • Use PII redaction for sensitive data
  • Regular policy reviews and updates
  • Export configs for backup
  • Store exported configs in version control
  • Test imports before applying to production
  • Document configuration changes

Common Workflows

Setup Production Configuration

# 1. Create configuration
secure-mcp-gateway config add --config-name "production-config"

# 2. Add servers
secure-mcp-gateway config add-server \
  --config-name "production-config" \
  --server-name "github-mcp" \
  --server-command "npx" \
  --args="-y,@modelcontextprotocol/server-github" \
  --description "GitHub MCP Server"

# 3. Configure guardrails
secure-mcp-gateway config update-server-guardrails \
  --config-name "production-config" \
  --server-name "github-mcp" \
  --input-policy-file "input_policy.json" \
  --output-policy-file "output_policy.json"

# 4. Validate
secure-mcp-gateway config validate --config-name "production-config"

# 5. Export for backup
secure-mcp-gateway config export \
  --config-name "production-config" \
  --output-file "production-backup.json"

Clone Configuration for Testing

# 1. Copy production config
secure-mcp-gateway config copy \
  --source-config "production-config" \
  --target-config "test-config"

# 2. Modify test config as needed
secure-mcp-gateway config update-server \
  --config-name "test-config" \
  --server-name "github-mcp" \
  --env '{"DEBUG": "true"}'

Build docs developers (and LLMs) love