MCP
Connect an MCP client to Svit.One and use the available project tools.
Svit.One provides a remote Model Context Protocol (MCP) server. Compatible AI assistants and applications can use it to list your projects, work with tasks and opportunities, and read or create comments.
Connect an MCP client
Add the following remote MCP server URL to your client:
https://api-external.svit.one/mcpSelect Streamable HTTP as the transport if your client asks for one. Configuration field names vary by client, but a typical remote-server entry looks like this:
{
"mcpServers": {
"svit": {
"url": "https://api-external.svit.one/mcp"
}
}
}When prompted, sign in to Svit.One and approve access. The client can access only projects you belong to.
How to use the tools
Start with list_projects, then use its projectId with the other tools. Useful discovery
flows include:
- Call
list_foldersbefore filtering tasks by folder or creating or updating a task in a folder. - Call
list_project_usersbefore filtering tasks by assignee or assigning a task. - Call
list_tasksbefore reading or creating comments on a task.
Project tools
list_projects
Lists every Svit.One project the authenticated user belongs to.
Inputs: None.
Output: A projects array whose entries contain:
| Field | Type | Description |
|---|---|---|
id | number | Project ID used by the other tools. |
name | string | Project name. |
list_tasks
Lists tasks in a project, with pagination, search, filtering, and sorting.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | number | Yes | — | Project ID from list_projects. |
page | integer ≥ 1 | No | 1 | Page number. |
limit | integer, 1–100 | No | 20 | Number of tasks per page. |
search | string | No | — | Case-insensitive task-name search. |
status | string or string[] | No | — | One or more task statuses. See task values. |
priority | string | No | — | Task priority. See task values. |
folder | UUID | No | — | Folder ID from list_folders. |
assigneeId | integer | No | — | User ID from list_project_users. |
sortBy | string | No | created_at | created_at, updated_at, name, priority, status, dueDate, startDate, or order. |
sortOrder | string | No | desc | asc or desc. |
Output: A tasks array of task objects and a pagination object containing
total, page, limit, and totalPages numbers.
create_task
Creates a task in a project.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | integer | Yes | — | Project ID from list_projects. |
name | string | Yes | — | Non-empty task name, up to 255 characters. |
description | string or null | No | null | Task description. |
status | string | No | todo | Task status. See task values. |
priority | string | No | none | Task priority. See task values. |
folder | UUID or null | No | null | Folder ID from list_folders, or null for no folder. |
parentTask | UUID or null | No | null | Parent task ID, if this is a subtask. |
startDate | ISO 8601 datetime or null | No | null | Task start date. |
dueDate | ISO 8601 datetime or null | No | null | Task due date. |
assigneeIds | integer[] | No | [] | User IDs from list_project_users. |
Output: The created task object.
update_task
Updates an existing task. Only provided fields change. Pass null to clear a nullable field or
an empty assigneeIds array to remove all assignees. At least one field to update is required. The
connected user needs tasks:edit access in the project.
| Input | Type | Required | Description |
|---|---|---|---|
projectId | integer | Yes | Project ID from list_projects. |
taskId | UUID | Yes | Task ID from list_tasks. |
name | string | No | Non-empty task name, up to 255 characters. |
description | string or null | No | Task description, or null to clear it. |
status | string | No | Task status. See task values. |
priority | string | No | Task priority. See task values. |
folder | UUID or null | No | Folder ID from list_folders, or null for no folder. |
parentTask | UUID or null | No | Parent task ID, or null to make the task a top-level task. |
startDate | ISO 8601 datetime or null | No | Task start date, or null to clear it. |
dueDate | ISO 8601 datetime or null | No | Task due date, or null to clear it. |
assigneeIds | integer[] | No | Project-member IDs, or an empty array to remove all task assignees. |
Output: The updated task object.
list_folders
Lists task folders in a project.
| Input | Type | Required | Description |
|---|---|---|---|
projectId | integer | Yes | Project ID from list_projects. |
Output: A folders array whose entries contain:
| Field | Type | Description |
|---|---|---|
id | string | Folder ID. |
name | string | Folder name. |
parentFolder | string or null | Parent folder ID, if any. |
list_project_users
Lists the active members of a project.
| Input | Type | Required | Description |
|---|---|---|---|
projectId | integer | Yes | Project ID from list_projects. |
Output: A users array of user objects.
Opportunity tools
read_opportunity
Reads an opportunity by ID. The authenticated user must have access to both CRM opportunities and the opportunity's pipeline.
| Input | Type | Required | Description |
|---|---|---|---|
projectId | integer | Yes | Project ID from list_projects. |
opportunityId | string | Yes | Opportunity ID. |
Output: An opportunity object.
create_opportunity
Creates an opportunity in a project's default pipeline and initial stage.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | integer | Yes | — | Project ID from list_projects. |
name | string | Yes | — | Non-empty opportunity name. |
description | string or null | No | null | Opportunity description. |
ownerUserId | integer or null | No | null | Owner ID from list_project_users. |
Output: The created opportunity object.
Comment tools
Comments are polymorphic: they can be attached to different kinds of Svit.One objects. For
task comments, use task as the objectType and a task ID as the objectId.
Supported objectType values are dataset, site, project, task, and conversation.
list_comments
Lists comments attached to an object in a project.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | integer | Yes | — | Project ID from list_projects. |
objectType | string | Yes | — | One of the supported object types above. |
objectId | string | Yes | — | ID of the object, such as an ID from list_tasks. |
limit | integer, 1–100 | No | 50 | Maximum number of comments to return. |
Output: A comments array of comment objects.
create_comment
Adds a comment to an object in a project.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
projectId | integer | Yes | — | Project ID from list_projects. |
objectType | string | Yes | — | One of the supported object types above. |
objectId | string | Yes | — | ID of the object to comment on. |
text | string | Yes | — | Non-empty comment text. |
objectParentId | string or null | No | null | Parent object ID when required, such as a dataset ID for a CRM entity. |
Output: The created comment object.
Shared result objects
Opportunity object
| Field | Type | Description |
|---|---|---|
id | string | Opportunity ID. |
name | string | Opportunity name. |
description | string or null | Opportunity description, if any. |
contactPeople | string[] | Contact person IDs. |
organizationId | string or null | Organization ID, if any. |
ownerUserId | integer or null | Owner user ID, if any. |
pipeline | string | Pipeline ID. |
pipelineStage | string or null | Pipeline stage ID, if any. |
isOpen | boolean | Whether the opportunity is open. |
createdAt | string or null | Creation time in ISO 8601 format, if available. |
updatedAt | string or null | Last update time in ISO 8601 format, if available. |
Task object
| Field | Type | Description |
|---|---|---|
id | string | Task ID. |
name | string | Task name. |
status | string | Task status. |
priority | string | Task priority. |
description | string or null | Task description. |
folder | string or null | Folder ID, if any. |
parentTask | string or null | Parent task ID, if any. |
assigneeIds | integer[] | IDs of users assigned to the task. |
dueDate | string or null | Due date in ISO 8601 format, if any. |
startDate | string or null | Start date in ISO 8601 format, if any. |
createdAt | string or null | Creation time in ISO 8601 format, if available. |
updatedAt | string or null | Last update time in ISO 8601 format, if available. |
User object
| Field | Type | Description |
|---|---|---|
id | integer | User ID. |
name | string or null | User's first name. |
surname | string or null | User's last name. |
email | string | User's email address. |
image | string or null | Avatar URL, if any. |
Comment object
| Field | Type | Description |
|---|---|---|
id | string | Comment ID. |
projectId | integer | Project ID. |
text | string | Comment text. |
userId | integer | Author's user ID. |
objectId | string | ID of the object the comment is attached to. |
objectType | string | Type of the attached object. |
objectParentId | string or null | Parent object ID, if any. |
createdAt | string or null | Creation time in ISO 8601 format, if available. |
updatedAt | string or null | Last update time in ISO 8601 format, if available. |
user | object | Comment author as a user object. |
Task values
Task statuses are todo, in-progress, review, and done.
Task priorities are high, medium, low, and none.