Token导航 LogoToken导航TokenDH.com
Vikunja MCP Server logo
运维云端stdio官方级别未说明来源级核验

Vikunja MCP Server

MCP Server

vikunja-mcp

Vikunja MCP Server是一个用于管理Vikunja项目和任务的Model Context Protocol服务器,提供完整的项目和任务CRUD操作、任务状态管理、标签和注释管理等功能。

工具数

34

提示词数

0

GitHub Stars

0

资源数

0
标签管理TypeScriptClaudeCRUD操作Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Wosh-i

提供方

Wosh-i

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx vikunja-mcp --token YOUR_VIKUNJA_TOKEN

详细介绍

Vikunja MCP服务器

用于管理Vikunja项目和任务的模型上下文协议服务器。

快速开始

直接使用npx运行(无需安装):

npx vikunja-mcp --token YOUR_VIKUNJA_TOKEN

使用自定义Vikunja URL:

npx vikunja-mcp --url https://your-vikunja.com/api/v1 --token YOUR_TOKEN

或者使用环境变量:

export VIKUNJA_TOKEN=your_token
export VIKUNJA_URL=https://your-vikunja.com/api/v1
npx vikunja-mcp

特性

  • 项目的完整CRUD操作
  • 任务的完整CRUD操作
  • 任务评论管理
  • 任务关系(子任务、阻塞等)
  • 任务附件列表
  • 任务分配人员管理
  • 任务标签管理
  • 项目层次(epics)管理

可用工具

项目

工具说明
list_projects列出用户有权访问的所有项目
get_project按ID获取特定项目
create_project创建新项目
update_project更新现有项目
delete_project按ID删除项目
list_project_children列出项目下的子项目
move_project将项目移动到不同的父/位置

任务

工具说明
list_tasks列出所有项目中的所有任务
list_project_tasks列出特定项目的所有任务
get_task按ID获取特定任务
create_task在项目中创建新任务
update_task更新现有任务
delete_task按ID删除任务

任务状态和运动

工具说明
complete_task将任务标记为已完成
reopen_task重新打开已完成的任务
move_task将任务移动到不同的项目/职位

受托人

工具说明
add_task_assignee将用户添加为任务的受让人
remove_task_assignee从任务中删除受让人
list_task_assignees列出任务的所有指定人员

标签

工具说明
add_task_label为任务添加标签
remove_task_label从任务中删除标签
list_task_labels列出任务上的所有标签
list_labels列出所有可用标签(全球)

评论

工具说明
list_comments列出任务的所有评论
create_comment向任务添加注释
update_comment更新评论
delete_comment删除评论

关系

工具说明
create_relation在两个任务之间创建关系
delete_relation删除任务之间的关系
list_task_relations列出任务的所有关系

子任务

工具说明
create_subtask创建链接到父任务的子任务
list_subtasks列出任务的所有子任务

附件

工具说明
list_task_attachments列出任务的所有附件
delete_task_attachment从任务中删除附件
有关所有工具的完整参数文档,请参阅下文。

工具参考

参数类型

  • 字符串:文本值
  • 数字:数值(整数)
  • 布尔:真/假值
  • 必需的:必须提供此参数
  • 可选的:此参数可以省略
备注:所有ID参数(例如。, projectId, taskId)接受数字和字符串值。MCP服务器使用 z.coerce.number() 自动将字符串ID(如“123”)转换为数字。这意味着你可以通过 123"123" 对于任何ID参数。看 使用字符串ID 例如。

项目

list_项目

列出用户有权访问的所有项目。

  • 参数:无需
  • 可选的:

- page (number):分页页码 - per_page (number):每页项目数(默认值:25)

get_工程

按ID获取特定项目。

  • 参数:

- projectId (数字,必填):项目ID

创建项目

创建一个新项目。

  • 参数:

- title (string,必填):项目标题

  • 可选的:

