{ "$schema": "https://toothfairyai.com/schemas/tfcode.json", "$defs": { "ToolType": { "type": "string", "enum": ["mcp_server", "agent_skill", "database_script", "api_function"] }, "FunctionRequestType": { "type": "string", "enum": ["get", "post", "put", "delete", "patch", "custom", "graphql_query", "graphql_mutation"] }, "AuthVia": { "type": "string", "enum": ["tf_proxy", "user_provided"] }, "Tool": { "type": "object", "properties": { "type": { "$ref": "#/$defs/ToolType" }, "isMCPServer": { "type": "boolean" }, "isAgentSkill": { "type": "boolean" }, "isDatabaseScript": { "type": "boolean" }, "requestType": { "$ref": "#/$defs/FunctionRequestType" }, "url": { "type": "string" }, "auth_via": { "$ref": "#/$defs/AuthVia" }, "api_key": { "type": "string" }, "tools": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" } } } }, "type": "object", "properties": { "$schema": { "type": "string" }, "toothfairy": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "workspace_id": { "type": "string" }, "api_key": { "type": "string" }, "region": { "type": "string", "enum": ["au", "eu", "us"], "default": "au" }, "sync": { "type": "object", "properties": { "on_startup": { "type": "boolean", "default": true }, "interval": { "type": "integer", "default": 3600 }, "tools": { "type": "object", "properties": { "types": { "type": "array", "items": { "type": "string", "enum": ["mcp", "skill", "database", "function"] } } } } } }, "mcp_proxy": { "type": "object", "properties": { "url": { "type": "string" }, "timeout": { "type": "integer", "default": 30000 } } } }, "required": ["workspace_id", "api_key"] }, "tools": { "type": "object", "additionalProperties": { "$ref": "#/$defs/Tool" } }, "agent": { "type": "object", "additionalProperties": { "type": "object", "properties": { "mode": { "type": "string", "enum": ["primary", "subagent"] }, "model": { "type": "string" }, "temperature": { "type": "number" }, "description": { "type": "string" }, "prompt": { "type": "string" }, "tools": { "type": "array", "items": { "type": "string" } }, "mcp": { "type": "array", "items": { "type": "string" } } } } }, "model": { "type": "string" }, "autoupdate": { "type": "boolean" }, "formatter": { "type": "object", "additionalProperties": { "type": "object", "properties": { "command": { "type": "array", "items": { "type": "string" } }, "extensions": { "type": "array", "items": { "type": "string" } } } } } } }