Vikunja MCP Server
vikunja-mcp
一个远程 MCP (Model Context Protocol) 服务器,用于将 Claude 连接到您的自托管 Vikunja 实例。将其作为自定义连接器添加到 Claude.ai 中,即可通过对话方式管理您的任务。
可用工具
工具 | 描述 |
| 列出所有项目 |
| 获取项目详情 |
| 创建新项目 |
| 更新项目 |
| 删除项目 |
| 列出/筛选/搜索所有项目中的任务 |
| 获取任务详情(包括评论) |
| 在项目中创建任务 |
| 更新任务属性 |
| 删除任务 |
| 将任务标记为已完成 |
| 将任务标记为未完成 |
| 为任务添加评论 |
| 列出所有标签 |
| 创建新标签 |
| 为任务添加标签 |
| 从任务中移除标签 |
| 生成每周回顾摘要 |
| 带有截止日期的任务议程视图(逾期 + 即将到期) |
| 关联两个任务(子任务、阻塞、前置、相关等) |
| 移除两个任务之间的关联 |
快速开始
npm install
npm run build
export VIKUNJA_URL=https://your-vikunja-instance.example.com
export VIKUNJA_TOKEN=your-api-token
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
export PORT=9090
node build/index.js然后将您的服务器作为自定义连接器添加到 Claude.ai 的“设置 > 连接器”中:
https://your-server.example.com/mcp?token=<MCP_AUTH_TOKEN>请参阅 DEPLOY-UBERSPACE.md 获取在 Uberspace 上进行完整部署的指南。
配置
变量 | 必需 | 描述 |
| 是 | 您的 Vikunja 实例的基础 URL(末尾不要加斜杠) |
| 是 | 来自 Vikunja 设置 > API 令牌的 API 令牌 |
| 推荐 |
|
| 否 | 监听端口(默认: |
身份验证
当设置了 MCP_AUTH_TOKEN 时,服务器会拒绝任何未包含匹配 ?token=… 查询参数的 /mcp 请求,并返回 401 Unauthorized 响应。
生成一个强令牌:
openssl rand -hex 32将其添加到 Claude.ai 的连接器 URL 中:
https://your-server.example.com/mcp?token=<your-token>如果未设置 MCP_AUTH_TOKEN,则该端点对任何能够访问它的人开放 — 仅在私有、有防火墙保护的网络中执行此操作。
日历订阅
服务器提供了一个机器可读的 iCal 订阅源,您可以在任何日历应用中订阅它:
webcal://your-server.example.com/calendar.ics它包含所有未完成的任务,以及过去 30 天内完成的、带有开始日期、截止日期或结束日期的任务。订阅一次,您的日历应用将自动轮询更新。
架构
传输: Streamable HTTP(无状态)— 当前远程服务器的 MCP 标准
身份验证: 用于 MCP 端点的查询参数令牌 (
MCP_AUTH_TOKEN);用于上游 API 调用的 Vikunja API 令牌运行时: Node.js + Express
SDK:
@modelcontextprotocol/sdkv1.x
要求
Node.js ≥ 18
一个带有 API 令牌的自托管 Vikunja 实例
一个可供 Claude.ai 访问的公共 URL 以连接到服务器
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lindenlion/vikunja-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server