Dart MCP Server について
Dart MCP Serverは、Dartのタスク、ドキュメント、スペース、dartboardの操作をAIアシスタントに提供します。Pythonサブプロセス経由でDart SDKを呼び出し、stdioでMCPクライアントと通信します。
主な機能
- 01タスクの作成と更新
- 02dartboardと既定ステータスの確認
- 03フォルダーの一覧表示と作成
- 04ドキュメントとスペースの作成
- 05スペースの削除
活用シーン
- 01Dartのタスクの作成や変更
- 02スペースとdartboardの情報確認
- 03プロジェクト文書やレポートの作成
- 04ワークスペースとフォルダーの管理
MCP 対応
MCPサーバーとして、Dartのタスク、ドキュメント、スペース、dartboardを操作するツールをクライアントにstdioで提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dart-mcp-server
Dart プロジェクト管理プラットフォームと AI アシスタントを連携する MCP サーバーです。サーバーは TypeScript で実装されていますが、すべての Dart API 呼び出しは dart-sdk パッケージを使用する Python サブプロセスに委譲します。
機能
Dart のタスク管理、ドキュメント、スペース、dartboard の操作を MCP ツールとして公開します。各ツール呼び出しでは Python プロセスを起動し、dart-sdk をインポートして操作を実行し、stdout 経由で JSON の結果を返します。MCP クライアントとは stdio で通信します。
ステータス
| 項目 | 状態 |
|---|---|
| MCP トランスポート | stdio |
| 言語 | TypeScript(サーバー)+ Python(Dart SDK の呼び出し) |
| MCP SDK | @modelcontextprotocol/sdk ^1.5.0 |
| Dart SDK | dart-sdk(pip、サブプロセス経由で呼び出し) |
| Node.js | >= 16.0.0 |
| Python | >= 3.8.0 |
| ライセンス | MIT |
MCP ツール
| ツール | 機能 |
|---|---|
create_task | タイトル、説明、優先度、ステータス、担当者、タグを指定してタスクを作成します |
update_task | DUID を指定して、既存タスクのステータス、タイトル、説明を更新します |
get_default_status | dartboard のデフォルトのステータス DUID を返します |
get_default_space | デフォルトのスペース DUID を返します |
get_dartboards | 利用可能な dartboard を一覧表示します |
get_folders | スペース内のフォルダーを一覧表示します |
create_folder | 新しいフォルダーを作成します |
create_doc | ドキュメントまたはレポートを作成します |
create_space | 新しいワークスペースを作成します |
delete_space | DUID を指定してワークスペースを削除します |
セットアップ
Smithery 経由
npx -y @smithery/cli install @jmanhype/dart-mcp-server --client claude
手動
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
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
DART_TOKEN | はい | Dart API トークン(Dart プロフィールから取得) |
PYTHONPATH | いいえ | デフォルトの場所にない場合の Dart SDK のパス |
PYTHON_PATH | いいえ | Python 実行ファイルのパス(デフォルトはシステムの Python) |
Python 環境の確認
python -c "import dart; print(dart.__version__)"
この確認に失敗すると、MCP サーバーはどのツールも実行できません。
アーキテクチャ
src/
index.ts — MCP server, tool handlers, Python subprocess management
test.ts — Basic test runner
各ツールハンドラーは Python スクリプトを文字列として構築し、python3 -c "<script>" を実行して、JSON 出力を解析します。Python プロセスのタイムアウトは 120 秒です。
制限事項
- ツールを呼び出すたびに新しい Python プロセスを起動します(Dart API への永続的な接続はありません)
- ソース内の
.envのパスは/Users/speed/dart-tools/.envにハードコードされています - 入力検証は Dart SDK が提供するもの以外ありません
- リスト操作でのページネーションには対応していません
- Python サブプロセスのエラーメッセージはそのまま渡されます
postinstallスクリプトは仮想環境を作成しますが、一部の CI 環境では失敗する可能性があります
依存関係
| パッケージ | バージョン | 用途 |
|---|---|---|
@modelcontextprotocol/sdk | ^1.5.0 | MCP サーバープロトコル |
dotenv | ^16.4.7 | 環境変数の読み込み |
typescript | ^5.3.3 | ビルドツールチェーン |
dart-sdk | (pip) | Dart API 用の Python クライアント |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。