feat(F.7b): tool access UI + unified keys page (v3.9.0)
Some checks failed
Release / Test before release (push) Has been cancelled
Release / Publish to PyPI (push) Has been cancelled
Release / Publish to Docker Hub (push) Has been cancelled
Release / Create GitHub Release (push) Has been cancelled

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 21:00:42 +02:00
parent 3fc02b5734
commit d8a0805412
30 changed files with 2965 additions and 72 deletions

View File

@@ -11,6 +11,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
return [
{
"name": "list_applications",
"category": "read",
"method_name": "list_applications",
"description": "List all Coolify applications. Optionally filter by tag name.",
"schema": {
@@ -26,6 +27,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_application",
"category": "read",
"method_name": "get_application",
"description": "Get details of a specific Coolify application by UUID.",
"schema": {
@@ -43,6 +45,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_application_public",
"category": "crud",
"method_name": "create_application_public",
"description": (
"Create a Coolify application from a public Git repository. "
@@ -113,6 +116,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_application_dockerfile",
"category": "crud",
"method_name": "create_application_dockerfile",
"description": (
"Create a Coolify application from a Dockerfile (without git). "
@@ -170,6 +174,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_application_docker_image",
"category": "crud",
"method_name": "create_application_docker_image",
"description": (
"Create a Coolify application from a Docker image. "
@@ -233,6 +238,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_application_compose",
"category": "crud",
"method_name": "create_application_compose",
"description": (
"Create a Coolify application from Docker Compose. "
@@ -278,6 +284,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_application",
"category": "crud",
"method_name": "update_application",
"description": (
"Update a Coolify application settings. Supports name, description, "
@@ -357,6 +364,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_application",
"category": "system",
"method_name": "delete_application",
"description": (
"Delete a Coolify application permanently. "
@@ -397,6 +405,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "start_application",
"category": "lifecycle",
"method_name": "start_application",
"description": "Deploy/start a Coolify application. Triggers a new deployment.",
"schema": {
@@ -424,6 +433,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "stop_application",
"category": "lifecycle",
"method_name": "stop_application",
"description": "Stop a running Coolify application.",
"schema": {
@@ -446,6 +456,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "restart_application",
"category": "lifecycle",
"method_name": "restart_application",
"description": "Restart a Coolify application.",
"schema": {
@@ -463,6 +474,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_application_logs",
"category": "read_sensitive",
"sensitivity": "sensitive",
"method_name": "get_application_logs",
"description": "Get logs for a Coolify application.",
"schema": {
@@ -487,6 +500,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "list_application_envs",
"category": "read_sensitive",
"sensitivity": "sensitive",
"method_name": "list_application_envs",
"description": "List environment variables for a Coolify application.",
"schema": {
@@ -504,6 +519,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_application_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "create_application_env",
"description": "Create an environment variable for a Coolify application.",
"schema": {
@@ -550,6 +567,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_application_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "update_application_env",
"description": "Update an environment variable for a Coolify application.",
"schema": {
@@ -592,6 +611,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_application_envs_bulk",
"category": "env",
"sensitivity": "sensitive",
"method_name": "update_application_envs_bulk",
"description": "Bulk update environment variables for a Coolify application.",
"schema": {
@@ -625,6 +646,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_application_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "delete_application_env",
"description": "Delete an environment variable from a Coolify application.",
"schema": {

View File

@@ -10,6 +10,7 @@ def _create_db_spec(db_type: str, description: str) -> dict[str, Any]:
"""Generate a create_* tool spec for a database type."""
return {
"name": f"create_{db_type}",
"category": "crud",
"method_name": f"create_{db_type}",
"description": description,
"schema": {
@@ -55,6 +56,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
specs = [
{
"name": "list_databases",
"category": "read",
"method_name": "list_databases",
"description": "List all Coolify databases.",
"schema": {
@@ -65,6 +67,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_database",
"category": "read_sensitive",
"sensitivity": "sensitive",
"method_name": "get_database",
"description": "Get details of a specific Coolify database by UUID.",
"schema": {
@@ -82,6 +86,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_database",
"category": "crud",
"method_name": "update_database",
"description": "Update a Coolify database settings.",
"schema": {
@@ -119,6 +124,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_database",
"category": "system",
"method_name": "delete_database",
"description": (
"Delete a Coolify database permanently. "
@@ -154,6 +160,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "start_database",
"category": "lifecycle",
"method_name": "start_database",
"description": "Start a Coolify database.",
"schema": {
@@ -171,6 +178,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "stop_database",
"category": "lifecycle",
"method_name": "stop_database",
"description": "Stop a running Coolify database.",
"schema": {
@@ -188,6 +196,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "restart_database",
"category": "lifecycle",
"method_name": "restart_database",
"description": "Restart a Coolify database.",
"schema": {
@@ -222,6 +231,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
[
{
"name": "get_database_backups",
"category": "backup",
"sensitivity": "sensitive",
"method_name": "get_database_backups",
"description": "Get backup configuration and history for a Coolify database.",
"schema": {
@@ -239,6 +250,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_database_backup",
"category": "backup",
"sensitivity": "sensitive",
"method_name": "create_database_backup",
"description": "Create a manual backup of a Coolify database.",
"schema": {
@@ -256,6 +269,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "list_backup_executions",
"category": "backup",
"sensitivity": "sensitive",
"method_name": "list_backup_executions",
"description": "List all backup executions across all databases.",
"schema": {

View File

@@ -11,6 +11,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
return [
{
"name": "list_deployments",
"category": "read",
"method_name": "list_deployments",
"description": "List all running deployments on the Coolify instance.",
"schema": {
@@ -21,6 +22,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_deployment",
"category": "read",
"method_name": "get_deployment",
"description": "Get details of a specific deployment by UUID.",
"schema": {
@@ -38,6 +40,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "cancel_deployment",
"category": "lifecycle",
"method_name": "cancel_deployment",
"description": "Cancel a running deployment.",
"schema": {
@@ -55,6 +58,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "deploy",
"category": "lifecycle",
"method_name": "deploy",
"description": (
"Trigger deployment by tag name or resource UUID. "
@@ -82,6 +86,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "list_app_deployments",
"category": "read",
"method_name": "list_app_deployments",
"description": "List deployment history for a specific application.",
"schema": {

View File

@@ -11,6 +11,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
return [
{
"name": "list_projects",
"category": "read",
"method_name": "list_projects",
"description": "List all Coolify projects.",
"schema": {
@@ -21,6 +22,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_project",
"category": "read",
"method_name": "get_project",
"description": "Get details of a specific Coolify project by UUID.",
"schema": {
@@ -38,6 +40,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_project",
"category": "crud",
"method_name": "create_project",
"description": (
"Create a new Coolify project. "
@@ -62,6 +65,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_project",
"category": "crud",
"method_name": "update_project",
"description": "Update a Coolify project name or description.",
"schema": {
@@ -87,6 +91,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_project",
"category": "system",
"method_name": "delete_project",
"description": (
"Delete a Coolify project permanently. "
@@ -107,6 +112,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "list_environments",
"category": "read",
"method_name": "list_environments",
"description": "List all environments in a Coolify project.",
"schema": {
@@ -124,6 +130,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_environment",
"category": "read",
"method_name": "get_environment",
"description": ("Get details of a specific environment in a Coolify project by name."),
"schema": {
@@ -146,6 +153,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_environment",
"category": "crud",
"method_name": "create_environment",
"description": "Create a new environment in a Coolify project.",
"schema": {

View File

@@ -11,6 +11,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
return [
{
"name": "list_servers",
"category": "read",
"method_name": "list_servers",
"description": "List all servers registered in the Coolify instance.",
"schema": {
@@ -21,6 +22,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_server",
"category": "read",
"method_name": "get_server",
"description": "Get details of a specific server by UUID, including settings.",
"schema": {
@@ -38,6 +40,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_server",
"category": "system",
"method_name": "create_server",
"description": (
"Register a new server in Coolify. "
@@ -98,6 +101,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_server",
"category": "crud",
"method_name": "update_server",
"description": "Update server configuration.",
"schema": {
@@ -142,6 +146,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_server",
"category": "system",
"method_name": "delete_server",
"description": "Delete a server from Coolify. This cannot be undone!",
"schema": {
@@ -159,6 +164,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_server_resources",
"category": "read",
"method_name": "get_server_resources",
"description": (
"Get all resources (applications, databases, services) "
@@ -179,6 +185,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_server_domains",
"category": "read",
"method_name": "get_server_domains",
"description": "Get all domains configured on a specific server.",
"schema": {
@@ -196,6 +203,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "validate_server",
"category": "read",
"method_name": "validate_server",
"description": "Validate server connectivity and configuration.",
"schema": {

View File

@@ -11,6 +11,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
return [
{
"name": "list_services",
"category": "read",
"method_name": "list_services",
"description": "List all Coolify services.",
"schema": {
@@ -21,6 +22,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "get_service",
"category": "read",
"method_name": "get_service",
"description": "Get details of a specific Coolify service by UUID.",
"schema": {
@@ -38,6 +40,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_service",
"category": "crud",
"method_name": "create_service",
"description": (
"Create a Coolify service from a predefined template. "
@@ -94,6 +97,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_service",
"category": "crud",
"method_name": "update_service",
"description": "Update a Coolify service settings.",
"schema": {
@@ -123,6 +127,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_service",
"category": "system",
"method_name": "delete_service",
"description": (
"Delete a Coolify service permanently. "
@@ -158,6 +163,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "start_service",
"category": "lifecycle",
"method_name": "start_service",
"description": "Start a Coolify service.",
"schema": {
@@ -175,6 +181,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "stop_service",
"category": "lifecycle",
"method_name": "stop_service",
"description": "Stop a running Coolify service.",
"schema": {
@@ -192,6 +199,7 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "restart_service",
"category": "lifecycle",
"method_name": "restart_service",
"description": "Restart a Coolify service.",
"schema": {
@@ -209,6 +217,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "list_service_envs",
"category": "read_sensitive",
"sensitivity": "sensitive",
"method_name": "list_service_envs",
"description": "List environment variables for a Coolify service.",
"schema": {
@@ -226,6 +236,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "create_service_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "create_service_env",
"description": "Create an environment variable for a Coolify service.",
"schema": {
@@ -257,6 +269,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_service_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "update_service_env",
"description": "Update an environment variable for a Coolify service.",
"schema": {
@@ -287,6 +301,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "update_service_envs_bulk",
"category": "env",
"sensitivity": "sensitive",
"method_name": "update_service_envs_bulk",
"description": "Bulk update environment variables for a Coolify service.",
"schema": {
@@ -317,6 +333,8 @@ def get_tool_specifications() -> list[dict[str, Any]]:
},
{
"name": "delete_service_env",
"category": "env",
"sensitivity": "sensitive",
"method_name": "delete_service_env",
"description": "Delete an environment variable from a Coolify service.",
"schema": {