delete_project
Remove projects from Simplicate business management system by providing the project ID. This action permanently deletes project records from the database.
Instructions
Delete a project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID |
Input Schema (JSON Schema)
{
"properties": {
"project_id": {
"description": "Project ID",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
}
Implementation Reference
- Core handler implementation that executes the DELETE API request to delete the project by ID via SimplicateClient.async deleteProject(projectId: string): Promise<void> { await this.client.delete(`/projects/project/${projectId}`); }
- src/mcp/server-full.ts:415-419 (handler)MCP server dispatch handler for 'delete_project' tool that validates input and delegates to SimplicateServiceExtended.deleteProject.case 'delete_project': { if (!toolArgs.project_id) throw new Error('project_id is required'); await this.simplicateService.deleteProject(toolArgs.project_id); return { content: [{ type: 'text', text: 'Project deleted successfully' }] }; }
- src/mcp/server-full.ts:91-99 (schema)Tool schema definition including input schema requiring 'project_id' string, registered in listTools response.{ name: 'delete_project', description: 'Delete a project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' } }, required: ['project_id'], }, },
- src/mcp/server-full.ts:39-384 (registration)Registration of all tools including 'delete_project' in the MCP ListToolsRequestHandler.this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ // ============================================= // PROJECTS TOOLS (7 tools) // ============================================= { name: 'get_projects', description: 'Retrieve a list of all projects', inputSchema: { type: 'object', properties: { limit: { type: 'number', description: 'Maximum number to return (default: 10)' }, offset: { type: 'number', description: 'Number to skip for pagination' }, }, }, }, { name: 'get_project', description: 'Get details of a specific project by ID', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' } }, required: ['project_id'], }, }, { name: 'create_project', description: 'Create a new project', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Project name' }, organization_id: { type: 'string', description: 'Organization ID' }, project_manager_id: { type: 'string', description: 'Project manager employee ID' }, start_date: { type: 'string', description: 'Start date (YYYY-MM-DD)' }, budget: { type: 'number', description: 'Project budget' }, }, required: ['name'], }, }, { name: 'update_project', description: 'Update an existing project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' }, data: { type: 'object', description: 'Fields to update' }, }, required: ['project_id', 'data'], }, }, { name: 'delete_project', description: 'Delete a project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' } }, required: ['project_id'], }, }, { name: 'get_project_services', description: 'Get services/items for a specific project', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID' } }, required: ['project_id'], }, }, { name: 'get_tasks', description: 'Retrieve project tasks', inputSchema: { type: 'object', properties: { limit: { type: 'number', description: 'Maximum number to return' }, offset: { type: 'number', description: 'Number to skip' }, }, }, }, // ============================================= // CRM TOOLS (8 tools) // ============================================= { name: 'get_organizations', description: 'Retrieve CRM organizations', inputSchema: { type: 'object', properties: { limit: { type: 'number' }, offset: { type: 'number' }, }, }, }, { name: 'get_organization', description: 'Get specific organization by ID', inputSchema: { type: 'object', properties: { organization_id: { type: 'string' } }, required: ['organization_id'], }, }, { name: 'create_organization', description: 'Create a new organization', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Organization name' }, email: { type: 'string' }, phone: { type: 'string' }, website: { type: 'string' }, }, required: ['name'], }, }, { name: 'update_organization', description: 'Update an organization', inputSchema: { type: 'object', properties: { organization_id: { type: 'string' }, data: { type: 'object' }, }, required: ['organization_id', 'data'], }, }, { name: 'get_persons', description: 'Retrieve contact persons', inputSchema: { type: 'object', properties: { limit: { type: 'number' }, offset: { type: 'number' }, }, }, }, { name: 'get_person', description: 'Get specific person by ID', inputSchema: { type: 'object', properties: { person_id: { type: 'string' } }, required: ['person_id'], }, }, { name: 'create_person', description: 'Create a new contact person', inputSchema: { type: 'object', properties: { first_name: { type: 'string' }, family_name: { type: 'string' }, email: { type: 'string' }, organization_id: { type: 'string' }, }, required: ['first_name', 'family_name'], }, }, { name: 'update_person', description: 'Update a person', inputSchema: { type: 'object', properties: { person_id: { type: 'string' }, data: { type: 'object' }, }, required: ['person_id', 'data'], }, }, // ============================================= // SERVICES TOOLS (4 tools) // ============================================= { name: 'get_services', description: 'Retrieve services catalog', inputSchema: { type: 'object', properties: { limit: { type: 'number' }, offset: { type: 'number' }, }, }, }, { name: 'get_service', description: 'Get specific service by ID', inputSchema: { type: 'object', properties: { service_id: { type: 'string' } }, required: ['service_id'], }, }, { name: 'create_service', description: 'Create a new service', inputSchema: { type: 'object', properties: { name: { type: 'string' }, price: { type: 'number' }, }, required: ['name', 'price'], }, }, { name: 'get_default_services', description: 'Get default services configuration', inputSchema: { type: 'object', properties: {} }, }, // ============================================= // TASKS TOOLS (3 tools) // ============================================= { name: 'get_task', description: 'Get specific task by ID', inputSchema: { type: 'object', properties: { task_id: { type: 'string' } }, required: ['task_id'], }, }, { name: 'create_task', description: 'Create a new task', inputSchema: { type: 'object', properties: { title: { type: 'string' }, project_id: { type: 'string' }, assignee_id: { type: 'string' }, due_date: { type: 'string' }, }, required: ['title'], }, }, { name: 'update_task', description: 'Update a task', inputSchema: { type: 'object', properties: { task_id: { type: 'string' }, data: { type: 'object' }, }, required: ['task_id', 'data'], }, }, // ============================================= // DOCUMENTS TOOLS (2 tools) // ============================================= { name: 'get_documents', description: 'Retrieve documents', inputSchema: { type: 'object', properties: { limit: { type: 'number' }, offset: { type: 'number' }, }, }, }, { name: 'get_document', description: 'Get specific document by ID', inputSchema: { type: 'object', properties: { document_id: { type: 'string' } }, required: ['document_id'], }, }, // ============================================= // CONTRACTS TOOLS (3 tools) // ============================================= { name: 'get_contracts', description: 'Retrieve contracts', inputSchema: { type: 'object', properties: { limit: { type: 'number' }, offset: { type: 'number' }, }, }, }, { name: 'get_contract', description: 'Get specific contract by ID', inputSchema: { type: 'object', properties: { contract_id: { type: 'string' } }, required: ['contract_id'], }, }, { name: 'create_contract', description: 'Create a new contract', inputSchema: { type: 'object', properties: { organization_id: { type: 'string' }, start_date: { type: 'string' }, end_date: { type: 'string' }, }, required: ['organization_id', 'start_date'], }, }, // ============================================= // CUSTOM FIELDS & SEARCH (2 tools) // ============================================= { name: 'get_custom_fields', description: 'Retrieve custom field definitions', inputSchema: { type: 'object', properties: { model: { type: 'string', description: 'Model type (organization, person, project, etc.)' }, }, }, }, { name: 'search', description: 'Search across Simplicate resources', inputSchema: { type: 'object', properties: { query: { type: 'string' }, type: { type: 'string', enum: ['project', 'organization', 'person'] }, }, required: ['query'], }, }, ], }));