Kelvia

io.github.gonnagetapower由 GitHub 账号 gonnagetapower 发布v1.0.2更新于 Oct 24, 2026

Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

已验证Streamable HTTP可网页运行效率与工作流开发者工具

概览

AI 生成的概览

Kelvia 是供人与编码智能体共用的任务管理器,让助手创建和更新任务、在看板上移动工作、评论、记录工时并规划日程。

可以做什么
管理看板:列出、创建、更新、归档和删除看板,查看列与看板动态,并管理标签以及成员和邀请的角色与权限。管理任务:列出、创建、更新、排序和删除任务,读取任务动态和 AI 摘要,并设置摘要。讨论与工时:读取、添加、更新和删除任务评论与工时记录。运行阶段:创建、排序、启动、完成、重开和删除冲刺、里程碑等看板阶段。规划日程:列出、创建、更新、排序和删除个人日程块并设置其状态。此外还提供两个提示和 schema 资源,并可通过工具集只加载 58 个工具中的一部分。
适用场景
适合让助手与人在同一任务看板上协作:梳理待办、根据拉取请求创建后续任务、评论阻塞问题、记录工时或安排当天计划。也适合在编码智能体之间交接未完成的工作,因为改动会以归属明确的方式显示在人类使用的同一界面中。
运行要求
可使用托管的 Streamable HTTP 端点并通过浏览器完成 OAuth 授权,或通过 npm 包 kelvia-mcp 在本地以 stdio 运行,后者需要 Node.js 20+。使用智能体密钥时需要在 KELVIA_API_TOKEN 中提供 Kelvia 智能体密钥(在 Kelvia 的 Profile 下 Agents 中创建),还可选设置 KELVIA_API_URL 和 KELVIA_TOOLSETS。两种模式都需要能访问 Kelvia API 的网络。
安装前请注意
该服务器并非只读:工具可以创建、更新、归档和删除看板、任务、评论、工时、阶段和日程块,也能更改成员和邀请。智能体密钥的读、建、改、删权限会与智能体在看板中的角色取交集,因此只授予工作流所需的看板和权限,并设置有效期。不要把 KELVIA_API_TOKEN 的值放进 URL 或命令历史;托管端点只接受通过 Authorization 头传递的凭据。无论哪种模式,任务数据都存放在 Kelvia。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Kelvia,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.gonnagetapower%2Fkelvia-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "kelvia": {
      "type": "http",
      "url": "https://mcp.kelvia.app/mcp"
    }
  }
}

README

Kelvia MCP — task manager for coding agents

[CI] [npm] [License: MIT] [MCP Registry] [kelvia-mcp MCP server]

Kelvia is a shared task manager for people and coding agents. One concrete use: hand off an unfinished task from Claude Code to Codex. The guide includes a copyable repo-file handoff that works without Kelvia, then shows when a shared task helps. Through the Model Context Protocol, an agent can create and update tasks, move work across a Kanban board, comment, log time, run stages, and plan the day. Its changes stay visible and attributed in the same UI the human uses.

The server exposes 58 tools and works with Claude Code, Codex, Cursor, and other MCP clients. The hosted endpoint uses OAuth, so there is no API token to paste into the recommended setup. A local stdio mode is available for CI and clients without remote MCP support.

Try for free · MCP documentation · Hosted endpoint

Connect in one command

ClientCommand
Claude Codeclaude mcp add --transport http --scope user kelvia https://mcp.kelvia.app/mcp
Codexcodex mcp add kelvia --url https://mcp.kelvia.app/mcp
CursorAdd https://mcp.kelvia.app/mcp in Settings → Tools & MCP

The first connection opens Kelvia in the browser for OAuth approval. After it connects, ask the client: List my Kelvia boards.

[A Kelvia board whose tasks were created through this MCP server]

Why Kelvia MCP

  • Complete workflow coverage — create and triage tasks, move work across a board, log time, run stages, and plan a day. Not a read-only bridge.
  • Controlled write access — agent keys have read/create/edit/delete scopes intersected with the agent's role on each board.
  • Visible agent activity — changes, comments, and worklogs appear in Kelvia; supported task changes can be reverted by a human in the app.
  • Load only what you need — toolsets let a client publish one part of the product instead of all 58 tools.
  • Modern remote auth — Streamable HTTP with OAuth 2.1 + PKCE, or a Bearer token when an explicit agent identity is required.
  • A local option when you need one — stdio for clients without remote MCP support, for CI, and for keeping the key on one machine.

