Skip to main content
Glama
daanno

Simplicate MCP Server

by daanno

create_task

Create new tasks in Simplicate by specifying title, project, assignee, and due date to organize work and track progress.

Instructions

Create a new task

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
assignee_idNo
due_dateNo
project_idNo
titleYes

Implementation Reference

  • Tool schema definition for 'create_task' including name, description, and inputSchema used in MCP listTools response
    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'],
    },
  • MCP CallToolRequest handler case for 'create_task' that delegates to SimplicateServiceExtended.createTask and formats response
    case 'create_task': {
      const data = await this.simplicateService.createTask(toolArgs);
      return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
  • Core implementation of createTask method in SimplicateServiceExtended that performs POST to Simplicate API /projects/task endpoint
    async createTask(data: Partial<SimplicateTask>): Promise<SimplicateTask> {
      const response = await this.client.post('/projects/task', data);
      return response.data;
  • TypeScript interface SimplicateTask defining the structure for task data used by createTask and related methods
    export interface SimplicateTask {
      id: string;
      title: string;
      description?: string;
      project?: { id: string; name: string };
      assignee?: { id: string; name: string };
      status: string;
      due_date?: string;
    }
  • Registration of listTools handler that includes the 'create_task' tool in the returned tools list
    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