- description (string):项目描述 - hex_color (字符串):十六进制颜色代码(例如“#FF5733”) - identifier (string):项目的唯一标识符 - parent_project_id (编号):父项目的ID(用于史诗/层次结构) - is_archived (boolean):项目是否存档

update_项目

更新现有项目。

  • 参数:

- projectId (数字,必填):项目ID

  • 可选的:

- title (string):新标题 - description (string):新描述 - hex_color (string):新的十六进制颜色代码 - identifier (string):新标识符 - parent_project_id (编号):新的父项目ID - is_archived (布尔值):存档状态

删除项目

按ID删除项目。

  • 参数:

- projectId (数字,必填):项目ID

列表_项目_儿童

列出项目下的子项目。

  • 参数:

- projectId (数字,必填):父项目ID

move_项目

将项目移动到不同的父级或位置。

  • 参数:

- projectId (数字,必填):项目ID

  • 可选的:

- parent_project_id (number):新的父项目ID(空可从父项目中删除) - position (编号):母项目中的新职位

任务

list_tasks

列出所有项目中的所有任务。

  • 参数:无需
  • 可选的:

- page (number):分页页码 - per_page (number):每页项目数 - status (string):按状态筛选(打开、完成、done_lte、done_gate) - priority (数字):按优先级筛选 - due_date (string):按截止日期筛选 - label (string):按标签筛选

list_project_tasks

列出特定项目的所有任务。

  • 参数:

- projectId (数字,必填):项目ID

  • 可选的:

- page (number):分页页码 - per_page (number):每页项目数

获取任务

按ID获取特定任务。

  • 参数:

- taskId (数字,必填):任务ID

创建任务

在项目中创建新任务。

  • 参数:

- projectId (数字,必填):项目ID

  • 必需:

- task (object):任务对象 - title (string,必填):任务标题

  • 可选的:

- task (object):任务对象 - description (string):任务描述 - done (boolean):任务是否完成 - due_date (字符串):到期日(ISO 8601格式) - start_date (string):开始日期 - end_date (字符串):结束日期 - hex_color (string):任务颜色 - priority (数字):优先级(1-5,其中5为最高) - percent_done (数字):进度(0-100) - repeat_after (数字):X分钟后重复 - repeat_mode (数字):重复模式(0=相对,1=绝对)

update_task

更新现有任务。

  • 参数:

- taskId (数字,必填):任务ID - taskUpdates (object,必填):要更新的任务字段

  • 可选的:

- taskUpdates (对象): - title (string):新标题 - description (string):新描述 - done (boolean):完成状态 - due_date (string):新的截止日期 - start_date (string):新的开始日期 - end_date (string):新的结束日期 - hex_color (string):新颜色 - priority (数字):新优先级 - percent_done (数字):进度(0-100) - repeat_after (数字):新的重复间隔 - repeat_mode (数字):重复模式(0=相对,1=绝对)

删除任务

按ID删除任务。

  • 参数:

- taskId (数字,必填):任务ID

任务状态和运动

完成任务

将任务标记为已完成。

  • 参数:

- taskId (数字,必填):任务ID

重新打开任务

重新打开已完成的任务。

  • 参数:

- taskId (数字,必填):任务ID

移动任务

将任务移动到不同的项目或位置。

  • 参数:

- taskId (数字,必填):任务ID - project_id (数字,必填):目标项目ID

  • 可选的:

- position (编号):新职位

受托人

add_task_assignee

将用户添加为任务的受让人。

  • 参数:

- taskId (数字,必填):任务ID - userId (数字,必填):要添加的用户ID

remove_task_assignee

从任务中删除受让人。

  • 参数:

- taskId (数字,必填):任务ID - userId (数字,必填):要删除的用户ID

list_task_任务分配者

列出任务的所有指定人员。

  • 参数:

- taskId (数字,必填):任务ID

标签

add_task_label

为任务添加标签。

  • 参数:

- taskId (数字,必填):任务ID - label_id (数字,必填):要添加的标签ID

移除任务标签

从任务中删除标签。

  • 参数:

- taskId (数字,必填):任务ID - label_id (数字,必填):要删除的标签ID

list_task_labels

列出任务上的所有标签。

  • 参数:

- taskId (数字,必填):任务ID

list_labels

列出所有可用标签(全局)。

  • 参数:无需
  • 可选的:

- project_id (编号):按项目ID筛选 - page (编号):页码 - per_page (数量):每页项目数

评论

list_注释

列出任务的所有注释。

  • 参数:

- taskId (数字,必填):任务ID

  • 可选的:

- page (编号):页码 - per_page (数量):每页项目数

创建注释

向任务添加注释。

  • 参数:

- taskId (数字,必填):任务ID - comment (string,必填):评论文本

更新_注释

更新评论。

  • 参数:

- taskId (数字,必填):任务ID - commentId (数字,必填):评论ID - comment (字符串,必填):新注释文本

删除注释

删除评论。

  • 参数:

- taskId (数字,必填):任务ID - commentId (数字,必填):要删除的评论ID

关系

创建关系

在两个任务之间创建关系。

  • 参数:

- taskId (数字,必填):源任务ID - otherTaskId (数字,必填):相关任务ID - relationKind (字符串,必填):关系类型(未知、子任务、父任务、相关、重复、重复、阻塞、阻塞、前导、跟随、复制自、复制到)

删除相关信息

删除任务之间的关系。

  • 参数:

- taskId (数字,必填):源任务ID - otherTaskId (数字,必填):相关任务ID - relationKind (字符串,必填):关系类型(未知、子任务、父任务、相关、重复、重复、阻塞、阻塞、前导、跟随、复制自、复制到)

list_task_relations

列出任务的所有关系。

  • 参数:

- taskId (数字,必填):任务ID

子任务

create_subtask

创建链接到父任务的子任务。

  • 参数:

- projectId (数字,必填):项目ID - parent_task_id (数字,必填):父任务ID - task (object,必填):子任务对象

  • 必需:

- task (对象): - title (字符串,必填):子任务标题

  • 可选的:

- task (对象): - description (string):子任务描述 - done (boolean):子任务是否完成 - due_date (string):到期日 - start_date (string):开始日期 - end_date (字符串):结束日期 - hex_color (string):子任务颜色 - priority (数字):优先级 - percent_done (数字):进度(0-100) - repeat_after (数字):X分钟后重复 - repeat_mode (数字):重复模式(0=相对,1=绝对)

list_子任务

列出任务的所有子任务。

  • 参数:

- taskId (数字,必填):父任务ID

附件

列表任务附件

列出任务的所有附件。

  • 参数:

- taskId (数字,必填):任务ID

  • 可选的:

- page (编号):页码 - per_page (数量):每页项目数

删除任务附件

从任务中删除附件。

  • 参数:

- taskId (数字,必填):任务ID - attachmentId (数字,必填):附件ID

例子

列出项目和任务

list my vikunja projects

返回您有权访问的所有项目。

list_project_tasks projectId: 1

返回项目ID 1中的所有任务。

list_tasks per_page: 50

列出所有项目中最多50个任务。

创建项目和任务

create_project title: "My Project" description: "A new project" hex_color: "#FF5733"

使用标题、描述和颜色创建新项目。

create_task projectId: 1 title: "Buy groceries" priority: 3 due_date: "2024-12-25"

在项目ID 1中创建具有优先级和截止日期的任务。

管理任务状态

complete_task taskId: 5

将任务5标记为已完成。

reopen_task taskId: 5

重新打开任务5。

与受让人合作

add_task_assignee taskId: 3 userId: 7

将用户7添加为任务3的受让人。

list_task_assignees taskId: 3

列出任务3的所有指定人员。

评论

create_comment taskId: 3 comment: "This should be done by Friday"

向任务3添加注释。

关系

create_relation taskId: 1 otherTaskId: 2 relationKind: "blocking"

创建从任务1到任务2的“阻塞”关系(任务1阻塞任务2)。

使用字符串ID

所有ID参数都接受字符串,因此这些参数是等效的:

get_project projectId: 1
get_project projectId: "1"

在处理来自外部源的数据时,这很有用:

list_project_tasks projectId: "123"

安装

先决条件

  • Node.js 18+
  • npm或bun
  • Vikunja实例(自托管或云)
  • Vikunja API代币

获取Vikunja API代币

  1. 登录您的Vikunja实例
  2. 前往设置→ API令牌
  3. 创建新令牌

从源代码构建

git clone https://github.com/Wosh-i/vikunja-mcp.git
cd vikunja-mcp
npm install
npm run build

OpenCode配置

选项1:使用npx(推荐)

配置Vikunja MCP最简单的方法是使用npx。将此添加到您的OpenCode配置中(~/.config/opencode/opencode.jsonc):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vikunja": {
      "type": "local",
      "command": ["npx", "-y", "vikunja-mcp"],
      "environment": {
        "VIKUNJA_URL": "https://your-vikunja-instance.com/api/v1",
        "VIKUNJA_TOKEN": "your-api-token-here",
      },
    },
  },
}