See it work

From the client side — one prompt, and the agent reads the board, decides what matters, files a follow-up task and comments on the blocker:

[A Claude Code session calling Kelvia MCP tools]

A real session against mcp.kelvia.app, typeset from its transcript. create_task really did create #17, and add_task_comment really did comment on #9 — which is what the rest of this section shows.

And from the product side. Everything below was created by an agent over this server — the board, the tasks, the discussion, and the logged time.

[An agent creating and triaging tasks on a Kelvia board]

Watch the same run as video

Every change an agent makes is attributed to it and filterable, so a human can review exactly what happened rather than trusting a summary:

[A task history showing changes attributed to Release Agent]

The personal day planner is part of the surface too, so an agent can block out the work it just triaged:

[A time-blocked day plan built through the MCP server]

Hosted quick start (recommended)

The production endpoint is:

text
https://mcp.kelvia.app/mcp

OAuth is the default. The client opens Kelvia in a browser, you approve access, and the client stores and refreshes its OAuth credentials. No API token needs to be pasted into a configuration file.

Claude Code

bash
claude mcp add --transport http --scope user kelvia https://mcp.kelvia.app/mcpclaude mcp list

Start Claude Code, enter /mcp, choose kelvia, and complete Authenticate in the browser. After authentication, verify the connection with:

text
List my Kelvia boards.

Codex app, CLI, and IDE extension

bash
codex mcp add kelvia --url https://mcp.kelvia.app/mcpcodex mcp login kelviacodex mcp list

The Codex app, CLI, and IDE extension share the same MCP configuration on a Codex host. In an interactive Codex session, use /mcp to inspect the server.

Equivalent ~/.codex/config.toml:

toml
[mcp_servers.kelvia]url = "https://mcp.kelvia.app/mcp"auth = "oauth"

Cursor

Add the server globally in ~/.cursor/mcp.json, or per project in .cursor/mcp.json:

json
{  "mcpServers": {    "kelvia": {      "url": "https://mcp.kelvia.app/mcp"    }  }}

Open Cursor Settings → Tools & MCP, enable kelvia, and select Connect to complete OAuth in the browser. Ask Cursor to list your Kelvia boards after it reports the server as connected.

Agent-key authentication

OAuth acts as the approving Kelvia user. Use an agent key instead when the connection needs its own identity, board membership, role, expiry, and granular read/create/edit/delete scopes.

Create one in Kelvia → Profile → Agents:

  1. Create an agent identity.
  2. Add it to only the required boards and choose its board role.
  3. Create a key with the minimum required scopes and an expiry date.
  4. Copy the klv_… value when shown; Kelvia stores only its hash.

Codex with an agent key

Keep the token in the environment; Codex stores only the variable name:

bash
export KELVIA_API_TOKEN='klv_your_agent_key'codex mcp add kelvia --url https://mcp.kelvia.app/mcp \  --bearer-token-env-var KELVIA_API_TOKENcodex mcp list

Equivalent ~/.codex/config.toml:

toml
[mcp_servers.kelvia]url = "https://mcp.kelvia.app/mcp"bearer_token_env_var = "KELVIA_API_TOKEN"

Claude Code with an agent key

Claude Code expands environment variables in MCP JSON. Single quotes below keep your shell from expanding the token into its command history:

bash
export KELVIA_API_TOKEN='klv_your_agent_key'claude mcp add-json --scope user kelvia \  '{"type":"http","url":"https://mcp.kelvia.app/mcp","headers":{"Authorization":"Bearer ${KELVIA_API_TOKEN}"}}'claude mcp list

Do not put tokens in URLs. The Streamable HTTP endpoint accepts authentication only through the Authorization header.

Local stdio setup

Most people should use the hosted endpoint above. Running the server locally does not keep your tasks on your machine — they live in Kelvia either way, and the local process talks to the same API. What it changes is the path your credential takes, and which clients can connect.

