Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.shingleai.com/llms.txt

Use this file to discover all available pages before exploring further.

The ShingleAI MCP server provides 10 tools for managing tasks and their assignees. These tools are organized into two categories: tasks and assignees.

Tasks

Core tools for creating, reading, updating, deleting, and searching tasks.

createTask

Create a new task with title (max 500 chars), description (max 10,000 chars), priority settings, and optional metadata. Tasks can be categorized and assigned due dates. Permission: tasks:write Parameters:
NameTypeRequiredDefaultDescription
titlestringYes-The title of the task (1-500 characters)
descriptionstringYes-Detailed description of the task and what needs to be done
statusstringNo”todo”Current status of the task. Valid values: backlog, todo, in_progress, in_review, done, cancelled
categorystring | nullNo-Task category. Valid values: bug_fix, feature_request, documentation, meeting, planning, research, review, other
importancestring | nullNo-How important this task is. Valid values: low, medium, high
urgencystring | nullNo-How urgent this task is. Valid values: low, medium, high
dueDatestring | nullNo-Due date for the task (ISO 8601 datetime with offset)
messageIdstring (UUID) | nullNo-Optional reference to a related message
contactIdstring (UUID) | nullNo-Optional reference to a related contact
metadataRecord<string, any> | nullNo-Additional structured metadata for the task
Returns: The created task object.

getTask

Get a specific task by ID, including all task details and assignees. Permission: tasks:read Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the task to retrieve
Returns: Full task object with assignees, or null if not found.

listTasks

List all tasks for the organization with pagination, including assignee details. Permission: tasks:read Parameters:
NameTypeRequiredDefaultDescription
limitnumberNo10Number of tasks to return (1-100)
offsetnumberNo0Number of tasks to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "tasks": [...],
  "count": 42,
  "limit": 10,
  "offset": 0
}

updateTask

Update an existing task with new values for any task fields. Title max 500 chars, description max 10,000 chars. Permission: tasks:write Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the task to update
titlestringNoThe title of the task (1-500 characters)
descriptionstringNoDetailed description of the task and what needs to be done
categorystring | nullNoTask category. Valid values: bug_fix, feature_request, documentation, meeting, planning, research, review, other
importancestring | nullNoHow important this task is. Valid values: low, medium, high
urgencystring | nullNoHow urgent this task is. Valid values: low, medium, high
statusstringNoCurrent status of the task. Valid values: backlog, todo, in_progress, in_review, done, cancelled
dueDatestring | nullNoDue date for the task (ISO 8601 datetime with offset)
messageIdstring (UUID) | nullNoReference to a related message
contactIdstring (UUID) | nullNoReference to a related contact
metadataRecord<string, any> | nullNoAdditional structured metadata for the task
Returns: The updated task object.

deleteTask

Delete a task (soft delete). Permission: tasks:delete Parameters:
NameTypeRequiredDescription
idstring (UUID)YesThe ID of the task to delete
Returns: The deleted task object.

searchTasks

Search for tasks using PostgreSQL full-text search across title, description, and metadata. Supports automatic word stemming, phrase matching, and relevance ranking. Results are sorted by relevance (most relevant first). Permission: tasks:read Parameters:
NameTypeRequiredDefaultDescription
querystringYes-Search query to find tasks using full-text search. Searches across title, description, and metadata. Supports automatic word stemming (e.g., “running” matches “run”) and phrase matching (max 255 characters)
limitnumberNo10Maximum number of results to return (1-50)
offsetnumberNo0Number of tasks to skip for pagination
sortOrderstringNo”desc”Sort order by relevance rank (“desc” = most relevant first, “asc” = least relevant first)
Returns: Array of full task objects ordered by relevance.

Assignees

Tools for assigning users to tasks and listing assignment relationships.

assignTask

Assign a user to a task. Permission: tasks:write Parameters:
NameTypeRequiredDescription
taskIdstring (UUID)YesThe ID of the task to assign
userIdstring (UUID)YesThe ID of the user to assign to the task
Returns: The created task assignee object.

unassignTask

Remove a user assignment from a task. Permission: tasks:write Parameters:
NameTypeRequiredDescription
taskIdstring (UUID)YesThe ID of the task to unassign from
userIdstring (UUID)YesThe ID of the user to unassign from the task
Returns: The removed task assignee object.

listTaskAssignees

Get all users assigned to a specific task. Permission: tasks:read Parameters:
NameTypeRequiredDefaultDescription
taskIdstring (UUID)Yes-The ID of the task to get assignees for
limitnumberNo10Maximum number of items to return (1-100)
offsetnumberNo0Number of items to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "assignees": [...],
  "count": 3,
  "limit": 10,
  "offset": 0
}

listUserTasks

Get all tasks assigned to a specific user. Permission: tasks:read Parameters:
NameTypeRequiredDefaultDescription
userIdstring (UUID)Yes-The ID of the user to get task assignments for
limitnumberNo10Maximum number of items to return (1-100)
offsetnumberNo0Number of items to skip for pagination
sortOrderstringNo”desc”Sort order by creation date (“asc” or “desc”)
Returns:
{
  "assignments": [...],
  "count": 8,
  "limit": 10,
  "offset": 0
}

Next Steps

Automation Tools

Build automations that create or update tasks in response to events

Authentication

Learn how MCP clients authenticate to the server