264 lines
8.5 KiB
JSON
264 lines
8.5 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"properties": {
|
|
"mcpServers": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"description": "Human-readable description of the server",
|
|
"type": "string"
|
|
},
|
|
"baseUrl": {
|
|
"description": "Base URL for HTTP/SSE transport (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"base_url": {
|
|
"description": "Base URL for HTTP/SSE transport (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"description": "Server URL for HTTP/SSE transport",
|
|
"type": "string"
|
|
},
|
|
"serverUrl": {
|
|
"description": "Server URL for HTTP/SSE transport (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"server_url": {
|
|
"description": "Server URL for HTTP/SSE transport (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"description": "Command to spawn for stdio transport (string or array of arguments)",
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"executable": {
|
|
"description": "Executable path for stdio transport",
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"description": "Arguments to pass to the stdio command",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"headers": {
|
|
"description": "HTTP headers for requests. Supports $VAR and $env:VAR placeholders",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"env": {
|
|
"description": "Environment variables for stdio commands. Supports $VAR and fallback syntax",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"auth": {
|
|
"description": "Authentication method (e.g., \"oauth\")",
|
|
"type": "string"
|
|
},
|
|
"tokenCacheDir": {
|
|
"description": "Directory for caching OAuth tokens (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"token_cache_dir": {
|
|
"description": "Directory for caching OAuth tokens (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"clientName": {
|
|
"description": "Client identifier for server telemetry (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"client_name": {
|
|
"description": "Client identifier for server telemetry (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"oauthRedirectUrl": {
|
|
"description": "Custom OAuth redirect URL (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"oauth_redirect_url": {
|
|
"description": "Custom OAuth redirect URL (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"oauthScope": {
|
|
"description": "OAuth scope override (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"oauth_scope": {
|
|
"description": "OAuth scope override (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"oauthCommand": {
|
|
"description": "Custom OAuth command configuration for stdio servers (camelCase)",
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Arguments for the OAuth command"
|
|
}
|
|
},
|
|
"required": [
|
|
"args"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"oauth_command": {
|
|
"description": "Custom OAuth command configuration for stdio servers (snake_case)",
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Arguments for the OAuth command"
|
|
}
|
|
},
|
|
"required": [
|
|
"args"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"bearerToken": {
|
|
"description": "Static bearer token for authentication (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"bearer_token": {
|
|
"description": "Static bearer token for authentication (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"bearerTokenEnv": {
|
|
"description": "Environment variable name containing the bearer token (camelCase)",
|
|
"type": "string"
|
|
},
|
|
"bearer_token_env": {
|
|
"description": "Environment variable name containing the bearer token (snake_case)",
|
|
"type": "string"
|
|
},
|
|
"lifecycle": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "keep-alive",
|
|
"description": "Keep the server connection alive"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "ephemeral",
|
|
"description": "Connect only when needed"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "keep-alive"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "ephemeral"
|
|
}
|
|
],
|
|
"description": "Connection lifecycle mode"
|
|
},
|
|
"idleTimeoutMs": {
|
|
"description": "Idle timeout in milliseconds before disconnecting",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"mode"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
],
|
|
"description": "Server connection lifecycle: keep-alive maintains persistent connections, ephemeral connects on-demand"
|
|
},
|
|
"logging": {
|
|
"description": "Logging configuration for the server",
|
|
"type": "object",
|
|
"properties": {
|
|
"daemon": {
|
|
"description": "Daemon-specific logging configuration",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable daemon logging for this server",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"description": "MCP server definition supporting both HTTP/SSE and stdio transports"
|
|
},
|
|
"description": "Map of server names to their configurations"
|
|
},
|
|
"imports": {
|
|
"description": "Editor configurations to import servers from. Omit to use defaults, or set to [] to disable imports",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"cursor",
|
|
"claude-code",
|
|
"claude-desktop",
|
|
"codex",
|
|
"windsurf",
|
|
"opencode",
|
|
"vscode"
|
|
],
|
|
"description": "Supported editor/client configurations to import MCP servers from"
|
|
}
|
|
},
|
|
"$schema": {
|
|
"type": "string",
|
|
"description": "JSON Schema URL for IDE validation and autocomplete"
|
|
}
|
|
},
|
|
"required": [
|
|
"mcpServers"
|
|
],
|
|
"additionalProperties": false,
|
|
"description": "mcporter configuration file schema",
|
|
"$id": "https://raw.githubusercontent.com/steipete/mcporter/main/mcporter.schema.json"
|
|
}
|