Use stdio when one of these applies:

  • Your client cannot do remote MCP or OAuth. The major clients can, but older versions, some IDE plugins, and locked-down machines where a browser redirect will not open, cannot.
  • You are automating in CI, where nobody is around to approve an OAuth prompt. (An agent key against the hosted endpoint also works — this just removes a dependency.)
  • Your key should not leave the machine. With the hosted endpoint your token reaches mcp.kelvia.app and stays in its memory for the session; over stdio it only ever goes to the Kelvia API.

Requirements: Node.js 20+.

Run the published package without installing anything:

bash
npx kelvia-mcp

Or build from source (Node.js 20+ and pnpm 9+), then use an absolute path to dist/index.js in client configuration:

bash
git clone https://github.com/gonnagetapower/kelvia-mcp.gitcd kelvia-mcppnpm installpnpm build

MCP Bundle for Claude Desktop

For local installation in Claude Desktop, build the MCP Bundle (.mcpb):

bash
pnpm run bundle:mcpb

This produces build/kelvia-mcp-<version>.mcpb. Open that file in Claude Desktop and enter a dedicated Kelvia agent key when prompted. The bundle is a packaged form of the same local stdio server; for the hosted OAuth connection, use the recommended quick start instead.

Claude Code (stdio)

bash
claude mcp add --scope user \  --env KELVIA_API_TOKEN=klv_your_agent_key \  --transport stdio kelvia -- node /absolute/path/to/kelvia-mcp/dist/index.js

Codex (stdio)

bash
codex mcp add kelvia \  --env KELVIA_API_TOKEN=klv_your_agent_key \  -- node /absolute/path/to/kelvia-mcp/dist/index.js

Cursor (stdio)

json
{  "mcpServers": {    "kelvia": {      "command": "node",      "args": ["/absolute/path/to/kelvia-mcp/dist/index.js"],      "env": {        "KELVIA_API_TOKEN": "klv_your_agent_key"      }    }  }}

Available tools

58 tools

Boards (9) — list_boards, get_board, create_board, update_board, archive_board, unarchive_board, delete_board, list_board_columns, get_board_activity

Tasks (12) — list_tasks, list_daily_tasks, list_calendar_tasks, get_task, get_task_by_number, create_task, update_task, reorder_task, delete_task, get_task_activity, get_task_summary, set_task_summary

Comments and worklogs (8) — get_task_comments, add_task_comment, update_task_comment, delete_task_comment, get_task_worklogs, add_task_worklog, update_task_worklog, delete_task_worklog

Stages (8) — create_board_stage, materialize_board_backlog_stage, update_board_stage, delete_board_stage, reorder_board_stages, start_board_stage, complete_board_stage, reopen_board_stage

Members and invitations (9) — list_board_members, update_board_member, remove_board_member, list_board_invitations, create_board_invitation, revoke_board_invitation, list_my_invitations, accept_board_invitation, decline_board_invitation

Personal day planner (8) — list_daily_plan_blocks, list_daily_plan_definitions, list_overdue_daily_plan_blocks, create_daily_plan_block, update_daily_plan_block, set_daily_plan_block_status, reorder_daily_plan_blocks, delete_daily_plan_block

Tags (3) — list_board_tags, list_tags, create_board_tag

Core (1) — get_current_user

The server also publishes two prompts (create_task_from_pr and triage_board_backlog) and two schema resources under kelvia://schema/….

Every tool carries MCP annotations — readOnlyHint, destructiveHint, idempotentHint — so a client can auto-approve reads and prompt before a delete. 22 of the 58 tools are read-only.

Toolsets

The full surface costs about 45 KB of JSON schema in every session. Load only the parts a workflow needs:

ToolsetToolsWhat it covers
boards9Boards, columns, board activity
tasks12Tasks, task activity, AI summaries
comments8Comments and worklogs
stages8Sprints and milestones
members9Members, roles, invitations
planner8Personal time-blocking day plan
tags3Board and workspace tags

get_current_user is always published. Omitting the setting, or naming a toolset that does not exist, publishes everything.

bash
# stdio: environment variableKELVIA_TOOLSETS=tasks,planner npx kelvia-mcp
# hosted: header (preferred)X-MCP-Toolsets: tasks,planner
# hosted: query parameter, for clients that cannot set headershttps://mcp.kelvia.app/mcp?toolsets=tasks,planner

tasks,planner publishes 21 tools and about 20 KB of schema instead of 45 KB.

Good first prompts

