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 分