MCPInstall
Dart logo

Dart

by jmanhype 5 stars jmanhype/dart-mcp-server

Integrates with the Dart task management system to enable AI-driven project organization, document handling, and workflow automation through secure API interactions and Dartboard feature integration.

READMEmain

dart-mcp-server

smithery badge

MCP server that bridges the Dart project management platform to AI assistants. The server is TypeScript but delegates all Dart API calls to a Python subprocess using the dart-sdk package.

What It Does

Exposes Dart's task management, document, space, and dartboard operations as MCP tools. Each tool call spawns a Python process that imports dart-sdk, executes the operation, and returns JSON results over stdout. Communicates with MCP clients over stdio.

Status

AreaState
MCP transportstdio
LanguageTypeScript (server) + Python (Dart SDK calls)
MCP SDK@modelcontextprotocol/sdk ^1.5.0
Dart SDKdart-sdk (pip, called via subprocess)
Node.js>= 16.0.0
Python>= 3.8.0
LicenseMIT

MCP Tools

ToolWhat It Does
create_taskCreate a task with title, description, priority, status, assignees, tags
update_taskUpdate an existing task's status, title, or description by DUID
get_default_statusReturn default status DUIDs for a dartboard
get_default_spaceReturn the default space DUID
get_dartboardsList available dartboards
get_foldersList folders in a space
create_folderCreate a new folder
create_docCreate a document or report
create_spaceCreate a new workspace
delete_spaceDelete a workspace by DUID

Setup

Via Smithery

npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claude

Manual

git clone https://github.com/jmanhype/dart-mcp-server.git
cd dart-mcp-server
npm install          # also runs postinstall: creates .venv and pip installs dart-sdk
npm run build
npm start

Environment Variables

VariableRequiredDescription
DART_TOKENYesDart API token (get from your Dart profile)
PYTHONPATHNoPath to Dart SDK if not in default location
PYTHON_PATHNoPath to Python executable (defaults to system Python)

Verifying the Python Environment

python -c "import dart; print(dart.__version__)"

If this fails, the MCP server will not be able to execute any tools.

Architecture

src/
  index.ts  — MCP server, tool handlers, Python subprocess management
  test.ts   — Basic test runner

Each tool handler builds a Python script as a string, spawns python3 -c "<script>", and parses the JSON output. The Python process has a 120-second timeout.

Limitations

  • Every tool call spawns a new Python process (no persistent connection to Dart API)
  • The .env path is hardcoded to /Users/speed/dart-tools/.env in the source
  • No input validation beyond what the Dart SDK provides
  • No pagination support for list operations
  • Error messages from the Python subprocess are passed through as-is
  • The postinstall script creates a virtualenv, which may fail in some CI environments

Dependencies

PackageVersionPurpose
@modelcontextprotocol/sdk^1.5.0MCP server protocol
dotenv^16.4.7Environment variable loading
typescript^5.3.3Build toolchain
dart-sdk(pip)Python client for Dart API

License

MIT

More Productivity & Workflow MCP servers

Similar servers from the same category.

Integrates with monday.com API to enable direct access to boards, workflows, and data for automating tasks and managing resources without context switching.

Productivity & Workflow

Activepieces

activepieces

Dynamic server to which you can add apps (Google Calendar, Notion, etc) or advanced Activepieces Flows (Refund logic, a research and enrichment logic, etc).

search

Time

modelcontextprotocol

Time and timezone conversion capabilities

timeconversion

Interact with Microsoft Word.

word