text
List my Kelvia boards.
text
On board "product", show open high-priority tasks and suggest a triage order.Do not modify anything.
text
Create a task on board "product" titled "Fix the login redirect", assign highpriority, and show me the created task.
text
Plan today using my three most urgent assigned tasks. Show the proposed blocksbefore creating them.

Security model

  • Remote tokens are accepted only in the Authorization: Bearer … header.
  • OAuth uses authorization-code flow with PKCE and dynamic client registration.
  • OAuth tokens cannot manage account credentials, personal API tokens, agents, or MCP connections.
  • Agent keys are hashed at rest, revocable, optionally expiring, and limited by both key scopes and board roles.
  • Remote sessions appear in the Kelvia profile and can be revoked.
  • Legacy SSE exists for older clients at /sse; it may require a query token because browser EventSource cannot set headers. Prefer /mcp so credentials never enter URLs, browser history, or proxy access logs.

Treat MCP servers as privileged integrations. Review a requested write before approving it, use a dedicated agent key for automation, and grant only the boards and scopes the workflow needs.

Reporting a vulnerability: see SECURITY.md. Data handling for the hosted endpoint is described in the AI and MCP data processing policy, and the privacy policy covers Kelvia as a whole.

Privacy Policy

The MCP Bundle connects to the Kelvia API and sends the requests needed to perform the actions you ask it to take. It does not run a separate analytics or advertising service. Review the Kelvia Privacy Policy and the AI and MCP Data Processing Policy before installing it.

Self-hosting the HTTP endpoint

Setting PORT switches the process from stdio to Streamable HTTP.

bash
docker build -t kelvia-mcp .docker run --rm -p 8080:8080 \  -e KELVIA_API_URL=https://api.kelvia.app/api \  -e MCP_PUBLIC_URL=https://mcp.example.com \  kelvia-mcp

Then check GET /health, which reports the available transports and toolsets.

Environment variables

VariableModePurpose
KELVIA_API_TOKENstdioAgent key or personal token
KELVIA_API_URLbothAPI base; defaults to https://api.kelvia.app/api
KELVIA_TOOLSETSbothComma-separated toolsets; default all
PORThostedEnables HTTP mode and selects the listening port
MCP_PUBLIC_URLhostedPublic protected-resource origin
MCP_AUTHORIZATION_SERVERhostedOAuth authorization-server origin
MCP_ALLOWED_ORIGINShostedComma-separated CORS allowlist
MCP_RATE_LIMIThostedRequests per token per minute; default 300
MCP_INSTANCE_COUNThostedNumber of HTTP instances
MCP_STICKY_SESSIONShostedRequired for multi-instance legacy SSE

Streamable HTTP is stateless at the MCP transport layer. Legacy SSE sessions are stored in process memory, so SSE requires one instance or sticky sessions.

Troubleshooting

  • Needs authentication / HTTP 401 — complete OAuth from the client's MCP panel, or verify that the Bearer-token environment variable is available to the client process.
  • HTTP 403 — the key lacks a required scope, the agent lacks the required board role, or the email/account state blocks that operation.
  • Server connects but a board is missing — add the agent identity to that board, or approve OAuth as a user who already has access.
  • Connection closed in stdio mode — run pnpm build, use an absolute path, and confirm Node.js 20+ plus KELVIA_API_TOKEN are present.
  • No tools visible — check claude mcp list, codex mcp list, or Cursor's Tools & MCP panel, then restart/reload the client after changing config.
  • Large task output — use compact list_tasks, filter by board/status, then call get_task for one record instead of requesting detailed lists.
  • Too many tools for the client — narrow the surface with toolsets.

Health and OAuth discovery:

text
GET https://mcp.kelvia.app/healthGET https://mcp.kelvia.app/.well-known/oauth-protected-resource/mcpGET https://api.kelvia.app/.well-known/oauth-authorization-server

Development

bash
pnpm installpnpm run lintpnpm run typecheck:strictpnpm run test

pnpm run test builds the package, initializes the stdio server through the official MCP client SDK, and verifies the published tools, annotations, toolsets, prompts, resources, and server instructions.

See CONTRIBUTING.md for how this repository relates to the Kelvia monorepo and what a tool change needs to touch.

License

MIT

来源:README.md,提交 eabb28f

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v1.0.2最新Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分