用途
Kelvia MCP 是一个面向人与编码智能体的共享任务管理器。它的一个具体用途是在 Claude Code 与 Codex 之间交接未完成的任务。通过 Model Context Protocol,智能体可以创建和更新任务、在 Kanban 看板上移动工作、发表评论、记录工时、运行阶段以及规划一天的日程,所有变更都会在人类使用的同一界面中可见并标注归属。
主要能力
服务器共暴露 58 个工具,覆盖以下分组:
- 看板(9 个):列出看板、获取看板、创建/更新/归档/取消归档/删除看板、列出看板列、查看看板活动。
- 任务(12 个):列出任务、列出每日任务、列出日历任务、获取任务、按编号获取任务、创建/更新/重排/删除任务、查看任务活动、获取与设置任务摘要。
- 评论与工时(8 个):获取/添加/更新/删除任务评论,获取/添加/更新/删除任务工时。
- 阶段(8 个):创建看板阶段、将待办阶段实体化、更新/删除/重排阶段、开始/完成/重新打开阶段。
- 成员与邀请(9 个):列出看板成员、更新/移除成员、列出/创建/撤销看板邀请、列出我的邀请、接受/拒绝看板邀请。
- 个人日程规划(8 个):列出每日计划区块、列出每日计划定义、列出逾期区块、创建/更新/设置状态/重排/删除每日计划区块。
- 标签(3 个):列出看板标签、列出标签、创建看板标签。
- 核心(1 个):get_current_user。
此外还发布两个提示(create_task_from_pr 和 triage_board_backlog)以及位于 kelvia://schema/… 下的两个 schema 资源。
每个工具都带有 MCP 注解(readOnlyHint、destructiveHint、idempotentHint),客户端可据此自动批准读取操作,并在删除前提示。58 个工具中有 22 个为只读。
使用方式
托管快速开始(推荐)
生产端点为 mcp.kelvia.app。OAuth 是默认方式:客户端在浏览器中打开 Kelvia,你批准访问后,客户端会存储并刷新其 OAuth 凭据,无需在配置文件中粘贴 API 令牌。
Claude Code:启动后输入 /mcp,选择 kelvia,在浏览器中完成 Authenticate,然后验证连接。
Codex:Codex 应用、CLI 和 IDE 扩展共享同一 Codex 主机上的 MCP 配置,可在交互式会话中用 /mcp 检查服务器。
Cursor:在 ~/.cursor/mcp.json 或项目级 .cursor/mcp.json 中添加服务器,打开 Cursor 设置 → Tools & MCP,启用 kelvia 并选择 Connect 在浏览器中完成 OAuth。
智能体密钥认证
OAuth 以批准的 Kelvia 用户身份行事。当连接需要自己的身份、看板成员资格、角色、有效期和细粒度的读/创建/编辑/删除作用域时,可改用智能体密钥。在 Kelvia → Profile → Agents 中创建:创建智能体身份、仅加入所需看板并选择看板角色、以最小必要作用域和到期日期创建密钥、复制显示的 klv_… 值(Kelvia 只存储其哈希)。
令牌应保存在环境变量中;不要将令牌放入 URL,Streamable HTTP 端点仅通过 Authorization 头接受认证。
本地 stdio 设置
多数人应使用上述托管端点。在本地运行服务器并不会把任务留在本机——任务仍存在于 Kelvia,本地进程访问同一 API;它改变的是凭据的传输路径以及可连接的客户端。适用场景:客户端不支持远程 MCP 或 OAuth;在 CI 中自动化;密钥不应离开本机。要求 Node.js 20+。
Claude Desktop 的 MCP Bundle
要本地安装到 Claude Desktop,可构建 MCP Bundle(.mcpb),打开该文件并在提示时输入专用的 Kelvia 智能体密钥。该 bundle 是同一本地 stdio 服务器的打包形式。
Toolsets 按需加载
完整工具面在每个会话中约消耗 45 KB JSON schema。可只加载工作流需要的部分:get_current_user 始终发布;省略该设置或命名不存在的 toolset 会发布全部工具。例如 tasks,planner 发布 21 个工具和约 20 KB schema。
适用场景
- 在 Claude Code、Codex 与人类之间交接共享任务,保持摘要、状态和工作历史在同一看板上。
- 让智能体读取看板、决定优先级、提交后续任务并评论阻塞项。
- 在个人日程规划器中为刚完成分诊的工作预留时间。
- 需要受控写入权限的自动化:智能体密钥的作用域与每个看板上的智能体角色求交。
- 需要可见智能体活动:变更、评论和工作日志都会出现在 Kelvia 中,支持的任务变更可由人工在应用中回退。
限制
- Streamable HTTP 在 MCP 传输层是无状态的;旧版 SSE 会话存储在进程内存中,因此 SSE 需要单实例或粘性会话。
- 旧版 SSE 位于 /sse,可能因浏览器 EventSource 无法设置头而需要查询令牌;建议优先使用 /mcp。
- OAuth 令牌不能管理账户凭据、个人 API 令牌、智能体或 MCP 连接。
- 智能体密钥在静态时哈希存储、可撤销、可选到期,并同时受密钥作用域和看板角色限制。
- 远程会话会出现在 Kelvia 个人资料中并可被撤销。
- 应将 MCP 服务器视为特权集成:批准写入前先审查请求,为自动化使用专用智能体密钥,只授予工作流需要的看板和权限。
- 托管端点的数据处理见 AI 和 MCP 数据处理政策,隐私政策覆盖整个 Kelvia。
自托管 HTTP 端点
设置 PORT 会使进程从 stdio 切换到 Streamable HTTP,然后可通过 GET /health 检查可用的传输和 toolsets。
故障排查
- 需要认证 / HTTP 401:在客户端的 MCP 面板完成 OAuth,或确认 Bearer 令牌环境变量对客户端进程可用。
- HTTP 403:密钥缺少所需作用域、智能体缺少所需看板角色,或电子邮件/账户状态阻止该操作。
- 服务器已连接但看板缺失:将智能体身份加入该看板,或以已有访问权限的用户批准 OAuth。
- stdio 模式连接关闭:运行 pnpm build,使用绝对路径,确认 Node.js 20+ 和 KELVIA_API_TOKEN 存在。
- 看不到工具:检查 claude mcp list、codex mcp list 或 Cursor 的 Tools & MCP 面板,更改配置后重启/重载客户端。
- 任务输出过大:使用精简的 list_tasks,按看板/状态过滤,然后对单条记录调用 get_task。
- 客户端工具过多:用 toolsets 缩小工具面。