@dversum/mcp-server
dVersum のビジネス管理 API 向け公式 Model Context Protocol (MCP) サーバーです。Claude Desktop、Cursor、Windsurf などの AI アシスタントが dVersum のワークスペースと連携し、クライアント、プロジェクト、タスク、請求書、時間追跡などを管理できるようにします。
クイックスタート
Claude Desktop
Claude Desktop の設定(~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加します。
{
"mcpServers": {
"dversum": {
"command": "npx",
"args": ["-y", "@dversum/mcp-server"],
"env": {
"DVERSUM_API_URL": "https://api.dversum.com/api/v1",
"DVERSUM_API_TOKEN": "your-jwt-token"
}
}
}
}
Cursor / Windsurf
MCP の設定に追加します。
{
"mcpServers": {
"dversum": {
"command": "npx",
"args": ["-y", "@dversum/mcp-server"],
"env": {
"DVERSUM_API_URL": "https://api.dversum.com/api/v1",
"DVERSUM_API_TOKEN": "your-jwt-token"
}
}
}
}
Docker(本番環境)
クイックスタート
cd mcp-server
# Create .env file
echo "DVERSUM_API_URL=https://api.dversum.com/api/v1" > .env
echo "DVERSUM_API_TOKEN=your-jwt-token" >> .env
# Run
docker compose up -d
サーバーはポート 3100 で起動し、ヘルスチェックは /health、MCP エンドポイントは /mcp で利用できます。
手動でビルドして実行する
docker build -t dversum-mcp .
docker run -d \
-p 3100:3100 \
-e DVERSUM_API_URL=https://api.dversum.com/api/v1 \
-e DVERSUM_API_TOKEN=your-jwt-token \
--name dversum-mcp \
--restart unless-stopped \
dversum-mcp
リモート MCP を Claude Desktop に接続する
Docker コンテナの起動後、Claude Desktop でリモートエンドポイントを指定します。
{
"mcpServers": {
"dversum": {
"url": "http://your-server:3100/mcp"
}
}
}
環境変数
| 変数 | 必須 | 説明 |
|---|
DVERSUM_API_URL | はい | dVersum API のベース URL(例:https://api.dversum.com/api/v1) |
DVERSUM_API_TOKEN | はい | JWT 認証トークン |
MCP_TRANSPORT | いいえ | stdio(デフォルト)または http(Docker/リモート用) |
MCP_PORT | いいえ | http トランスポート使用時の HTTP ポート(デフォルト:3100) |
利用可能なツール(152)
クライアント(5)
| ツール | 説明 |
|---|
list_clients | すべてのクライアントをページネーション付きで一覧表示 |
get_client | クライアントの詳細を取得 |
create_client | 新しいクライアントを作成 |
update_client | クライアントの詳細を更新 |
delete_client | クライアントを削除 |
連絡先(5)
| ツール | 説明 |
|---|
list_contacts | すべての連絡先を一覧表示 |
get_contact | 連絡先の詳細を取得 |
create_contact | 新しい連絡先を作成 |
update_contact | 連絡先の詳細を更新 |
delete_contact | 連絡先を削除 |
プロジェクト(12)
| ツール | 説明 |
|---|
list_projects | すべてのプロジェクトを一覧表示 |
get_project | プロジェクトの詳細を取得 |
create_project | 新しいプロジェクトを作成 |
update_project | プロジェクトの詳細を更新 |
delete_project | プロジェクトを削除 |
get_project_board | カンバンボード全体(列+タスク)を取得 |
list_project_members | プロジェクトメンバーを一覧表示 |
add_project_member | プロジェクトにメンバーを追加 |
remove_project_member | プロジェクトからメンバーを削除 |
get_project_time_stats | プロジェクトの時間統計を取得 |
get_gantt_data | 依存関係を含むガントチャートデータを取得 |
create_column | カンバン列を作成 |
タスク(16)
| ツール | 説明 |
|---|
get_task | タスクの詳細(担当者、サブタスク、タグ)を取得 |
create_task | プロジェクトの列にタスクを作成 |
update_task | タスクのプロパティを更新 |
delete_task | タスクを削除 |
move_task | タスクを別の列に移動 |
assign_task | タスクに担当者を追加 |
remove_assignee | タスクから担当者を削除 |
list_task_comments | タスクのコメントを一覧表示 |
create_comment | タスクにコメントを追加 |
create_subtask | サブタスク(チェックリスト項目)を作成 |
toggle_task_done | タスクの完了状態を切り替え |
add_tag_to_task | タスクにタグを追加 |
remove_tag_from_task | タスクからタグを削除 |
archive_task | タスクをアーカイブ |
restore_task | アーカイブしたタスクを復元 |
move_task_to_project | タスクを別のプロジェクトに移動 |
時間追跡(8)
| ツール | 説明 |
|---|
list_time_entries | 時間記録を一覧表示(日付、プロジェクトで絞り込み) |
create_time_entry | 完了した時間記録を登録 |
update_time_entry | 時間記録を更新 |
delete_time_entry | 時間記録を削除 |
start_timer | タイマーを開始 |
stop_timer | 実行中のタイマーを停止 |
get_running_timer | 現在実行中のタイマーを取得 |
get_time_stats | 時間追跡の統計を取得 |
カレンダー(5)
| ツール | 説明 |
|---|
list_events | 指定した日付範囲のカレンダーイベントを一覧表示します |
get_event | イベントの詳細を取得します |
create_event | カレンダーイベントを作成します |
update_event | イベントを更新します |
delete_event | イベントを削除します |
請求書(14)
| ツール | 説明 |
|---|
list_invoices | 請求書を一覧表示します(ステータス、クライアント、種類で絞り込み) |
get_invoice | 明細項目と合計を含む請求書を取得します |
create_invoice | 請求書の下書きを作成します |
update_invoice | 請求書の下書きを更新します |
delete_invoice | 請求書の下書きを削除します |
update_invoice_status | 請求書のステータスを変更します |
send_invoice_email | 請求書をメールで送信します |
create_invoice_from_time | 記録した時間から請求書を作成します |
add_invoice_line_item | 明細項目を追加します |
update_invoice_line_item | 明細項目を更新します |
delete_invoice_line_item | 明細項目を削除します |
record_payment | 請求書への支払いを記録します |
create_credit_note | クレジットノート(Gutschrift)を作成します |
create_cancellation | 取消請求書(Stornorechnung)を作成します |
見積書(12)
| ツール | 説明 |
|---|
list_quotes | 見積書・提案書を一覧表示します |
get_quote | 明細項目を含む見積書を取得します |
create_quote | 見積書の下書きを作成します |
update_quote | 見積書を更新します |
delete_quote | 見積書を削除します |
update_quote_status | 見積書のステータスを更新します |
send_quote_email | 見積書をメールで送信します |
duplicate_quote | 見積書を複製します |
convert_quote_to_invoice | 承認済みの見積書を請求書に変換します |
add_quote_line_item | 明細項目を追加します |
update_quote_line_item | 明細項目を更新します |
delete_quote_line_item | 明細項目を削除します |
定期請求書(8)
| ツール | 説明 |
|---|
list_recurring_invoices | 定期請求書のテンプレートを一覧表示します |
get_recurring_invoice | 定期請求書の詳細を取得します |
create_recurring_invoice | 定期請求書を作成します |
update_recurring_invoice | 定期請求書を更新します |
delete_recurring_invoice | 定期請求書を削除します |
pause_recurring_invoice | 自動生成を一時停止します |
resume_recurring_invoice | 自動生成を再開します |
generate_recurring_invoice_now | 今すぐ請求書を生成します |
支払いリマインダー(6)
| ツール | 説明 |
|---|
list_reminders | 支払いリマインダー(Mahnungen)を一覧表示します |
get_reminder | リマインダーの詳細を取得します |
get_reminder_suggestion | 期限超過の請求書に対する推奨リマインダーを取得します |
create_reminder | 支払いリマインダーを作成します |
send_reminder_email | リマインダーをメールで送信します |
delete_reminder | リマインダーを削除します |
財務(11)
| ツール | 説明 |
|---|
get_finance_overview | 月次の収益と経費を表示します |
get_vat_summary | USt-Voranmeldung(KZ 81/86/66/83) |
list_received_invoices | 受領した請求書を一覧表示します |
get_received_invoice | 受領した請求書の詳細を取得します |
approve_received_invoice | 受領した請求書を承認します |
list_suppliers | すべてのサプライヤーを一覧表示します |
get_supplier | サプライヤーの詳細を取得します |
create_supplier | サプライヤーを作成します |
update_supplier | サプライヤーの詳細を更新します |
delete_supplier | サプライヤーを削除します |
get_datev_export | DATEV エクスポートデータをプレビューします |
チーム計画(5)
| ツール | 説明 |
|---|
list_absences | チームの休暇・不在を一覧表示します |
create_absence | 不在の記録を作成します |
update_absence | 不在の記録を更新します |
delete_absence | 不在の記録を削除します |
get_vacation_stats | 休暇の割当・使用状況の統計を取得します |
ページ(7)
| ツール | 説明 |
|---|
list_pages | すべてのページを一覧表示します |
get_page | コンテンツを含むページを取得します |
create_page | 新しいページを作成します |
update_page | ページのメタデータを更新します |
update_page_content | ページのコンテンツを更新します |
delete_page | ページと子ページを削除します |
get_page_tree | ページツリーの階層を取得します |
ホワイトボード(6)
| ツール | 説明 |
|---|
list_whiteboards | すべてのホワイトボードを一覧表示します |
get_whiteboard | コンテンツを含むホワイトボードを取得します |
create_whiteboard | ホワイトボードを作成します |
update_whiteboard | ホワイトボードのメタデータを更新します |
delete_whiteboard | ホワイトボードを削除します |
duplicate_whiteboard | ホワイトボードを複製します |
ファイルストレージ(12)
| ツール | 説明 |
|---|
list_files | フォルダー内のファイルを一覧表示します |
get_file | ファイルの詳細を取得します |
delete_file | ファイルを削除します |
get_file_download_url | 署名付きダウンロード URL を取得します |
list_folders | フォルダーを一覧表示します |
create_folder | 新しいフォルダーを作成します |
update_folder | フォルダー名/色を更新します |
delete_folder | フォルダーとその内容を削除します |
get_folder_tree | フォルダー階層全体を取得します |
create_share_link | WeTransfer 形式の共有リンクを作成します |
list_share_links | 有効な共有リンクを一覧表示します |
revoke_share_link | 共有リンクを取り消します |
タグ(4)
| ツール | 説明 |
|---|
list_tags | すべてのタグを一覧表示します |
create_tag | タグを作成します |
update_tag | タグを更新します |
delete_tag | タグを削除します |
エリア(4)
| ツール | 説明 |
|---|
list_areas | プロジェクトのエリア/グループを一覧表示します |
create_area | プロジェクトエリアを作成します |
update_area | エリアを更新します |
delete_area | エリアを削除します |
通知(4)
| ツール | 説明 |
|---|
list_notifications | 最近の通知を一覧表示します |
get_unread_count | 未読通知数を取得します |
mark_notification_read | 通知を既読にします |
mark_all_notifications_read | すべての通知を既読にします |
組織(8)
| ツール | 説明 |
|---|
get_organization | 組織の詳細を取得します |
update_organization | 組織の設定を更新します |
list_members | チームメンバーを一覧表示します |
invite_member | メールで新しいメンバーを招待します |
update_member_role | メンバーの役割を変更します |
remove_member | メンバーを削除します |
global_search | すべてのエンティティを横断検索します |
get_activity_feed | 最近のアクティビティフィードを取得します |
開発
# Clone the repo
git clone https://github.com/dversum/dversum.git
cd dversum/mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run locally
DVERSUM_API_URL=http://localhost:8080/api/v1 \
DVERSUM_API_TOKEN=your-jwt-token \
node dist/bin/dversum-mcp.js
ライセンス
MIT