Skip to main content

Overview

Updates an existing project in Dokploy. Only provide the fields you want to update. System fields like createdAt and organizationId are typically not modified.

Annotations

destructiveHint
boolean
default:"true"
This operation modifies an existing resource and is considered destructive.
idempotentHint
boolean
default:"false"
This operation is not idempotent as each update may produce different results.
openWorldHint
boolean
default:"true"
This operation interacts with the external Dokploy API.

Input Schema

projectId
string
required
The ID of the project to update. Must be a valid existing project ID.
name
string
The new name of the project. Must be at least 1 character long.
description
string | null
The new description for the project. Can be set to null to remove the description.
createdAt
string
The creation date of the project. Typically not modified.
organizationId
string
The organization ID of the project. Typically not modified.
env
string
Environment variables for the project. Should be in KEY=VALUE format, with multiple variables separated by newlines.

Response Schema

Returns the updated project object:
projectId
string
Unique identifier for the project
name
string
Updated name of the project
description
string | null
Updated description of the project
createdAt
string
ISO 8601 timestamp of when the project was created
organizationId
string
ID of the organization that owns this project
env
string
Updated environment variables for the project

Usage Example

// Update project name only
const result = await mcp.useTool("project-update", {
  projectId: "proj_abc123",
  name: "Updated Project Name"
});

// Update multiple fields
const resultMultiple = await mcp.useTool("project-update", {
  projectId: "proj_abc123",
  name: "Production Environment",
  description: "Updated description for production",
  env: "NODE_ENV=production\nAPI_URL=https://api.example.com\nNEW_FEATURE=enabled"
});

console.log(resultMultiple);
// Output:
// {
//   "message": "Project \"proj_abc123\" updated successfully",
//   "data": {
//     "projectId": "proj_abc123",
//     "name": "Production Environment",
//     "description": "Updated description for production",
//     "createdAt": "2024-01-15T10:30:00Z",
//     "organizationId": "org_456",
//     "env": "NODE_ENV=production\nAPI_URL=https://api.example.com\nNEW_FEATURE=enabled"
//   }
// }

// Clear description by setting it to null
const resultClear = await mcp.useTool("project-update", {
  projectId: "proj_abc123",
  description: null
});

Error Handling

If the project update fails, an error response will be returned:
{
  "error": "Failed to update project",
  "details": "Project with ID \"proj_abc123\" not found"
}

Notes

  • Only the projectId field is required; all other fields are optional
  • You only need to provide the fields you want to update
  • Setting description to null will remove the description from the project
  • Environment variables will be completely replaced, not merged, so include all variables you want to keep
  • System fields like createdAt and organizationId are typically not modified
  • This operation is destructive and will overwrite existing values for the fields you provide

Build docs developers (and LLMs) love