使用npx -y 跳过确认提示并自动下载包。

选项2:从源代码构建

如果您更喜欢在本地运行而不使用npx,请从源代码构建:

git clone https://github.com/Wosh-i/vikunja-mcp.git
cd vikunja-mcp
npm install
npm run build

然后配置OpenCode:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vikunja": {
      "type": "local",
      "command": ["node", "/path/to/vikunja-mcp/dist/index.js"],
      "environment": {
        "VIKUNJA_URL": "https://your-vikunja-instance.com/api/v1",
        "VIKUNJA_TOKEN": "your-api-token-here",
      },
    },
  },
}

配置选项

选项必填默认说明
VIKUNJA_URLhttps://try.vikunja.io/api/v1您的Vikunja API基础URL
VIKUNJA_TOKEN-您的Vikunja API令牌

环境变量

您还可以在shell中全局设置环境变量:

export VIKUNJA_URL="https://your-vikunja-instance.com/api/v1"
export VIKUNJA_TOKEN="your-api-token-here"

然后OpenCode配置可以更简单:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vikunja": {
      "type": "local",
      "command": ["node", "/path/to/vikunja-mcp/dist/index.js"],
    },
  },
}

Claude Code桌面应用程序配置

选项1:使用npx(推荐)

配置Vikunja MCP最简单的方法是使用npx。将此添加到您的Claude Code桌面配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "vikunja": {
      "command": "npx",
      "args": ["-y", "vikunja-mcp"],
      "env": {
        "VIKUNJA_URL": "https://your-vikunja-instance.com/api/v1",
        "VIKUNJA_TOKEN": "your-api-token-here",
      },
    },
  },
}

