Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{/* TODO: stub cloned from _section-after-setup-atlassianmcp-common-workflows.mdx for Dart AI MCP. Review and update connector-specific references (URLs, scopes, app-registration steps) before merging. */}
export const sectionTitle = 'Common workflows'

import { Tabs, TabItem, Aside } from '@astrojs/starlight/components'

### Get your cloud ID

Most Dart AI MCP tools require a `cloudId` — the UUID that identifies your Atlassian cloud site. Call `dartai_getaccessibleatlassianresources` once to retrieve it, then pass the `id` field value in every subsequent tool call.

<Aside type="note" title="Call this tool first">
Run `dartai_getaccessibleatlassianresources` before calling any Jira or Confluence tool. The response lists every Atlassian site the user has access to. Use the `id` field as `cloudId`.
</Aside>

<Tabs syncKey="tech-stack">
<TabItem label="Node.js">
```typescript
// Step 1 — get the cloud ID
const resources = await actions.executeTool({
connectionName: 'dartai',
identifier: 'user_123',
toolName: 'dartai_getaccessibleatlassianresources',
toolInput: {},
});
const cloudId = resources[0].id;

// Step 2 — use cloudId in subsequent calls
const issue = await actions.executeTool({
connectionName: 'dartai',
identifier: 'user_123',
toolName: 'dartai_getjiraissue',
toolInput: {
cloudId,
issueIdOrKey: 'KAN-1',
},
});
console.log(issue);
```
</TabItem>
<TabItem label="Python">
```python
# Step 1 — get the cloud ID
resources = actions.execute_tool(
connection_name="dartai",
identifier="user_123",
tool_name="dartai_getaccessibleatlassianresources",
tool_input={},
)
cloud_id = resources[0]["id"]

# Step 2 — use cloud_id in subsequent calls
issue = actions.execute_tool(
connection_name="dartai",
identifier="user_123",
tool_name="dartai_getjiraissue",
tool_input={
"cloudId": cloud_id,
"issueIdOrKey": "KAN-1",
},
)
print(issue)
```
</TabItem>
</Tabs>

The `dartai_getaccessibleatlassianresources` response looks like this:

```json
[
{
"id": "a4c9b3e2-1234-5678-abcd-ef0123456789",
"name": "My Company",
"url": "https://mycompany.atlassian.net",
"scopes": ["read:jira-work", "write:jira-work", "read:confluence-content.all"]
}
]
```

Use `id` as the `cloudId` parameter. If the user belongs to multiple Atlassian sites, the list contains one entry per site — pick the one matching the target `url`.
26 changes: 26 additions & 0 deletions src/components/templates/agent-connectors/_setup-dartai.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{/* TODO: stub cloned from _setup-atlassianmcp.mdx for Dart AI MCP. Review and update connector-specific references (URLs, scopes, app-registration steps) before merging. */}
import { Steps, Aside } from '@astrojs/starlight/components'

Dart AI MCP uses OAuth 2.1 with Dynamic Client Registration (DCR) and PKCE — no client ID or secret is needed. Scalekit automatically registers an OAuth client on behalf of each user and handles token management.

<Steps>
1. ### Create a connection in Scalekit

