Overview
Configuration endpoints allow you to create, retrieve, update, and delete MCP configurations and their associated servers. Each configuration can contain multiple MCP server definitions with their commands, arguments, environment variables, and guardrail policies.
List All Configurations
Retrieve a list of all MCP configurations.
curl -X GET "http://localhost:8001/api/v1/configs" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Response: 200 OK
{
"message" : "Configurations retrieved successfully" ,
"data" : [
{
"mcp_config_id" : "550e8400-e29b-41d4-a716-446655440000" ,
"mcp_config_name" : "development-config" ,
"servers" : 3 ,
"used_by_projects" : [
{
"project_id" : "660e8400-e29b-41d4-a716-446655440000" ,
"project_name" : "dev-project"
}
]
}
],
"timestamp" : "2024-01-01T12:00:00.000000"
}
Show Configuration Object
Unique identifier for the configuration
Human-readable name of the configuration
Number of servers in this configuration
List of projects using this configuration
Create Configuration
Create a new MCP configuration.
curl -X POST "http://localhost:8001/api/v1/configs" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{"config_name": "production-config"}'
Name for the new configuration
Response: 200 OK
{
"message" : "Configuration created successfully" ,
"data" : {
"config_id" : "550e8400-e29b-41d4-a716-446655440000" ,
"config_name" : "production-config"
},
"timestamp" : "2024-01-01T12:00:00.000000"
}
Get Configuration
Retrieve details of a specific configuration.
curl -X GET "http://localhost:8001/api/v1/configs/{config_identifier}" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Response: 200 OK
{
"message" : "Configuration retrieved successfully" ,
"data" : {
"mcp_config_id" : "550e8400-e29b-41d4-a716-446655440000" ,
"mcp_config_name" : "production-config" ,
"mcp_config" : [
{
"server_name" : "github" ,
"description" : "GitHub MCP Server" ,
"config" : {
"command" : "npx" ,
"args" : [ "-y" , "@modelcontextprotocol/server-github" ]
},
"enable_tool_guardrails" : true ,
"input_guardrails_policy" : {
"enabled" : false
},
"output_guardrails_policy" : {
"enabled" : false
}
}
]
},
"timestamp" : "2024-01-01T12:00:00.000000"
}
Update Configuration Name
Rename an existing configuration.
curl -X PUT "http://localhost:8001/api/v1/configs/{config_identifier}/rename" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{"new_name": "prod-config-v2"}'
New name for the configuration
Response: 200 OK
{
"message" : "Configuration renamed successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Delete Configuration
Delete a configuration (must not be in use by any projects).
curl -X DELETE "http://localhost:8001/api/v1/configs/{config_identifier}" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Response: 200 OK
{
"message" : "Configuration deleted successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Copy Configuration
Create a copy of an existing configuration.
curl -X POST "http://localhost:8001/api/v1/configs/copy" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{
"source_config": "production-config",
"target_config": "staging-config"
}'
Source configuration ID or name
Name for the new configuration
Response: 200 OK
{
"message" : "Configuration copied successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
List Servers in Configuration
Get all servers configured in a specific configuration.
curl -X GET "http://localhost:8001/api/v1/configs/{config_identifier}/servers" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Response: 200 OK
{
"message" : "Servers retrieved successfully" ,
"data" : [
{
"server_name" : "github" ,
"description" : "GitHub MCP Server" ,
"command" : "npx" ,
"args" : [ "-y" , "@modelcontextprotocol/server-github" ],
"env" : {},
"enable_tool_guardrails" : true
},
{
"server_name" : "filesystem" ,
"description" : "Filesystem MCP Server" ,
"command" : "npx" ,
"args" : [ "-y" , "@modelcontextprotocol/server-filesystem" , "/path/to/dir" ],
"env" : {},
"enable_tool_guardrails" : true
}
],
"timestamp" : "2024-01-01T12:00:00.000000"
}
Add Server to Configuration
Add a new MCP server to a configuration.
curl -X POST "http://localhost:8001/api/v1/configs/{config_identifier}/servers" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{
"server_name": "github",
"server_command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
},
"description": "GitHub MCP Server",
"input_guardrails_policy": {
"enabled": true,
"policy_name": "GitHub Input Policy",
"block": ["policy_violation", "injection_attack"]
},
"output_guardrails_policy": {
"enabled": true,
"policy_name": "GitHub Output Policy",
"block": ["policy_violation"]
}
}'
Unique name for the server within this configuration
Command to execute the MCP server (e.g., “npx”, “python”, “node”)
Command-line arguments for the server
Environment variables to pass to the server
Tool-specific configuration overrides
Human-readable description of the server
Input guardrail policy configuration Enable input guardrails for this server
Name of the guardrail policy
Additional guardrail settings (e.g., pii_redaction)
List of violation types to block (policy_violation, injection_attack, etc.)
Output guardrail policy configuration (same structure as input)
Response: 200 OK
{
"message" : "Server added successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Update Server in Configuration
Update an existing server’s configuration.
curl -X PUT "http://localhost:8001/api/v1/configs/{config_identifier}/servers/{server_name}" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{
"server_command": "python3",
"args": ["/updated/path/to/server.py"],
"description": "Updated server description"
}'
Name of the server to update
Updated command (optional)
Updated arguments (optional)
Updated environment variables (optional)
Updated tool configuration (optional)
Updated description (optional)
Response: 200 OK
{
"message" : "Server updated successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Remove Server from Configuration
Remove a specific server from a configuration.
curl -X DELETE "http://localhost:8001/api/v1/configs/{config_identifier}/servers/{server_name}" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Name of the server to remove
Response: 200 OK
{
"message" : "Server removed successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Update Server Guardrails
Update both input and output guardrail policies for a server.
curl -X PUT "http://localhost:8001/api/v1/configs/{config_identifier}/servers/{server_name}/guardrails" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{
"input_policy": {
"enabled": true,
"policy_name": "Strict Input Policy",
"additional_config": {
"pii_redaction": true
},
"block": ["policy_violation", "injection_attack", "nsfw"]
},
"output_policy": {
"enabled": true,
"policy_name": "Strict Output Policy",
"additional_config": {
"relevancy": true,
"hallucination": true
},
"block": ["policy_violation", "nsfw"]
}
}'
Input guardrail policy configuration
Output guardrail policy configuration
Response: 200 OK
{
"message" : "Guardrails updated successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Validate Configuration
Validate a configuration structure and server definitions.
curl -X POST "http://localhost:8001/api/v1/configs/{config_identifier}/validate" \
-H "Authorization: Bearer ${ ADMIN_KEY }"
Response: 200 OK
{
"message" : "Configuration is valid" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Export Configuration
Export a configuration to a JSON file.
curl -X POST "http://localhost:8001/api/v1/configs/{config_identifier}/export" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{"output_file": "/path/to/export.json"}'
Path where the configuration will be exported
Response: 200 OK
{
"message" : "Configuration exported successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Import Configuration
Import a configuration from a JSON file.
curl -X POST "http://localhost:8001/api/v1/configs/import" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{
"input_file": "/path/to/import.json",
"config_name": "imported-config"
}'
Path to the configuration file to import
Name for the imported configuration
Response: 200 OK
{
"message" : "Configuration imported successfully" ,
"timestamp" : "2024-01-01T12:00:00.000000"
}
Search Configurations
Search configurations by name or content.
curl -X POST "http://localhost:8001/api/v1/configs/search" \
-H "Authorization: Bearer ${ ADMIN_KEY }" \
-H "Content-Type: application/json" \
-d '{"search_term": "production"}'
Search query (matches against config names and server names)
Response: 200 OK
{
"message" : "Search completed successfully" ,
"data" : [
{
"mcp_config_id" : "550e8400-e29b-41d4-a716-446655440000" ,
"mcp_config_name" : "production-config" ,
"servers" : 5
}
],
"timestamp" : "2024-01-01T12:00:00.000000"
}
Next Steps
Project Endpoints Manage projects and assign configurations
User Endpoints Create and manage users
API Key Endpoints Generate and rotate API keys
System Endpoints System backup and restore