使用npx -y 跳过确认提示并自动下载包。

选项2:从源代码构建

如果您更喜欢在本地运行而不使用npx,请从源代码构建:

git clone https://github.com/Wosh-i/vikunja-mcp.git
cd vikunja-mcp
npm install
npm run build

然后配置克劳德代码:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "vikunja": {
      "command": "node",
      "args": ["/path/to/vikunja-mcp/dist/index.js"],
      "env": {
        "VIKUNJA_URL": "https://your-vikunja-instance.com/api/v1",
        "VIKUNJA_TOKEN": "your-api-token-here",
      },
    },
  },
}

配置选项

选项必填默认说明
VIKUNJA_URLhttps://try.vikunja.io/api/v1您的Vikunja API基础URL
VIKUNJA_TOKEN-您的Vikunja API令牌

环境变量

您还可以在shell中全局设置环境变量:

export VIKUNJA_URL="https://your-vikunja-instance.com/api/v1"
export VIKUNJA_TOKEN="your-api-token-here"

那么Claude Code配置可以更简单:

{
  "mcpServers": {
    "vikunja": {
      "command": "node",
      "args": ["/path/to/vikunja-mcp/dist/index.js"],
    },
  },
}

克劳德代码TUI配置

Claude Code TUI(终端用户界面)使用 claude mcp add 配置MCP服务器的命令。

选项1:使用npx(推荐)

配置Vikunja MCP最简单的方法是使用npx:

claude mcp add --transport stdio --env VIKUNJA_URL=https://your-vikunja-instance.com/api/v1 --env VIKUNJA_TOKEN=your-api-token-here vikunja -- npx -y vikunja-mcp

选项2:从源代码构建

如果您更喜欢在本地运行而不使用npx,请从源代码构建:

git clone https://github.com/Wosh-i/vikunja-mcp.git
cd vikunja-mcp
npm install
npm run build

然后配置克劳德代码:

claude mcp add --transport stdio --env VIKUNJA_URL=https://your-vikunja-instance.com/api/v1 --env VIKUNJA_TOKEN=your-api-token-here vikunja -- /path/to/vikunja-mcp/dist/index.js

配置范围

Claude Code TUI支持MCP服务器配置的不同作用域:

范围配置位置描述
user~/.claude.json适用于所有项目
local (默认)~/.claude.json 在项目路径下仅在当前项目中可用
project.mcp.json 在项目根目录中与团队成员共享(签入源代码管理)
# Add with user scope (available across all projects)
claude mcp add --transport stdio --scope user --env VIKUNJA_TOKEN=... vikunja -- npx -y vikunja-mcp

# Add with project scope (shared with team via .mcp.json)
claude mcp add --transport stdio --scope project --env VIKUNJA_TOKEN=... vikunja -- npx -y vikunja-mcp

管理MCP服务器

# List all configured servers
claude mcp list

# Get details for a specific server
claude mcp get vikunja

# Remove a server
claude mcp remove vikunja

# Within Claude Code, check server status
/mcp

配置选项

选项必填默认说明
VIKUNJA_URLhttps://try.vikunja.io/api/v1您的Vikunja API基础URL
VIKUNJA_TOKEN-您的Vikunja API令牌

环境变量

您还可以在shell中全局设置环境变量:

export VIKUNJA_URL="https://your-vikunja-instance.com/api/v1"
export VIKUNJA_TOKEN="your-api-token-here"

然后配置更简单:

claude mcp add --transport stdio vikunja -- npx -y vikunja-mcp

______________________________________________________________________

用法

CLI选项

选项别名描述
--token-t您的Vikunja API代币
--url-u您的Vikunja API基础URL
--help-h显示帮助

使用OpenCode

配置后,您可以在OpenCode中使用Vikunja工具:

list my vikunja projects
create a project called "My Tasks" with color #FF5733
add a task titled "Buy groceries" to project "My Tasks" with priority 3
show me all tasks in the Inbox project

发展

# Install dependencies
npm install

# Build
npm run build

# Run in development mode
npm run dev

# Run tests (when available)
npm test

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

欢迎投稿!请打开问题或拉取请求。

目录标签

目录标签

标签管理TypeScriptClaudeCRUD操作任务管理本地部署项目管理任务状态

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

vikunja-mcp

工具数量(toolCount,工具数)

34

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotokenremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP