Dart AI MCP connector
OAuth2.1/DCRProject ManagementAIProductivityAI-native project management tool for task and document management with deep AI integration.
Dart AI MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'dartai'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Dart AI MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'dartai_get_config',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "dartai"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Dart AI MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="dartai_get_config",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Url add task attachment from — Attach a file from a provided URL to a task
- Comment add task — Record a new comment that the user intends to add to a given task
- Tracking add task time — Record an additional time tracking entry on a task
- Create agent, doc, task — Create a new agent in the workspace with a name and optional description or instructions
- Delete agent, doc, task — Delete an agent by its ID
- Get agent, config, dartboard — Retrieve an existing agent by its ID, including its name and current description
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
dartai_add_task_attachment_from_url#Attach a file from a provided URL to a task.5 params
Attach a file from a provided URL to a task.
taskDuidstringrequiredThe ID of the task.urlstringrequiredThe URL of the file to attach.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.namestringoptionalOptional display name for the attachment.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_add_task_comment#Record a new comment that the user intends to add to a given task.4 params
Record a new comment that the user intends to add to a given task.
taskDuidstringrequiredThe ID of the task to add a comment to.textstringrequiredThe comment text.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_add_task_time_tracking#Record an additional time tracking entry on a task.5 params
Record an additional time tracking entry on a task.
minutesintegerrequiredNumber of minutes to log.taskDuidstringrequiredThe ID of the task.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.startedAtstringoptionalWhen the time tracking started.dartai_create_agent#Create a new agent in the workspace with a name and optional description or instructions.12 params
Create a new agent in the workspace with a name and optional description or instructions.
item_namestringrequiredThe display name of the new agent.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.item_executionModestringoptionalHow the agent runs when triggered.item_forwarding_bodystringoptionalCustom request body template for the forwarding webhook.item_forwarding_responseKeystringoptionalKey in the webhook response to extract as the agent's output.item_forwarding_urlstringoptionalWebhook URL to forward tasks to (used when executionMode is Forwarding).item_instructions_markdownstringoptionalMarkdown instructions for the agent (used when executionMode is Instructions).item_instructions_modelstringoptionalLLM model to use for the agent's instructions.item_instructions_thinkingLevelstringoptionalThinking depth level for the agent's LLM.item_instructions_webEnabledbooleanoptionalWhether the agent can browse the web.item_local_agentstringoptionalLocal CLI agent to use when executionMode is Local.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_create_doc#Record a new doc that the user intends to write down.5 params
Record a new doc that the user intends to write down.
item_titlestringrequiredThe title of the doc.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.item_dartboardDuidstringoptionalThe ID of the dartboard to place the doc in.item_textstringoptionalThe doc content in markdown format.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_create_task#Record a new task that the user intends to do.3 params
Record a new task that the user intends to do.
itemobjectrequiredThe task object to create.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_delete_agent#Delete an agent by its ID.3 params
Delete an agent by its ID.
duidstringrequiredThe ID of the agent to delete.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_delete_doc#Move an existing doc to the trash.3 params
Move an existing doc to the trash.
duidstringrequiredThe ID of the doc to delete.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_delete_task#Move an existing task to the trash.3 params
Move an existing task to the trash.
duidstringrequiredThe ID of the task to delete.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_agent#Retrieve an existing agent by its ID, including its name and current description.3 params
Retrieve an existing agent by its ID, including its name and current description.
duidstringrequiredThe ID of the agent.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_config#Get information about the user's space, including all possible values.2 params
Get information about the user's space, including all possible values.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_dartboard#Retrieve an existing dartboard.3 params
Retrieve an existing dartboard.
duidstringrequiredThe ID of the dartboard.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_doc#Retrieve an existing doc.3 params
Retrieve an existing doc.
duidstringrequiredThe ID of the doc.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_folder#Retrieve an existing folder by its ID.3 params
Retrieve an existing folder by its ID.
duidstringrequiredThe ID of the folder.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_task#Retrieve an existing task by its ID.3 params
Retrieve an existing task by its ID.
duidstringrequiredThe ID of the task.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_get_view#Retrieve an existing view by its ID.3 params
Retrieve an existing view by its ID.
duidstringrequiredThe ID of the view.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_list_agents#List all agents in the workspace.2 params
List all agents in the workspace.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_list_comments#List comments for a task with filtering options.5 params
List comments for a task with filtering options.
taskDuidstringrequiredThe ID of the task.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.limitintegeroptionalMax number of comments to return.offsetintegeroptionalNumber of comments to skip.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_list_docs#List docs with filtering and search capabilities.6 params
List docs with filtering and search capabilities.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.dartboardDuidstringoptionalFilter by dartboard ID.limitintegeroptionalMax number of docs to return.offsetintegeroptionalNumber of docs to skip.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.textstringoptionalSearch text.dartai_list_help_center_articles#Search for up to two help center articles by semantic similarity to a query.3 params
Search for up to two help center articles by semantic similarity to a query.
textstringrequiredThe search query text.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_list_tasks#List tasks with powerful filtering options.9 params
List tasks with powerful filtering options.
assigneeDuidstringoptionalFilter by assignee user ID.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.dartboardDuidstringoptionalFilter by dartboard ID.limitintegeroptionalMax number of tasks.offsetintegeroptionalNumber of tasks to skip.prioritystringoptionalFilter by priority.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.statusDuidstringoptionalFilter by status ID.textstringoptionalSearch text.dartai_move_task#Move a task to a specific position within results.5 params
Move a task to a specific position within results.
duidstringrequiredThe ID of the task to move.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.dartboardDuidstringoptionalThe target dartboard ID.ordernumberoptionalThe order/position value.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_report_issue#Create a concise markdown issue report for Dart Support.4 params
Create a concise markdown issue report for Dart Support.
descriptionstringrequiredDetailed description of the issue.titlestringrequiredThe issue title.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_retrieve_skill_by_title#Retrieve a skill by its title.3 params
Retrieve a skill by its title.
titlestringrequiredThe title of the skill to retrieve.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_update_agent#Update an agent's name and/or description. Only the fields provided will be changed.13 params
Update an agent's name and/or description. Only the fields provided will be changed.
duidstringrequiredThe ID of the agent to update.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.item_executionModestringoptionalHow the agent runs when triggered.item_forwarding_bodystringoptionalUpdated custom request body for the forwarding webhook.item_forwarding_responseKeystringoptionalUpdated key in the webhook response to extract.item_forwarding_urlstringoptionalUpdated webhook URL for forwarding mode.item_instructions_markdownstringoptionalUpdated markdown instructions for the agent.item_instructions_modelstringoptionalUpdated LLM model for the agent.item_instructions_thinkingLevelstringoptionalUpdated thinking depth level for the agent's LLM.item_instructions_webEnabledbooleanoptionalWhether the agent can browse the web.item_local_agentstringoptionalUpdated local CLI agent for Local execution mode.item_namestringoptionalNew display name for the agent.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_update_doc#Update certain properties of an existing doc.5 params
Update certain properties of an existing doc.
duidstringrequiredThe ID of the doc to update.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.item_dartboardDuidstringoptionalUpdated dartboard ID to move the doc to.item_titlestringoptionalUpdated title for the doc.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_update_doc_text#Apply targeted text updates to a doc's content.4 params
Apply targeted text updates to a doc's content.
duidstringrequiredThe ID of the doc.operationsarrayrequiredList of text update operations to apply.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_update_task#Update properties of an existing task.4 params
Update properties of an existing task.
duidstringrequiredThe ID of the task to update.itemobjectrequiredThe task fields to update.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.dartai_update_task_description#Apply targeted text updates to a task's description.4 params
Apply targeted text updates to a task's description.
duidstringrequiredThe ID of the task.operationsarrayrequiredList of text update operations.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.