{
  "markdown": "# @dversum/mcp-server\n\nOfficial [Model Context Protocol (MCP)](https://modelcontextprotocol.io) 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.\n\n## Quick Start\n\n### Claude Desktop\n\nAdd this to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"dversum\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dversum/mcp-server\"],\n      \"env\": {\n        \"DVERSUM_API_URL\": \"https://api.dversum.com/api/v1\",\n        \"DVERSUM_API_TOKEN\": \"your-jwt-token\"\n      }\n    }\n  }\n}\n```\n\n### Cursor / Windsurf\n\nAdd to your MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"dversum\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dversum/mcp-server\"],\n      \"env\": {\n        \"DVERSUM_API_URL\": \"https://api.dversum.com/api/v1\",\n        \"DVERSUM_API_TOKEN\": \"your-jwt-token\"\n      }\n    }\n  }\n}\n```\n\n## Docker (Production)\n\n### Quick start\n\n```bash\ncd mcp-server\n\n# Create .env file\necho \"DVERSUM_API_URL=https://api.dversum.com/api/v1\" > .env\necho \"DVERSUM_API_TOKEN=your-jwt-token\" >> .env\n\n# Run\ndocker compose up -d\n```\n\nThe server starts on port **3100** with a health check at `/health` and the MCP endpoint at `/mcp`.\n\n### Build & run manually\n\n```bash\ndocker build -t dversum-mcp .\ndocker run -d \\\n  -p 3100:3100 \\\n  -e DVERSUM_API_URL=https://api.dversum.com/api/v1 \\\n  -e DVERSUM_API_TOKEN=your-jwt-token \\\n  --name dversum-mcp \\\n  --restart unless-stopped \\\n  dversum-mcp\n```\n\n### Connect remote MCP to Claude Desktop\n\nOnce the Docker container is running, point Claude Desktop to the remote endpoint:\n\n```json\n{\n  \"mcpServers\": {\n    \"dversum\": {\n      \"url\": \"http://your-server:3100/mcp\"\n    }\n  }\n}\n```\n\n## Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `DVERSUM_API_URL` | Yes | Base URL of your dVersum API (e.g. `https://api.dversum.com/api/v1`) |\n| `DVERSUM_API_TOKEN` | Yes | Your JWT authentication token |\n| `MCP_TRANSPORT` | No | `stdio` (default) or `http` (for Docker/remote) |\n| `MCP_PORT` | No | HTTP port when using `http` transport (default: `3100`) |\n\n## Available Tools (152)\n\n### Clients (5)\n| Tool | Description |\n|------|-------------|\n| `list_clients` | List all clients with pagination |\n| `get_client` | Get client details |\n| `create_client` | Create a new client |\n| `update_client` | Update client details |\n| `delete_client` | Delete a client |\n\n### Contacts (5)\n| Tool | Description |\n|------|-------------|\n| `list_contacts` | List all contacts |\n| `get_contact` | Get contact details |\n| `create_contact` | Create a new contact |\n| `update_contact` | Update contact details |\n| `delete_contact` | Delete a contact |\n\n### Projects (12)\n| Tool | Description |\n|------|-------------|\n| `list_projects` | List all projects |\n| `get_project` | Get project details |\n| `create_project` | Create a new project |\n| `update_project` | Update project details |\n| `delete_project` | Delete a project |\n| `get_project_board` | Get full kanban board (columns + tasks) |\n| `list_project_members` | List project members |\n| `add_project_member` | Add a member to a project |\n| `remove_project_member` | Remove a member from a project |\n| `get_project_time_stats` | Get project time statistics |\n| `get_gantt_data` | Get Gantt chart data with dependencies |\n| `create_column` | Create a kanban column |\n\n### Tasks (16)\n| Tool | Description |\n|------|-------------|\n| `get_task` | Get task details (assignees, subtasks, tags) |\n| `create_task` | Create a task in a project column |\n| `update_task` | Update task properties |\n| `delete_task` | Delete a task |\n| `move_task` | Move task to a different column |\n| `assign_task` | Add an assignee to a task |\n| `remove_assignee` | Remove an assignee from a task |\n| `list_task_comments` | List comments on a task |\n| `create_comment` | Add a comment to a task |\n| `create_subtask` | Create a subtask (checklist item) |\n| `toggle_task_done` | Toggle task completion |\n| `add_tag_to_task` | Add a tag to a task |\n| `remove_tag_from_task` | Remove a tag from a task |\n| `archive_task` | Archive a task |\n| `restore_task` | Restore an archived task |\n| `move_task_to_project` | Move task to a different project |\n\n### Time Tracking (8)\n| Tool | Description |\n|------|-------------|\n| `list_time_entries` | List time entries (filter by date, project) |\n| `create_time_entry` | Log a completed time entry |\n| `update_time_entry` | Update a time entry |\n| `delete_time_entry` | Delete a time entry |\n| `start_timer` | Start a running timer |\n| `stop_timer` | Stop a running timer |\n| `get_running_timer` | Get the currently running timer |\n| `get_time_stats` | Get time tracking statistics |\n\n### Calendar (5)\n| Tool | Description |\n|------|-------------|\n| `list_events` | List calendar events in a date range |\n| `get_event` | Get event details |\n| `create_event` | Create a calendar event |\n| `update_event` | Update an event |\n| `delete_event` | Delete an event |\n\n### Invoices (14)\n| Tool | Description |\n|------|-------------|\n| `list_invoices` | List invoices (filter by status, client, type) |\n| `get_invoice` | Get invoice with line items and totals |\n| `create_invoice` | Create a draft invoice |\n| `update_invoice` | Update a draft invoice |\n| `delete_invoice` | Delete a draft invoice |\n| `update_invoice_status` | Change invoice status |\n| `send_invoice_email` | Send invoice via email |\n| `create_invoice_from_time` | Create invoice from tracked time |\n| `add_invoice_line_item` | Add a line item |\n| `update_invoice_line_item` | Update a line item |\n| `delete_invoice_line_item` | Delete a line item |\n| `record_payment` | Record a payment on an invoice |\n| `create_credit_note` | Create a credit note (Gutschrift) |\n| `create_cancellation` | Create a cancellation invoice (Stornorechnung) |\n\n### Quotes (12)\n| Tool | Description |\n|------|-------------|\n| `list_quotes` | List quotes/proposals |\n| `get_quote` | Get quote with line items |\n| `create_quote` | Create a draft quote |\n| `update_quote` | Update a quote |\n| `delete_quote` | Delete a quote |\n| `update_quote_status` | Update quote status |\n| `send_quote_email` | Send quote via email |\n| `duplicate_quote` | Duplicate a quote |\n| `convert_quote_to_invoice` | Convert accepted quote to invoice |\n| `add_quote_line_item` | Add a line item |\n| `update_quote_line_item` | Update a line item |\n| `delete_quote_line_item` | Delete a line item |\n\n### Recurring Invoices (8)\n| Tool | Description |\n|------|-------------|\n| `list_recurring_invoices` | List recurring invoice templates |\n| `get_recurring_invoice` | Get recurring invoice details |\n| `create_recurring_invoice` | Create a recurring invoice |\n| `update_recurring_invoice` | Update a recurring invoice |\n| `delete_recurring_invoice` | Delete a recurring invoice |\n| `pause_recurring_invoice` | Pause auto-generation |\n| `resume_recurring_invoice` | Resume auto-generation |\n| `generate_recurring_invoice_now` | Generate an invoice now |\n\n### Payment Reminders (6)\n| Tool | Description |\n|------|-------------|\n| `list_reminders` | List payment reminders (Mahnungen) |\n| `get_reminder` | Get reminder details |\n| `get_reminder_suggestion` | Get suggested reminder for overdue invoice |\n| `create_reminder` | Create a payment reminder |\n| `send_reminder_email` | Send reminder via email |\n| `delete_reminder` | Delete a reminder |\n\n### Finance (11)\n| Tool | Description |\n|------|-------------|\n| `get_finance_overview` | Monthly revenue vs expenses |\n| `get_vat_summary` | USt-Voranmeldung (KZ 81/86/66/83) |\n| `list_received_invoices` | List incoming invoices |\n| `get_received_invoice` | Get received invoice details |\n| `approve_received_invoice` | Approve a received invoice |\n| `list_suppliers` | List all suppliers |\n| `get_supplier` | Get supplier details |\n| `create_supplier` | Create a supplier |\n| `update_supplier` | Update supplier details |\n| `delete_supplier` | Delete a supplier |\n| `get_datev_export` | Preview DATEV export data |\n\n### Team Planning (5)\n| Tool | Description |\n|------|-------------|\n| `list_absences` | List team absences |\n| `create_absence` | Create an absence entry |\n| `update_absence` | Update an absence |\n| `delete_absence` | Delete an absence |\n| `get_vacation_stats` | Get vacation quota/usage stats |\n\n### Pages (7)\n| Tool | Description |\n|------|-------------|\n| `list_pages` | List all pages |\n| `get_page` | Get page with content |\n| `create_page` | Create a new page |\n| `update_page` | Update page metadata |\n| `update_page_content` | Update page content |\n| `delete_page` | Delete a page and children |\n| `get_page_tree` | Get page tree hierarchy |\n\n### Whiteboards (6)\n| Tool | Description |\n|------|-------------|\n| `list_whiteboards` | List all whiteboards |\n| `get_whiteboard` | Get whiteboard with content |\n| `create_whiteboard` | Create a whiteboard |\n| `update_whiteboard` | Update whiteboard metadata |\n| `delete_whiteboard` | Delete a whiteboard |\n| `duplicate_whiteboard` | Duplicate a whiteboard |\n\n### File Storage (12)\n| Tool | Description |\n|------|-------------|\n| `list_files` | List files in a folder |\n| `get_file` | Get file details |\n| `delete_file` | Delete a file |\n| `get_file_download_url` | Get presigned download URL |\n| `list_folders` | List folders |\n| `create_folder` | Create a new folder |\n| `update_folder` | Update folder name/color |\n| `delete_folder` | Delete a folder and contents |\n| `get_folder_tree` | Get full folder hierarchy |\n| `create_share_link` | Create a WeTransfer-style share link |\n| `list_share_links` | List active share links |\n| `revoke_share_link` | Revoke a share link |\n\n### Tags (4)\n| Tool | Description |\n|------|-------------|\n| `list_tags` | List all tags |\n| `create_tag` | Create a tag |\n| `update_tag` | Update a tag |\n| `delete_tag` | Delete a tag |\n\n### Areas (4)\n| Tool | Description |\n|------|-------------|\n| `list_areas` | List project areas/groups |\n| `create_area` | Create a project area |\n| `update_area` | Update an area |\n| `delete_area` | Delete an area |\n\n### Notifications (4)\n| Tool | Description |\n|------|-------------|\n| `list_notifications` | List recent notifications |\n| `get_unread_count` | Get unread notification count |\n| `mark_notification_read` | Mark a notification as read |\n| `mark_all_notifications_read` | Mark all as read |\n\n### Organization (8)\n| Tool | Description |\n|------|-------------|\n| `get_organization` | Get organization details |\n| `update_organization` | Update organization settings |\n| `list_members` | List team members |\n| `invite_member` | Invite a new member via email |\n| `update_member_role` | Change a member's role |\n| `remove_member` | Remove a member |\n| `global_search` | Search across all entities |\n| `get_activity_feed` | Get recent activity feed |\n\n## Development\n\n```bash\n# Clone the repo\ngit clone https://github.com/dversum/dversum.git\ncd dversum/mcp-server\n\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run locally\nDVERSUM_API_URL=http://localhost:8080/api/v1 \\\nDVERSUM_API_TOKEN=your-jwt-token \\\nnode dist/bin/dversum-mcp.js\n```\n\n## License\n\nMIT\n",
  "bytes": 11240,
  "sha": "1f5426ddb2b7831771baecfdc5cc840a44d50a6ebaa5df4630d7549d74016df2",
  "repo_slug": "dversum/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dversum_mcp_server_631a7aa3/readme"
}