# Kelvia (npm · kelvia-mcp)

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

- Trust score: 82/100 (high trust)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-12

## Components

- remote · `mcp.kelvia.app`: 38/100, [markdown](https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/mcp.md), [page](https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/mcp)
- npm · `kelvia-mcp`: 82/100 (this document), [markdown](https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp.md), [page](https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp)

## Channel facts

- Registry: `npm`
- Package: `kelvia-mcp`
- Version: `1.0.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-12.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 33 of 110 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to gonnagetapower/kelvia-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 88/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 4936 tokens (~82/item across 60 items; 58 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add gonnagetapower-kelvia-mcp -- npx -y kelvia-mcp
```

### Codex

```bash
codex mcp add gonnagetapower-kelvia-mcp -- npx -y kelvia-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gonnagetapower-kelvia-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "kelvia-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add gonnagetapower-kelvia-mcp --command npx --arg -y --arg kelvia-mcp
```

### Hermes

```yaml
mcp_servers:
  gonnagetapower-kelvia-mcp:
    command: "npx"
    args: ["-y", "kelvia-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "gonnagetapower-kelvia-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "kelvia-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-11 (score 82, +11)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 71)

First indexed and scored.

## MCP tools (58)

### `list_boards` (~57 tokens)

List boards

List all Kelvia boards accessible to the authenticated user. Returns id, name, slug, isArchived, columns (kanban columns), stages (sprints/milestones), config (custom priorities and statuses), taskCounter, createdAt.

### `get_board` (~81 tokens)

Get board

Get detailed info for a single board by its URL slug (slug is the short identifier in board URLs, e.g. 'my-project'). Includes all columns, stages with their statuses, board config and member count.

Input parameters:

- `board_slug` (string): Board URL slug (e.g. 'my-project')
- `slug` (string): Deprecated alias of board_slug

### `list_tasks` (~330 tokens)

List tasks

List tasks with optional filters. Without any filter returns all tasks the user has access to across every board. By default returns a COMPACT shape to stay within token limits: { board: { id, name, slug, columns } | null, tasks: [{ id, number, title, status, priority, columnId, stageId, tags (names), assignees (count), dueDate }], count }. Pass detailed=true for full task objects (heavy — can exceed limits on large boards) or use get_task / get_task_by_number for one full task.

Input parameters:

- `assignee_id` (string): Filter by assignee user UUID
- `board_slug` (string): Board slug — limits results to tasks of that board
- `date` (string): ISO date string YYYY-MM-DD — filter tasks by this date
- `detailed` (boolean): Return full task objects instead of the compact shape (default false)
- `group_by` (string): Group counters by field
- `limit` (integer): Max number of tasks to return
- `number` (integer): Exact task number (#N without '#')
- `offset` (integer): Pagination offset
- `priority` (string): Filter by task priority
- `search` (string): Search in task title/description; numeric value also matches task number
- `slug` (string): Deprecated alias of board_slug
- `status` (string): Filter by task status
- `today` (boolean): Return only today's relevant tasks (assigned to user, due today or overdue)
- `watcher_id` (string): Filter by watcher user UUID

### `list_daily_tasks` (~96 tokens)

List today's tasks

List tasks relevant for today (assigned to me and not done, or due today). Optional board filter by slug.

Input parameters:

- `board_slug` (string): Board slug
- `date` (string): Optional date override YYYY-MM-DD
- `detailed` (boolean): Return full task objects
- `limit` (integer): Max items
- `offset` (integer): Pagination offset
- `slug` (string): Deprecated alias of board_slug

### `list_calendar_tasks` (~88 tokens)

List calendar tasks

List tasks with a due date inside a date range, for a calendar view. Unlike list_tasks, this is scoped by due date range rather than status/search filters.

Input parameters:

- `board_slug` (string): Board slug — limits results to tasks of that board
- `from` (string, required): ISO date — range start (inclusive)
- `to` (string, required): ISO date — range end (inclusive)

### `list_daily_plan_blocks` (~88 tokens)

List plan blocks

List the user's personal day-planner blocks (their own time-blocking schedule) visible on a given local date, with each block's done/not-done status for that date. Different from list_daily_tasks, which lists board tasks due today — this is the user's private schedule, not board tasks.

Input parameters:

- `local_date` (string, required): Local date YYYY-MM-DD to view the plan for

### `list_daily_plan_definitions` (~46 tokens)

List plan definitions

List the user's day-planner block definitions as stored (recurrence rule, scheduled time, active_from) — not resolved against a specific date, unlike list_daily_plan_blocks.

### `list_overdue_daily_plan_blocks` (~53 tokens)

List overdue plan blocks

List the user's day-planner blocks that were due before the given local date and are still not done.

Input parameters:

- `local_date` (string, required): Local date YYYY-MM-DD — blocks overdue relative to this date

### `create_daily_plan_block` (~201 tokens)

Create plan block

Create a block in the user's personal day-planner (their own time-blocking schedule, not a board task). Title may reference a board task with `@boardSlug/N` (e.g. `@marketing/42`) — the app renders it as a clickable link to that task. Returns the created block.

Input parameters:

- `active_from` (string): Local date YYYY-MM-DD the block starts applying from (default: applies from the start)
- `end_time` (string|null): End time HH:mm local time, or null
- `recurrence` (string): Repeat rule (default DAILY). ONCE requires scheduled_day.
- `scheduled_day` (string): Local date YYYY-MM-DD — required when recurrence=ONCE
- `scheduled_time` (string|null): Start time HH:mm local time, or null for unscheduled
- `title` (string, required): Block title. Use `@boardSlug/N` to link a board task inside the title.

### `update_daily_plan_block` (~164 tokens)

Update plan block

Update fields of an existing day-planner block. Pass only the fields you want to change. Title may reference a board task with `@boardSlug/N`. Returns the updated block.

Input parameters:

- `end_time` (string|null): End time HH:mm, or null to clear
- `id` (string, required): Day-planner block UUID
- `recurrence` (string): New repeat rule. ONCE requires scheduled_day.
- `scheduled_day` (string|null): Local date YYYY-MM-DD, or null to clear
- `scheduled_time` (string|null): Start time HH:mm, or null to clear
- `sort_order` (number): New manual sort position
- `title` (string): New title — use `@boardSlug/N` to link a board task

### `set_daily_plan_block_status` (~83 tokens)

Set plan block status

Mark a day-planner block done or not-done for one specific local date (recurring blocks track completion per-day, not globally).

Input parameters:

- `id` (string, required): Day-planner block UUID
- `local_date` (string, required): Local date YYYY-MM-DD
- `status` (string, required): 'completed' = done, 'none' = not done

### `reorder_daily_plan_blocks` (~83 tokens)

Reorder plan blocks

Reorder the day-planner blocks visible on a given local date (drag-and-drop equivalent). Pass ALL block UUIDs visible on that date, in the desired order.

Input parameters:

- `local_date` (string, required): Local date YYYY-MM-DD whose visible list is being reordered
- `ordered_ids` (array, required): Every block UUID visible on local_date, in the new order

### `delete_daily_plan_block` (~67 tokens)

Delete plan block

Remove a day-planner block starting from a given local date onward (soft-delete — earlier occurrences and their completion history are kept).

Input parameters:

- `id` (string, required): Day-planner block UUID
- `local_date` (string, required): Local date YYYY-MM-DD from which the block stops appearing

### `get_task` (~69 tokens)

Get task

Get full details of a single task by its UUID. Includes all fields: title, description, status, priority, dueDate, assignees, watchers, tags, stage, parent task, subtasks, worklogs (time tracking), and comments count.

Input parameters:

- `id` (string, required): Task UUID

### `get_task_by_number` (~96 tokens)

Get task by number

Get a task by its human-friendly number (the #N shown in the UI) within a board. Resolves the number to the task UUID and returns full details (same shape as get_task). Handy when you know the #N but not the UUID.

Input parameters:

- `board_slug` (string, required): Board slug the task belongs to
- `number` (integer, required): Task number — the #N in the UI, without the '#'

### `get_task_comments` (~48 tokens)

Get task comments

Get all comments for a task ordered by creation time. Each comment includes id, content, createdAt, updatedAt and the author (user).

Input parameters:

- `task_id` (string, required): Task UUID

### `get_task_worklogs` (~46 tokens)

Get task worklogs

Get time-tracking worklogs for a task. Each entry has id, minutes, comment, workedAt, and the author.

Input parameters:

- `task_id` (string, required): Task UUID

### `get_task_activity` (~51 tokens)

Get task activity

Get the audit trail for a task: who changed what and when (status/priority/assignee/field changes, comments, worklogs), newest first.

Input parameters:

- `task_id` (string, required): Task UUID

### `get_board_activity` (~154 tokens)

Get board activity

Get the audit trail for a whole board: task/stage/member changes across the board, newest first. Requires ADMIN/OWNER role on that board.

Input parameters:

- `actor_id` (string): Filter by the user who performed the action
- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `from` (string): ISO date — only activity at or after this time
- `limit` (integer): Max items
- `offset` (integer): Pagination offset
- `search` (string): Search in activity descriptions
- `to` (string): ISO date — only activity at or before this time
- `type` (string): Filter by activity type

### `list_board_members` (~57 tokens)

List board members

List all members of a board with their roles (OWNER, ADMIN, MEMBER, VIEWER). Use list_boards first to obtain the board id.

Input parameters:

- `board_id` (string, required): Board UUID (from list_boards or get_board)

### `update_board_member` (~85 tokens)

Change member role

Update board member role/title. Requires ADMIN/OWNER on that board.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `role` (string): New role
- `target_user_id` (string, required): Target member user UUID
- `title` (string|null): New title (or null to clear)

### `remove_board_member` (~58 tokens)

Remove member

Remove a member from board. Requires ADMIN/OWNER.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `target_user_id` (string, required): Target member user UUID

### `list_board_invitations` (~53 tokens)

List board invitations

List pending/accepted/declined invitations for a board. Requires ADMIN/OWNER.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)

### `create_board_invitation` (~78 tokens)

Invite to board

Invite a user to board by email with role ADMIN/MEMBER/VIEWER. Requires ADMIN/OWNER.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `email` (string, required): Invitee email
- `role` (string, required): Role to grant on acceptance

### `revoke_board_invitation` (~57 tokens)

Revoke invitation

Revoke an invitation by id. Requires ADMIN/OWNER.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `invitation_id` (string, required): Invitation UUID

### `list_my_invitations` (~34 tokens)

List my invitations

List board invitations sent to the current user (pending/accepted/declined), with the inviting board and role.

### `accept_board_invitation` (~44 tokens)

Accept invitation

Accept a pending board invitation sent to the current user. Returns the created board membership.

Input parameters:

- `invitation_id` (string, required): Invitation UUID (from list_my_invitations)

### `decline_board_invitation` (~39 tokens)

Decline invitation

Decline a pending board invitation sent to the current user.

Input parameters:

- `invitation_id` (string, required): Invitation UUID (from list_my_invitations)

### `get_current_user` (~31 tokens)

Get current user

Get the profile of the currently authenticated user (id, email, firstName, lastName, avatarUrl).

### `list_board_tags` (~92 tokens)

List board tags

Get the tag vocabulary of a board. Tags belong to the board and are shared by everyone on it — the same name on another board is a different tag. Returns id and name; use the ids in create_task/update_task tag_ids, or just pass tag_names and let the board pick up new ones.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board URL slug

### `list_board_columns` (~60 tokens)

List board columns

Get kanban columns for a board by slug. Returns id and name for each column — use these IDs in create_task and update_task.

Input parameters:

- `board_slug` (string): Board URL slug
- `slug` (string): Deprecated alias of board_slug

### `create_board_stage` (~88 tokens)

Create stage

Create a stage on a board. Requires ADMIN/OWNER role on that board.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `carry_over_task_ids` (array): Task ids to move into the new stage
- `name` (string, required): Stage name
- `status` (string): Optional initial stage status

### `materialize_board_backlog_stage` (~98 tokens)

Materialize backlog stage

Create (or fetch, if it already exists) the special backlog stage for a board — holds tasks that aren't part of any active/planned stage. Requires ADMIN/OWNER role on that board.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `name` (string, required): Backlog stage name
- `status` (string): Optional initial stage status

### `update_board_stage` (~59 tokens)

Update stage

Rename a board stage.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `name` (string, required): New stage name
- `stage_id` (string, required): Stage UUID

### `delete_board_stage` (~49 tokens)

Delete stage

Delete a board stage.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `stage_id` (string, required): Stage UUID

### `reorder_board_stages` (~65 tokens)

Reorder stages

Reorder stages on a board by passing full ordered list of stage IDs.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `ordered_stage_ids` (array, required): All stage IDs in target order

### `start_board_stage` (~50 tokens)

Start stage

Set stage status to ACTIVE.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `stage_id` (string, required): Stage UUID

### `complete_board_stage` (~54 tokens)

Complete stage

Set stage status to COMPLETED (frozen).

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `stage_id` (string, required): Stage UUID

### `reopen_board_stage` (~53 tokens)

Reopen stage

Reopen stage from COMPLETED to ACTIVE.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board slug (alternative to board_id)
- `stage_id` (string, required): Stage UUID

### `create_task` (~366 tokens)

Create task

Create a new task on a board. Requires the board slug and a title. Returns the created task with its generated id and number.

Input parameters:

- `assignee_ids` (array): Array of user UUIDs to assign
- `board_slug` (string, required): Board slug where the task will be created
- `column_id` (string): Kanban column ID (use list_board_columns to get IDs)
- `description` (string): Task description (markdown supported)
- `due_date` (string): Due date as ISO string (e.g. 2025-12-31)
- `parent_id` (string): Parent task UUID (for subtasks)
- `priority` (string): Priority, low to high: MINOR, ORDINARY ("Low"), MEDIUM, IMPORTANT ("High"), BLOCKER. A board may define custom priorities — read board.config.priorities from get_board.
- `stage_id` (string): Stage ID (use get_board to see stages)
- `status` (string): Task status. Default values: OPEN, IN_PROGRESS, IN_REVIEW, NEEDS_INFO, DONE (= "Closed - done"), CLOSED (= "Closed - won't do"). Use NEEDS_INFO when the task is blocked waiting for clarification. A b…
- `tag_ids` (array): Tag IDs from list_board_tags (must belong to the same board)
- `tag_names` (array): Tag names for this task. Tags live on the board: a name that isn't there yet is created on it, an existing one is reused (case-insensitive). Max 10 per task.
- `title` (string, required): Task title (required)
- `watcher_ids` (array): Array of user UUIDs to add as watchers

### `update_task` (~383 tokens)

Update task

Update one or more fields of an existing task. Pass only the fields you want to change — all are optional. Returns the updated task.

Input parameters:

- `assignee_ids` (array): Replace full assignee list with these user UUIDs
- `column_id` (string): Move to this kanban column ID (use list_board_columns to get IDs)
- `description` (string): New description (markdown supported)
- `due_date` (string|null): New due date as ISO string, or null to clear
- `id` (string, required): Task UUID to update
- `original_estimate_minutes`: Time estimate in minutes
- `parent_id` (string|null): Set parent task UUID, or null to make top-level
- `priority` (string): New priority, low to high: MINOR, ORDINARY ("Low"), MEDIUM, IMPORTANT ("High"), BLOCKER. A board may define custom priorities — read board.config.priorities from get_board.
- `stage_id` (string|null): Assign to this stage ID, or null to remove (use get_board to see stages)
- `status` (string): New status. Default values: OPEN, IN_PROGRESS, IN_REVIEW, NEEDS_INFO, DONE (= "Closed - done"), CLOSED (= "Closed - won't do"). Use NEEDS_INFO when the task is blocked waiting for clarification. A bo…
- `tag_ids` (array): Replace the whole tag list with these tag IDs (empty array clears all tags)
- `tag_names` (array): Replace the whole tag list with these names (empty array clears all tags). Names are found on the board or created there. Max 10 per task.
- `title` (string): New title
- `watcher_ids` (array): Replace full watcher list with these user UUIDs

### `reorder_task` (~58 tokens)

Reorder task

Move/reorder a task inside a column (kanban drag-and-drop equivalent).

Input parameters:

- `column_id` (string, required): Destination column UUID
- `position` (number, required): New numeric position in the column
- `task_id` (string, required): Task UUID

### `delete_task` (~47 tokens)

Delete task

Permanently delete a task by its UUID. Only the task creator or a board OWNER/ADMIN can delete tasks. Returns a confirmation message.

Input parameters:

- `id` (string, required): Task UUID to delete

### `add_task_comment` (~46 tokens)

Add comment

Post a comment on a task. Returns the created comment with author info.

Input parameters:

- `content` (string, required): Comment text (markdown supported)
- `task_id` (string, required): Task UUID

### `get_task_summary` (~46 tokens)

Get task summary

Read a task's summary — the single digest shown in its Summary tab. Returns { summary, summaryUpdatedAt, summaryAuthor }.

Input parameters:

- `task_id` (string, required): Task UUID

### `set_task_summary` (~79 tokens)

Set task summary

Write or replace a task's summary: a concise digest of the task's current state and what has been done, shown in the task's Summary tab. Markdown supported. Replaces any previous summary (one per task).

Input parameters:

- `summary` (string, required): Summary text — a concise digest (markdown supported)
- `task_id` (string, required): Task UUID

### `update_task_comment` (~45 tokens)

Update comment

Update an existing task comment.

Input parameters:

- `comment_id` (string, required): Comment UUID
- `content` (string, required): Updated comment text
- `task_id` (string, required): Task UUID

### `delete_task_comment` (~44 tokens)

Delete comment

Delete a comment from a task. You can only delete your own comments.

Input parameters:

- `comment_id` (string, required): Comment UUID
- `task_id` (string, required): Task UUID

### `add_task_worklog` (~103 tokens)

Log time

Log time spent on a task. minutes must be > 0 and ≤ 1440 (24 hours). Returns the created worklog entry.

Input parameters:

- `comment` (string): Optional note about the work done (max 2000 chars)
- `minutes` (integer, required): Time spent in minutes (max 1440)
- `task_id` (string, required): Task UUID
- `worked_at` (string): ISO datetime when the work was done (defaults to now)

### `update_task_worklog` (~79 tokens)

Update worklog

Update an existing worklog entry for a task.

Input parameters:

- `comment` (string|null): Optional note
- `minutes` (integer, required): Updated time in minutes (max 1440)
- `task_id` (string, required): Task UUID
- `worked_at` (string|null): ISO datetime
- `worklog_id` (string, required): Worklog UUID

### `delete_task_worklog` (~41 tokens)

Delete worklog

Delete a worklog entry from a task.

Input parameters:

- `task_id` (string, required): Task UUID
- `worklog_id` (string, required): Worklog UUID

### `create_board` (~73 tokens)

Create board

Create a new board. Optionally supply an array of column names (defaults to a standard set). Returns the created board with its generated slug.

Input parameters:

- `columns` (array): Kanban column names in order (e.g. ['Backlog', 'In Progress', 'Done'])
- `name` (string, required): Board name

### `update_board` (~81 tokens)

Update board

Update a board's name or column list. Pass only the fields you want to change. Changing columns reorders/renames them. Returns the updated board.

Input parameters:

- `board_id` (string, required): Board UUID (from list_boards or get_board)
- `columns` (array): New ordered list of column names
- `name` (string): New board name

### `delete_board` (~24 tokens)

Delete board

Delete a board by UUID.

Input parameters:

- `board_id` (string, required): Board UUID

### `archive_board` (~24 tokens)

Archive board

Archive a board by UUID.

Input parameters:

- `board_id` (string, required): Board UUID

### `unarchive_board` (~26 tokens)

Unarchive board

Unarchive a board by UUID.

Input parameters:

- `board_id` (string, required): Board UUID

### `list_tags` (~48 tokens)

List tags

List tags across every board you can access. Tags belong to boards, so the same name on two boards is two different tags — each item carries its board. For one board use list_board_tags.

### `create_board_tag` (~79 tokens)

Create board tag

Add a tag to a board's vocabulary. Tags live on the board and are shared by everyone on it. Usually you don't need this: create_task/update_task tag_names create missing tags by themselves.

Input parameters:

- `board_id` (string): Board UUID
- `board_slug` (string): Board URL slug
- `name` (string, required): Tag name

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp#diagnostics

## Score history

- 2026-08-12: 82
- 2026-08-11: 82
- 2026-08-10: 71

## Links

- npm package: https://www.npmjs.com/package/kelvia-mcp
- Socket report: https://socket.dev/npm/package/kelvia-mcp
- Repository: https://github.com/gonnagetapower/kelvia-mcp
- Website: https://kelvia.app/mcp
- Changelog RSS feed: https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp.json
- HTML version of this page: https://verifymcp.io/servers/gonnagetapower-kelvia-mcp/kelvia-mcp
