使用说明

项目简介

Vikunja MCP服务器是一个基于Model Context Protocol (MCP) 的后端服务,专为集成 Vikunja 待办事项管理工具而设计。它允许LLM客户端通过标准化的MCP协议,调用服务器提供的工具来管理Vikunja中的提醒事项。用户可以通过自然语言指令,让LLM客户端调用此服务器来设置未来的提醒或查询即将到来的提醒事项。

主要功能点

  • 设置提醒事项 (set-reminder-at-time): 允许用户在Vikunja中创建一个新的提醒事项,可以指定提醒的标题和具体时间。
  • 获取提醒事项 (get-reminders): 查询Vikunja中在接下来一小时内即将到期的所有提醒事项,并以文本形式返回。

安装步骤

  1. 克隆仓库: 将仓库 'https://github.com/lowlyocean/mcp-vikunja' 克隆到本地。
  2. 安装依赖: 在仓库根目录下运行 'npm install' 或 'yarn install' 安装项目依赖。
  3. 配置环境变量:
    • 在仓库根目录下创建 '.env' 文件。
    • 根据你的Vikunja实例配置以下环境变量:
      • 'VIKUNJA_API_BASE': 你的Vikunja API基础URL,例如 'https://your-vikunja-instance.com'。
      • 'CREATE_TASK_TOKEN': 用于创建Vikunja任务的API Token,需要具有在指定项目下创建任务的权限。
      • 'GET_TASKS_TOKEN': 用于获取Vikunja任务的API Token,需要具有在指定视图下查看任务的权限。
    • 注意: 你需要替换 'process.env.VIKUNJA_API_BASE/api/v1/projects/1' 和 'process.env.VIKUNJA_API_BASE/api/v1/projects/1/views/1' 中的 '1' 为你实际使用的Vikunja项目和视图ID。

服务器配置

MCP客户端需要配置以下JSON信息以连接到 Vikunja MCP 服务器:

{
  "serverName": "vikunja",
  "command": "node",
  "args": ["src/index.ts"]
}

配置参数说明:

  • 'serverName': 服务器名称,必须与代码中 'McpServer' 实例化的 'name' 属性值 '"vikunja"' 一致。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 'src/index.ts' 文件。 请确保你的运行环境中 'node' 命令可用。
  • 'args': 启动命令的参数,这里指定了服务器入口文件 'src/index.ts'。

基本使用方法

  1. 启动服务器: 在仓库根目录下运行 'npm start' 或 'yarn start' (如果 'package.json' 中配置了启动脚本,或者直接运行 'node src/index.ts') 启动 Vikunja MCP 服务器。服务器将在标准输入/输出 (stdio) 上监听 MCP 客户端的请求。
  2. 配置MCP客户端: 在你的MCP客户端应用中,按照其配置要求,填入上述服务器配置JSON信息。
  3. 调用工具: 通过MCP客户端,你可以调用服务器提供的以下工具:
    • set-reminder-at-time (设置提醒事项): 参数包括 'title' (提醒标题,字符串类型) 和 'due_date' (提醒时间,ISO 8601 格式的日期时间字符串,例如 "2024-07-30T15:30:00+08:00")。
    • get-reminders (获取提醒事项): 无需参数。

示例使用场景:

用户对LLM客户端说:“提醒我明天下午3点开会”。LLM客户端识别到用户意图后,可以调用 Vikunja MCP 服务器的 'set-reminder-at-time' 工具,并将 "开会" 作为 'title',将 "明天下午3点" 转换为 ISO 8601 格式的时间字符串作为 'due_date' 传递给服务器。服务器会将该提醒事项添加到用户的Vikunja待办事项列表中。

用户还可以询问:“接下来一个小时有什么提醒?”,LLM客户端可以调用 'get-reminders' 工具,服务器将返回接下来一小时内的提醒事项列表,并由LLM客户端以自然语言回复给用户。

信息

分类

生产力应用