In the [Scalekit dashboard](https://app.scalekit.com), go to **AgentKit** > **Connections** and click **Create Connection**. Find **Dart AI MCP** in the catalog and click **Create**.

{/* TODO: add screenshot — alt: "Create connection for Dart AI MCP in Scalekit dashboard", original src: @/assets/docs/agent-connectors/dartai/create-connection.png */}

2. ### Authorize the connection

Click **Authorize** on the connection detail page. Scalekit initiates the OAuth 2.1 + PKCE flow with Dynamic Client Registration. You will be redirected to Dart AI to grant access.

{/* TODO: add provider-specific steps — describe where in Dart AI the authorization consent screen appears and what permissions are requested */}

{/* TODO: add screenshot — alt: "Dart AI MCP OAuth consent screen", original src: @/assets/docs/agent-connectors/dartai/oauth-consent.png */}

3. ### Verify the connection is active

After authorizing, you are redirected back to Scalekit. The connection status should show **Active**. You can now call Dart AI tools through Scalekit AgentKit.

{/* TODO: add screenshot — alt: "Active Dart AI MCP connection in Scalekit dashboard", original src: @/assets/docs/agent-connectors/dartai/connection-active.png */}
</Steps>
2 changes: 2 additions & 0 deletions src/components/templates/agent-connectors/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export { default as SetupCloseSection } from './_setup-close.mdx'
export { default as SetupCommonroommcpSection } from './_setup-commonroommcp.mdx'
export { default as SetupConfluenceSection } from './_setup-confluence.mdx'
export { default as SetupCustomeriomcpSection } from './_setup-customeriomcp.mdx'
export { default as SetupDartaiSection } from './_setup-dartai.mdx'
export { default as SetupDatabricksSection } from './_setup-databricks.mdx'
export { default as SetupDatadogSection } from './_setup-datadog.mdx'
export { default as SetupDevinmcpSection } from './_setup-devinmcp.mdx'
Expand Down Expand Up @@ -132,6 +133,7 @@ export { default as SectionAfterSetupCloseCommonWorkflows } from './_section-aft
export { default as SectionAfterSetupCommonroommcpCommonWorkflows } from './_section-after-setup-commonroommcp-common-workflows.mdx'
export { default as SectionAfterSetupConfluenceCommonWorkflows } from './_section-after-setup-confluence-common-workflows.mdx'
export { default as SectionAfterSetupCustomeriomcpCommonWorkflows } from './_section-after-setup-customeriomcp-common-workflows.mdx'
export { default as SectionAfterSetupDartaiCommonWorkflows } from './_section-after-setup-dartai-common-workflows.mdx'
export { default as SectionAfterSetupDatabricksCommonWorkflows } from './_section-after-setup-databricks-common-workflows.mdx'
export { default as SectionAfterSetupDatadogCommonWorkflows } from './_section-after-setup-datadog-common-workflows.mdx'
export { default as SectionAfterSetupDiarizeCommonWorkflows } from './_section-after-setup-diarize-common-workflows.mdx'
Expand Down
72 changes: 72 additions & 0 deletions src/content/docs/agentkit/connectors/dartai.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: 'Dart AI MCP connector'
tableOfContents: true
description: 'AI-native project management tool for task and document management with deep AI integration.'
sidebar:
label: 'Dart AI MCP'
overviewTitle: 'Quickstart'
connectorIcon: https://cdn.scalekit.com/sk-connect/assets/provider-icons/dartai.svg
connectorAuthType: OAuth2.1/DCR
connectorCategories: [Project Management, AI, Productivity]
head:
- tag: style
content: |
.sl-markdown-content h2 {
font-size: var(--sl-text-xl);
}
.sl-markdown-content h3 {
font-size: var(--sl-text-lg);
}
---

import ToolList from '@/components/ToolList.astro'
import { tools } from '@/data/agent-connectors/dartai'
import { Steps, Tabs, TabItem } from '@astrojs/starlight/components'
import { AgentKitCredentials } from '@components/templates'
import { QuickstartGenericOauthSection } from '@components/templates'

<Steps>

1. ### Install the SDK

<Tabs syncKey="tech-stack">
<TabItem label="Node.js">
```bash frame="terminal"
npm install @scalekit-sdk/node
```
</TabItem>
<TabItem label="Python">
```bash frame="terminal"
pip install scalekit
```
</TabItem>
</Tabs>

Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/)

2. ### Set your credentials

<AgentKitCredentials />

3. ### Authorize and make your first call

<QuickstartGenericOauthSection connector="dartai" toolName="dartai_get_config" providerName="Dart AI MCP" />

</Steps>

## 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

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.

<ToolList tools={tools} />
5 changes: 5 additions & 0 deletions src/data/agent-connectors/catalog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1249,4 +1249,9 @@ export const catalog: Record<string, ProviderMeta> = {
authType: 'OAuth 2.0',
categories: ['Communication'],
},
dartai: {
iconUrl: 'https://cdn.scalekit.com/sk-connect/assets/provider-icons/dartai.svg',
authType: 'OAuth2.1/DCR',
categories: ['Project Management', 'AI', 'Productivity'],
},
}
Loading