@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