Skip to main content
Glama
daanno

Simplicate MCP Server

by daanno

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

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID

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}`);
    }
  • 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' }] };
    }
  • 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'],
      },
    },
  • 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'],
          },
        },
      ],
    }));

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daanno/simplicate-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server