dVersum MCP Server
OfficialProvides financial tools including preview of DATEV export data for accounting integration.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dVersum MCP ServerShow me all my active projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@dversum/mcp-server
Official Model Context Protocol (MCP) server for the dVersum business management API. Lets AI assistants like Claude Desktop, Cursor, and Windsurf interact with your dVersum workspace — managing clients, projects, tasks, invoices, time tracking, and more.
Quick Start
Claude Desktop
Add this to your Claude Desktop configuration (~/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
Add to your MCP settings:
{
"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"
}
}
}
}Related MCP server: FutureSense MCP
Docker (Production)
Quick start
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 -dThe server starts on port 3100 with a health check at /health and the MCP endpoint at /mcp.
Build & run manually
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-mcpConnect remote MCP to Claude Desktop
Once the Docker container is running, point Claude Desktop to the remote endpoint:
{
"mcpServers": {
"dversum": {
"url": "http://your-server:3100/mcp"
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Base URL of your dVersum API (e.g. |
| Yes | Your JWT authentication token |
| No |
|
| No | HTTP port when using |
Available Tools (152)
Clients (5)
Tool | Description |
| List all clients with pagination |
| Get client details |
| Create a new client |
| Update client details |
| Delete a client |
Contacts (5)
Tool | Description |
| List all contacts |
| Get contact details |
| Create a new contact |
| Update contact details |
| Delete a contact |
Projects (12)
Tool | Description |
| List all projects |
| Get project details |
| Create a new project |
| Update project details |
| Delete a project |
| Get full kanban board (columns + tasks) |
| List project members |
| Add a member to a project |
| Remove a member from a project |
| Get project time statistics |
| Get Gantt chart data with dependencies |
| Create a kanban column |
Tasks (16)
Tool | Description |
| Get task details (assignees, subtasks, tags) |
| Create a task in a project column |
| Update task properties |
| Delete a task |
| Move task to a different column |
| Add an assignee to a task |
| Remove an assignee from a task |
| List comments on a task |
| Add a comment to a task |
| Create a subtask (checklist item) |
| Toggle task completion |
| Add a tag to a task |
| Remove a tag from a task |
| Archive a task |
| Restore an archived task |
| Move task to a different project |
Time Tracking (8)
Tool | Description |
| List time entries (filter by date, project) |
| Log a completed time entry |
| Update a time entry |
| Delete a time entry |
| Start a running timer |
| Stop a running timer |
| Get the currently running timer |
| Get time tracking statistics |
Calendar (5)
Tool | Description |
| List calendar events in a date range |
| Get event details |
| Create a calendar event |
| Update an event |
| Delete an event |
Invoices (14)
Tool | Description |
| List invoices (filter by status, client, type) |
| Get invoice with line items and totals |
| Create a draft invoice |
| Update a draft invoice |
| Delete a draft invoice |
| Change invoice status |
| Send invoice via email |
| Create invoice from tracked time |
| Add a line item |
| Update a line item |
| Delete a line item |
| Record a payment on an invoice |
| Create a credit note (Gutschrift) |
| Create a cancellation invoice (Stornorechnung) |
Quotes (12)
Tool | Description |
| List quotes/proposals |
| Get quote with line items |
| Create a draft quote |
| Update a quote |
| Delete a quote |
| Update quote status |
| Send quote via email |
| Duplicate a quote |
| Convert accepted quote to invoice |
| Add a line item |
| Update a line item |
| Delete a line item |
Recurring Invoices (8)
Tool | Description |
| List recurring invoice templates |
| Get recurring invoice details |
| Create a recurring invoice |
| Update a recurring invoice |
| Delete a recurring invoice |
| Pause auto-generation |
| Resume auto-generation |
| Generate an invoice now |
Payment Reminders (6)
Tool | Description |
| List payment reminders (Mahnungen) |
| Get reminder details |
| Get suggested reminder for overdue invoice |
| Create a payment reminder |
| Send reminder via email |
| Delete a reminder |
Finance (11)
Tool | Description |
| Monthly revenue vs expenses |
| USt-Voranmeldung (KZ 81/86/66/83) |
| List incoming invoices |
| Get received invoice details |
| Approve a received invoice |
| List all suppliers |
| Get supplier details |
| Create a supplier |
| Update supplier details |
| Delete a supplier |
| Preview DATEV export data |
Team Planning (5)
Tool | Description |
| List team absences |
| Create an absence entry |
| Update an absence |
| Delete an absence |
| Get vacation quota/usage stats |
Pages (7)
Tool | Description |
| List all pages |
| Get page with content |
| Create a new page |
| Update page metadata |
| Update page content |
| Delete a page and children |
| Get page tree hierarchy |
Whiteboards (6)
Tool | Description |
| List all whiteboards |
| Get whiteboard with content |
| Create a whiteboard |
| Update whiteboard metadata |
| Delete a whiteboard |
| Duplicate a whiteboard |
File Storage (12)
Tool | Description |
| List files in a folder |
| Get file details |
| Delete a file |
| Get presigned download URL |
| List folders |
| Create a new folder |
| Update folder name/color |
| Delete a folder and contents |
| Get full folder hierarchy |
| Create a WeTransfer-style share link |
| List active share links |
| Revoke a share link |
Tags (4)
Tool | Description |
| List all tags |
| Create a tag |
| Update a tag |
| Delete a tag |
Areas (4)
Tool | Description |
| List project areas/groups |
| Create a project area |
| Update an area |
| Delete an area |
Notifications (4)
Tool | Description |
| List recent notifications |
| Get unread notification count |
| Mark a notification as read |
| Mark all as read |
Organization (8)
Tool | Description |
| Get organization details |
| Update organization settings |
| List team members |
| Invite a new member via email |
| Change a member's role |
| Remove a member |
| Search across all entities |
| Get recent activity feed |
Development
# 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.jsLicense
MIT
Available Tools
152 toolsadd_invoice_line_itemB
Add a line item to an invoice.
Inputs: quantity (required), invoice_id (required), unit_price (required), description (required), +1 more.
add_project_memberB
Add a member to a project.
Inputs: user_id (required), project_id (required).
add_quote_line_itemB
Add a line item to a quote.
Inputs: quantity (required), quote_id (required), unit_price (required), description (required), +1 more.
add_tag_to_taskB
Add a tag to a task.
Inputs: tag_id (required), task_id (required).
approve_received_invoiceC
Approve a received invoice.
Inputs: id (required).
archive_taskC
Archive a task.
Inputs: id (required).
assign_taskA
Add an assignee to a task.
Inputs: task_id (required), user_id (required).
convert_quote_to_invoiceA
Convert an accepted quote into a draft invoice.
Inputs: id (required).
create_absenceB
Create a new absence entry (vacation, sick leave, etc.).
Inputs: type (required), end_date (required), start_date (required), note, +1 more.
create_areaB
Create a new project area/group.
Inputs: name (required), color.
create_cancellationA
Create a cancellation invoice (Stornorechnung) for an invoice.
Inputs: invoice_id (required).
create_clientB
Create a new client in the organization.
Inputs: name (required), zip, city, email, +6 more.
create_columnA
Create a new column in a project's kanban board.
Inputs: name (required), project_id (required).
create_commentB
Add a comment to a task.
Inputs: body (required), task_id (required).
create_contactB
Create a new contact.
Inputs: last_name (required), first_name (required), email, notes, +3 more.
create_credit_noteB
Create a credit note (Gutschrift) for an invoice.
Inputs: invoice_id (required).
create_eventB
Create a new calendar event.
Inputs: title (required), end_time (required), start_time (required), color, +4 more.
create_folderB
Create a new folder.
Inputs: name (required), color, parent_id.
create_invoiceB
Create a new draft invoice for a client.
Inputs: client_id (required), notes, due_date, line_items, +1 more.
create_invoice_from_timeA
Create a new invoice from tracked time entries for a project.
Inputs: client_id (required), project_id (required), end_date, start_date.
create_pageB
Create a new page.
Inputs: title (required), icon, parent_id, project_id.
create_projectD
Create a new project.
Inputs: name (required), status, area_id, client_id, +1 more.
create_quoteA
Create a new draft quote/proposal for a client.
Inputs: client_id (required), notes, line_items, valid_until.
create_recurring_invoiceC
Create a new recurring invoice template.
Inputs: interval (required), client_id (required), next_date (required), notes, +1 more.
create_reminderB
Create a payment reminder (Mahnung) for an overdue invoice.
Inputs: invoice_id (required), fee, note, level, +1 more.
create_subtaskB
Create a subtask (checklist item) on a task.
Inputs: title (required), task_id (required).
create_supplierB
Create a new supplier.
Inputs: name (required), zip, city, email, +4 more.
create_tagB
Create a new tag.
Inputs: name (required), color.
create_taskB
Create a new task in a project column.
Inputs: title (required), column_id (required), project_id (required), due_date, +3 more.
create_time_entryA
Log a completed time entry with start and end time.
Inputs: end_time (required), project_id (required), start_time (required), task_id, +2 more.
create_whiteboardC
Create a new whiteboard.
Inputs: name (required), project_id.
delete_absenceB
Delete an absence entry.
Inputs: id (required).
delete_areaB
Delete a project area/group.
Inputs: id (required).
delete_clientA
Delete a client by ID. This cannot be undone.
Inputs: id (required).
delete_contactA
Delete a contact. This cannot be undone.
Inputs: id (required).
delete_eventC
Delete a calendar event.
Inputs: id (required).
delete_fileC
Delete a file from storage.
Inputs: id (required).
delete_folderB
Delete a folder and all its contents.
Inputs: id (required).
delete_invoiceA
Delete a draft invoice. This cannot be undone.
Inputs: id (required).
delete_invoice_line_itemA
Delete a line item from an invoice.
Inputs: item_id (required), invoice_id (required).
delete_pageA
Delete a page and all its children. This cannot be undone.
Inputs: id (required).
delete_projectA
Delete a project. This cannot be undone.
Inputs: id (required).
delete_quoteB
Delete a quote. This cannot be undone.
Inputs: id (required).
delete_quote_line_itemB
Delete a line item from a quote.
Inputs: item_id (required), quote_id (required).
delete_recurring_invoiceA
Delete a recurring invoice template.
Inputs: id (required).
delete_reminderB
Delete a payment reminder.
Inputs: id (required).
delete_supplierB
Delete a supplier.
Inputs: id (required).
delete_tagB
Delete a tag.
Inputs: id (required).
delete_taskA
Delete a task. This cannot be undone.
Inputs: id (required).
delete_time_entryA
Delete a time entry. This cannot be undone.
Inputs: id (required).
delete_whiteboardC
Delete a whiteboard.
Inputs: id (required).
duplicate_quoteB
Duplicate an existing quote.
Inputs: id (required).
duplicate_whiteboardB
Duplicate an existing whiteboard.
Inputs: id (required).
generate_recurring_invoice_nowB
Manually generate an invoice from a recurring template now.
Inputs: id (required).
get_activity_feedB
Get the recent activity feed.
Inputs: no named parameters.
get_clientB
Get detailed information about a specific client by ID.
Inputs: id (required).
get_contactB
Get detailed information about a specific contact.
Inputs: id (required).
get_datev_exportB
Preview or download DATEV export data for tax advisor.
Inputs: year (required), month.
get_eventA
Get detailed information about a calendar event.
Inputs: id (required).
get_fileB
Get details about a specific file.
Inputs: id (required).
get_file_download_urlB
Get a presigned download URL for a file.
Inputs: id (required).
get_finance_overviewB
Get the financial overview — monthly revenue vs expenses breakdown for a given year.
Inputs: year.
get_folder_treeA
Get the full folder hierarchy tree.
Inputs: no named parameters.
get_gantt_dataB
Get Gantt chart data for a project (tasks with dates and dependencies).
Inputs: id (required).
get_invoiceA
Get detailed information about an invoice including line items, payments, and totals.
Inputs: id (required).
get_organizationC
Get details about an organization.
Inputs: id (required).
get_pageB
Get a page with its full content.
Inputs: id (required).
get_page_treeA
Get the full page tree hierarchy.
Inputs: no named parameters.
get_projectC
Get detailed information about a specific project.
Inputs: id (required).
get_project_boardA
Get the full kanban board for a project — all columns with their tasks, assignees, tags, subtask counts, and time tracked.
Inputs: id (required).
get_project_time_statsA
Get time tracking statistics for a specific project.
Inputs: id (required).
get_quoteA
Get detailed information about a quote including line items and totals.
Inputs: id (required).
get_received_invoiceC
Get details of a received invoice (Eingangsrechnung).
Inputs: id (required).
get_recurring_invoiceB
Get details of a recurring invoice template.
Inputs: id (required).
get_reminderC
Get details of a payment reminder.
Inputs: id (required).
get_reminder_suggestionB
Get a suggested reminder for an overdue invoice (auto-detects level and fees).
Inputs: invoice_id (required).
get_running_timerA
Get the currently running timer, if any.
Inputs: no named parameters.
get_supplierA
Get detailed information about a supplier.
Inputs: id (required).
get_taskA
Get detailed information about a task including description, assignees, subtasks, tags, time tracked, and child tasks.
Inputs: id (required).
get_time_statsC
Get time tracking statistics (total hours, billable hours, etc.).
Inputs: end_date, project_id, start_date.
get_unread_countA
Get the count of unread notifications.
Inputs: no named parameters.
get_vacation_statsA
Get vacation quota and usage statistics for the team.
Inputs: no named parameters.
get_vat_summaryB
Get the VAT pre-return (USt-Voranmeldung) summary with Kennzahlen 81, 86, 66, 83.
Inputs: year (required), quarter.
get_whiteboardA
Get whiteboard details including content.
Inputs: id (required).
global_searchA
Search across all entities (clients, projects, tasks, invoices, etc.).
Inputs: query (required).
invite_memberB
Invite a new member to the organization via email.
Inputs: email (required), org_id (required), role.
list_absencesB
List team absences (vacation, sick leave, home office, etc.).
Inputs: type, end_date, start_date.
list_areasA
List all project areas/groups.
Inputs: no named parameters.
list_clientsA
List all clients in the organization. Returns clients with their associated projects. Supports pagination.
Inputs: page, per_page.
list_contactsA
List all contacts in the organization.
Inputs: page, per_page.
list_eventsA
List calendar events within a date range.
Inputs: end, start.
list_filesA
List files in a folder (or root if no folder specified).
Inputs: search, folder_id.
list_foldersA
List folders (or subfolders of a parent folder).
Inputs: parent_id.
list_invoicesA
List invoices. Filter by status, client, or type (invoice, credit_note, cancellation).
Inputs: page, type, status, per_page, +1 more.
list_membersB
List all members of an organization.
Inputs: id (required).
list_notificationsB
List recent notifications.
Inputs: page, per_page.
list_pagesB
List all pages (Notion-like documents).
Inputs: page, per_page.
list_project_membersA
List all members of a project.
Inputs: id (required).
list_projectsA
List all projects in the organization. Returns projects grouped by area with status and member info.
Inputs: page, per_page.
list_quotesA
List quotes/proposals. Filter by status or client.
Inputs: page, status, per_page, client_id.
list_received_invoicesA
List received invoices (Eingangsrechnungen) from suppliers.
Inputs: page, status, per_page.
list_recurring_invoicesB
List recurring invoice templates.
Inputs: page, per_page.
list_remindersB
List payment reminders (Mahnungen).
Inputs: page, per_page.
list_suppliersB
List all suppliers (Lieferanten).
Inputs: page, per_page.
list_tagsA
List all tags used in the organization.
Inputs: no named parameters.
list_task_commentsC
List all comments on a task.
Inputs: task_id (required).
list_time_entriesC
List time entries. Filter by date range, project, or user.
Inputs: page, end_date, per_page, project_id, +1 more.
list_whiteboardsA
List all whiteboards.
Inputs: no named parameters.
mark_all_notifications_readA
Mark all notifications as read.
Inputs: no named parameters.
mark_notification_readB
Mark a notification as read.
Inputs: id (required).
move_taskA
Move a task to a different column (changes its status on the kanban board).
Inputs: id (required), column_id (required).
move_task_to_projectB
Move a task to a different project.
Inputs: id (required), column_id (required), project_id (required).
pause_recurring_invoiceA
Pause a recurring invoice (stops auto-generation).
Inputs: id (required).
record_paymentB
Record a payment on an invoice.
Inputs: amount (required), invoice_id (required), note, method, +1 more.
remove_assigneeB
Remove an assignee from a task.
Inputs: task_id (required), user_id (required).
remove_memberB
Remove a member from the organization.
Inputs: org_id (required), user_id (required).
remove_project_memberB
Remove a member from a project.
Inputs: user_id (required), project_id (required).
remove_tag_from_taskB
Remove a tag from a task.
Inputs: tag_id (required), task_id (required).
restore_taskA
Restore an archived task.
Inputs: id (required).
resume_recurring_invoiceA
Resume a paused recurring invoice.
Inputs: id (required).
send_invoice_emailB
Send an invoice to the client via email.
Inputs: id (required), to, message, subject.
send_quote_emailA
Send a quote to the client via email.
Inputs: id (required), to, message, subject.
send_reminder_emailC
Send a payment reminder via email.
Inputs: id (required), to, message, subject.
start_timerA
Start a running timer for time tracking.
Inputs: project_id (required), task_id, description.
stop_timerA
Stop a currently running timer.
Inputs: id (required).
toggle_task_doneA
Toggle a task's completion status.
Inputs: id (required).
update_absenceB
Update an existing absence entry.
Inputs: id (required), note, type, end_date, +2 more.
update_areaA
Update a project area/group.
Inputs: id (required), name, color.
update_clientB
Update an existing client's details.
Inputs: id (required), zip, city, name, +7 more.
update_contactB
Update an existing contact's details.
Inputs: id (required), email, notes, phone, +4 more.
update_eventC
Update an existing calendar event.
Inputs: id (required), color, title, all_day, +4 more.
update_folderB
Update a folder's name or color.
Inputs: id (required), name, color.
update_invoiceA
Update an existing invoice (only drafts can be edited).
Inputs: id (required), notes, due_date, invoice_date.
update_invoice_line_itemB
Update a line item on an invoice.
Inputs: item_id (required), invoice_id (required), quantity, tax_rate, +2 more.
update_invoice_statusB
Update the status of an invoice (e.g. mark as sent, paid, cancelled).
Inputs: id (required), status (required).
update_member_roleB
Update a member's role in the organization.
Inputs: role (required), org_id (required), user_id (required).
update_organizationC
Update organization settings.
Inputs: id (required), name.
update_pageB
Update a page's metadata (title, icon, parent).
Inputs: id (required), icon, title, parent_id.
update_page_contentB
Update a page's content (Tiptap JSON format).
Inputs: id (required), content.
update_projectC
Update an existing project's details.
Inputs: id (required), name, status, area_id, +2 more.
update_quoteC
Update an existing quote.
Inputs: id (required), notes, valid_until.
update_quote_line_itemB
Update a line item on a quote.
Inputs: item_id (required), quote_id (required), quantity, tax_rate, +2 more.
update_quote_statusB
Update the status of a quote.
Inputs: id (required), status (required).
update_recurring_invoiceB
Update a recurring invoice template.
Inputs: id (required), notes, interval, next_date.
update_supplierC
Update an existing supplier.
Inputs: id (required), zip, city, name, +5 more.
update_tagB
Update a tag's name or color.
Inputs: id (required), name, color.
update_taskC
Update an existing task's properties.
Inputs: id (required), title, due_date, priority, +1 more.
update_time_entryC
Update an existing time entry.
Inputs: id (required), task_id, billable, end_time, +3 more.
update_whiteboardC
Update whiteboard metadata.
Inputs: id (required), name.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 152 tools
Each tool targets a distinct resource and action, from CRUD operations on clients, projects, tasks, and invoices to specialized actions like converting quotes or generating DATEV exports. The entities are clearly differentiated, and even within overlapping areas (e.g., tasks vs. subtasks), descriptions make boundaries clear.
All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., list_projects, create_time_entry, delete_page). There are no mixed conventions or vague verbs, making the naming predictable and easy to navigate.
With 152 tools, the surface is extremely large and unwieldy, far exceeding the typical 3-15 range for a well-scoped server. Even for an all-in-one business suite, this count creates significant cognitive load and likely causes agent misselection.
The server covers an impressively broad domain with full CRUD for most entities (clients, contacts, projects, tasks, invoices, quotes, pages, folders, tags, areas) plus specialized workflows like reminders and recurring invoices. Minor gaps exist (e.g., no create/update for received invoices, no file upload/update), but core business operations are well covered.
Maintenance
Related MCP Connectors
The official Upwork MCP server, letting AI agents connect to Upwork and act on your behalf.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Official Fibery MCP server: query and update your workspace from any AI client via OAuth.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for time tracking, project management, and AI-powered memory storage using semantic search. It enables users to log time, manage client billing, and capture shared or personal ideas through integrated tools and team collaboration features.1MIT
- AlicenseNot gradedqualityDmaintenance556-tool MCP server giving AI agents full access to the FutureSense business platform. Covers 10 app domains: invoicing, payroll, accounting, CRM, booking, content creation, website builder, quotations, email, and more. Works with Claude, ChatGPT, Gemini, Cursor, and any MCP-compatible client.MIT
- FlicenseBqualityDmaintenanceMCP server for DACH accounting automation. Connect AI assistants to sevDesk and Lexoffice — create invoices, manage contacts, handle bookings and vouchers for German-speaking businesses.1558 npm-
- AlicenseNot gradedqualityBmaintenanceThis MCP server enables AI assistants like Claude to perform Wave Accounting bookkeeping tasks—such as drafting invoices, managing customers, recording payments, and looking up financial data—through natural language commands.7MIT