{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Config",
"type": "object",
"properties": {
"mcpServers": {
"type": "object",
"additionalProperties": {
"$ref": "#/$defs/ServerConfig"
}
}
},
"required": [
"mcpServers"
],
"$defs": {
"ServerConfig": {
"type": "object",
"properties": {
"allow": {
"description": "If set, only these tools are visible (exact names or prefix* globs)",
"type": [
"array",
"null"
],
"default": null,
"items": {
"type": "string"
}
},
"args": {
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"command": {
"type": [
"string",
"null"
],
"default": null
},
"deny": {
"description": "Always hidden/blocked; wins over allow",
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"expose": {
"description": "Bypass the meta-tools: expose this server's tools directly as server__tool",
"type": "boolean",
"default": false
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"default": {}
},
"oauth": {
"description": "Enable OAuth 2.0 (PKCE) for this server — url servers only",
"type": "boolean",
"default": false
},
"oauth_client_id": {
"description": "Pre-registered OAuth client ID; dynamic registration is used when unset",
"type": [
"string",
"null"
],
"default": null
},
"oauth_redirect_port": {
"description": "Fixed port for the 127.0.0.1 callback listener, for providers that\nrequire an exact pre-registered redirect URI. Default: ephemeral port",
"type": [
"integer",
"null"
],
"format": "uint16",
"default": null,
"maximum": 65535,
"minimum": 0
},
"oauth_scopes": {
"description": "Scopes to request; server defaults when empty",
"type": "array",
"default": [],
"items": {
"type": "string"
}
},
"url": {
"type": [
"string",
"null"
],
"default": null
}
},
"additionalProperties": false
}
}
}