# io.github.starecz/karea-mcp (npm · karea-mcp)

Karea task manager - 49 tools for Claude Code, Cursor, and other MCP clients.

- Trust score: 67/100 (medium)
- Change this week: +43
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `karea-mcp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/starecz-karea-mcp/karea-mcp.md), [page](https://verifymcp.io/servers/starecz-karea-mcp/karea-mcp)

## Channel facts

- Registry: `npm`
- Package: `karea-mcp`
- Version: `0.6.1`
- 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-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 13 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7026 tokens (~143/item across 49 items; 49 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **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.

## Install

### Claude

```bash
claude mcp add starecz-karea-mcp -- npx -y karea-mcp
```

### Codex

```bash
codex mcp add starecz-karea-mcp -- npx -y karea-mcp
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add starecz-karea-mcp --command npx --arg -y --arg karea-mcp
```

### Hermes

```yaml
mcp_servers:
  starecz-karea-mcp:
    command: "npx"
    args: ["-y", "karea-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "starecz-karea-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "karea-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-02 (score 67, +48)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional regression] Security disclosure: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-01 (score 19, −7)

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

### 2026-07-31 (score 26, +2)

- [security regression] Malware scan: pass → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-30 (score 24, −20)

- [functional regression] Tool coverage: 100 → unverified

### 2026-07-28 (score 44, +20)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (49)

### `karea_list_projects` (~19 tokens)

List all Karea projects with their IDs

### `karea_list_tasks` (~207 tokens)

List tasks in a project. Defaults to open tasks (open, in_progress, blocked, review, backlog) capped at 200 to keep responses small. To see closed tasks pass status="done" and optionally closedSince (e.g. "14d", "7d", "24h"). To list everything, pass status="all".

Input parameters:

- `closedSince` (string): Only return tasks closed since this window. Relative (e.g. "14d", "7d", "24h") or ISO date. Implies status=done unless status is set.
- `limit` (integer): Max tasks to return (default 200, cap 1000).
- `projectId` (string): Project name or ID (omit for default project)
- `status` (string): Filter by status: open, in_progress, blocked, review, backlog, done, cancelled. Comma-separated allowed (e.g. "open,in_progress"). "all" returns every status.

### `karea_create_task` (~534 tokens)

Create a new task in a project and return it with its visual ID (e.g. KA42), status, priority and category. Defaults when omitted: status open, priority 3, the first category of the project. Use karea_quick_task to log something already finished, or karea_doing for work in progress.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `category` (string): Category name
- `closingRequisites` (array): Requirements that must be met before closing. Keep each one short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Tests pass in CI", "PR approved"). Do NOT write paragraphs.
- `description` (string): Task description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short (a few sentences); use `markdown` for long-form docs.
- `jiraIssueKey` (string): JIRA issue key to link (e.g. PROJ-123). Issue must exist in JIRA.
- `markdown` (string): Long-form markdown content — use for investigation findings, technical/functional docs, solution design, root cause analysis. This is the task's knowledge base.
- `name` (string, required): Task title
- `parentId` (string): Parent task ID to create this as a subtask
- `priority` (number): Priority 1-5 (1=critical)
- `projectId` (string): Project name or ID
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `sla` (string): Deadline: 2d, 5h, tomorrow, monday
- `source` (string): Where this task came from
- `tags` (array): Tags to attach. STRICT: only pass tags that already exist in this project (verify with karea_view_task or the project list). Do NOT invent new tags unless the user explicitly asked for one — a typo o…
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_edit_task` (~608 tokens)

Update fields of an existing task (title, status, priority, deadline, category, assignee, description, tags, or add a note) located by visual ID, name or UUID. Only the fields you pass change; the rest are left untouched. Returns the updated task.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `category` (string): Move to category
- `clearClosingRequisites` (boolean): Remove all existing closing requisites before adding new ones
- `clearTags` (boolean): Remove all existing tags before adding new ones
- `closingRequisites` (array): Closing requisites to add. Keep each short and concrete - 1 short sentence, ideally under ~120 chars. Do NOT write paragraphs.
- `description` (string): New description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short (a few sentences); use `markdown` for long-form docs.
- `jiraIssueKey` (string): JIRA issue key to link (e.g. PROJ-123). Set to "unlink" to remove.
- `markdown` (string): Long-form markdown content — use for investigation findings, technical/functional docs, solution design, root cause analysis. Overwrites existing markdown; read first with karea_get_markdown to appen…
- `name` (string): New task title (rename the task)
- `note` (string): Add a human-readable note (the user reads these). Markdown is supported (lists, **bold**, `code`, links) - use it when it makes the note more readable; plain text is also fine. For private AI cross-s…
- `priority` (number): New priority
- `projectId` (string): Project name or ID
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `sla` (string): New deadline
- `status` (string): New status: open, in_progress, blocked, review, done
- `tags` (array): Tags to attach. STRICT: only pass tags that already exist in this project (check karea_view_task first). Do NOT invent new tags unless the user explicitly asked for one — the API upserts by name and…
- `task` (string, required): Task name, visual ID (C1, T2), or UUID
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_close_task` (~218 tokens)

Mark a task as done: sets status to done and stamps the close time. Reports any unmet closing requisites first unless confirm is set. To close several tasks at once use karea_done.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `projectId` (string): Project name or ID
- `resolution` (string): How it was resolved
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `task` (string, required): Task name, visual ID, or UUID
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_delete_task` (~79 tokens)

Permanently delete a task and its history. Irreversible; requires confirm=true. To merely close a task instead, use karea_close_task.

Input parameters:

- `confirm` (boolean): Set true to confirm deletion
- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID, or UUID

### `karea_quick_task` (~219 tokens)

Log something you already finished as a done task (it shows up in Recap) and return it. Status is always done; relative-time params set when it happened. For in-progress work use karea_doing instead.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `description` (string, required): What you did
- `projectId` (string): Project name or ID
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `source` (string): Where it happened
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_doing` (~224 tokens)

Create a task you are working on right now (status: in_progress)

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `category` (string): Category name
- `description` (string, required): What you are doing
- `priority` (number): Priority 1-5 (1=critical)
- `projectId` (string): Project name or ID
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `sla` (string): Deadline: 2d, 5h, tomorrow, monday
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_view_task` (~162 tokens)

Return one task with all its details (status, priority, deadline, category, description, notes, requisites, links), located by visual ID, name or UUID. Pass includeContext=true to also inline the task's AI Context in the response — avoids a follow-up karea_get_context round-trip. Read-only.

Input parameters:

- `includeContext` (boolean): If true, inline the task's AI Context (cross-session working memory) in this response. Default false; when false, the response instead hints that Context exists and can be fetched with karea_get_cont…
- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_create_project` (~67 tokens)

Create a new Karea project owned by you and seed it with the default categories (Coding, Testing, Documenting, Reviewing). Returns the new project id. To add a category to an existing project, use karea_create_category instead.

Input parameters:

- `name` (string, required): Project name

### `karea_delete_project` (~57 tokens)

Permanently delete a project and everything inside it (tasks, categories, notes, history). Irreversible; requires confirm=true.

Input parameters:

- `confirm` (boolean): Set true to confirm deletion
- `name` (string, required): Project name

### `karea_create_category` (~60 tokens)

Create a new category (a task bucket) inside an existing project and return it. To create a whole project, use karea_create_project.

Input parameters:

- `name` (string, required): Category name
- `projectId` (string): Project name or ID

### `karea_delete_category` (~66 tokens)

Permanently delete a category AND every task inside it, including history. Irreversible; requires confirm=true. To delete a single task instead, use karea_delete_task.

Input parameters:

- `name` (string, required): Category name
- `projectId` (string): Project name or ID

### `karea_done` (~74 tokens)

Mark several tasks as done in one call, each given by visual ID or name; returns a per-task result. For a single task with closing-requisite checks, use karea_close_task.

Input parameters:

- `projectId` (string): Project name or ID
- `tasks` (array, required): Task names or visual IDs to close

### `karea_share_project` (~84 tokens)

Give another user access to a project by email at a chosen role (owner, editor, commenter or viewer). Records the share so that user can see and, per role, edit the project.

Input parameters:

- `email` (string, required): User email to share with
- `project` (string, required): Project name
- `role` (string): Role to assign (default: editor)

### `karea_ask` (~70 tokens)

Send a natural-language request to the Karea AI assistant, which may read or modify your tasks to carry it out, and return its reply. Consumes your monthly AI usage allowance.

Input parameters:

- `message` (string, required): Your message
- `projectId` (string): Project name or ID for context

### `karea_recap` (~67 tokens)

Return a summary of recent activity (tasks created, closed and updated) over a recent time window. Read-only; handy for standups and reviews.

Input parameters:

- `hours` (number): Hours to look back (default 24)
- `projectId` (string): Project name or ID

### `karea_get_markdown` (~113 tokens)

Read the markdown document attached to a task. This is the task's knowledge base — it contains investigation findings, technical and functional documentation, root cause analysis, solution design, implementation notes, and any other long-form content the task has accumulated. Always read this before working on a task to avoid duplicating past research.

Input parameters:

- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_set_markdown` (~307 tokens)

Write the markdown document for a task. Overwrites any existing content. Use this to persist: investigation findings and research, technical documentation (architecture, APIs, schemas), functional documentation (requirements, acceptance criteria, user flows), root cause analysis and debugging logs, solution design — planned or implemented, risks, trade-offs, and open questions. This is the single source of truth for everything learned about this task. Always append to existing content (read first with karea_get_markdown) rather than replacing it, unless restructuring.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `markdown` (string, required): The full markdown content to store on the task. Pass empty string to clear.
- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `task` (string, required): Task name, visual ID (C1, T2), or UUID
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_get_context` (~173 tokens)

Read the task's Context — titled entries of AI working memory that hold the FULL HISTORY of a task (not just its current state): what was tried, decided, discovered, and abandoned along the way. ALWAYS read this first when picking a task up so you inherit the journey instead of re-deriving it. Each entry shows who/when/how (user or mcp) it was created and last edited. When you learn something new, ADD to the relevant entry with karea_set_context — do not overwrite the history. Distinct from notes (human-readable updates) and the markdown doc (long-form documentation).

Input parameters:

- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_set_context` (~415 tokens)

Write a titled entry of the task's Context — the AI-facing cross-session working memory. Context tracks the FULL HISTORY of a task, not just its current state: what was tried, what worked, what failed, what was decided and why. Update incrementally so the journey is preserved (never overwrite the whole entry with "current status" — read first with karea_get_context, append/refine, then write back). Context is your DEFAULT save target: after every plan, finding, decision, or gotcha, persist it here proactively under titles like "Plan", "Findings", "Decisions", "Gotchas", "Attempted". Upserts by title: same title overwrites THAT entry only; other entries are untouched. Pass empty context to delete the entry. Use karea_add_note only for human-facing updates and karea_set_markdown for long-form docs — but keep Context up to date either way.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `context` (string, required): The full content for this entry. Pass empty string to delete the entry.
- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `task` (string, required): Task name, visual ID (C1, T2), or UUID
- `title` (string): Entry title (e.g. "Plan", "Findings", "Decisions"). Defaults to "General".
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_list_questions` (~79 tokens)

List open questions (unresolved decisions or blockers) in a project, newest first. Defaults to status open; pass status to include answered, cancelled or all. Read-only.

Input parameters:

- `projectId` (string): Project name or ID
- `status` (string): Filter by status: open, answered, cancelled, all (default: all)

### `karea_create_question` (~101 tokens)

Create an open question (a decision or blocker to resolve) in a project, optionally linked to tasks, and return it with its short ID (e.g. KAQ3).

Input parameters:

- `markdown` (string): Markdown body with additional context
- `projectId` (string): Project name or ID
- `question` (string, required): The question text
- `taskIds` (array): Task IDs to link (visual IDs like KA12 or UUIDs)

### `karea_answer_question` (~67 tokens)

Answer an open question, located by short ID or text match: sets its answer and flips its status to answered. Returns the updated question.

Input parameters:

- `answer` (string, required): The answer
- `questionId` (string, required): Question UUID or short ID (e.g. KAQ3)

### `karea_edit_question` (~139 tokens)

Edit an open question: change its text, status (open, answered or cancelled), answer, or linked tasks. Only the fields you pass change. Returns the updated question.

Input parameters:

- `answer` (string): Set or update the answer
- `markdown` (string): Update markdown body
- `question` (string): Update the question text
- `questionId` (string, required): Question UUID or short ID (e.g. KAQ3)
- `status` (string): Change status: open, answered, cancelled
- `taskIdsAdd` (array): Task IDs to link
- `taskIdsRemove` (array): Task IDs to unlink

### `karea_delete_question` (~61 tokens)

Permanently delete an open question. Irreversible. To keep it but mark it resolved, set its status to cancelled via karea_edit_question instead.

Input parameters:

- `questionId` (string, required): Question UUID or short ID (e.g. KAQ3)

### `karea_list_resources` (~111 tokens)

List resources (text notes & files). With a projectId it returns every resource belonging to that project - whether assigned to it directly, linked to one of its tasks, or filed under a folder named after the project (e.g. knowledge-base docs). Omit projectId to list all your resources, including unfiled ones.

Input parameters:

- `projectId` (string): Project name or ID. Omit to list ALL your resources (including unfiled / knowledge-base items not tied to any task).

### `karea_get_resource` (~37 tokens)

Return a text resource with its full content and metadata, by ID. Read-only.

Input parameters:

- `resourceId` (string, required): Resource UUID

### `karea_create_resource` (~88 tokens)

Create a text resource (a note or document) in a project or folder and return it with its ID. To attach an existing resource to a task, use karea_link_resource_to_task.

Input parameters:

- `content` (string, required): Text content
- `folder` (string): Folder path
- `name` (string, required): Resource name
- `projectId` (string): Project name or ID

### `karea_update_resource` (~78 tokens)

Overwrite a text resource content and/or metadata, by ID, and return the updated resource. Replaces the existing content rather than appending.

Input parameters:

- `content` (string): New text content
- `folder` (string): Move to folder
- `name` (string): New name
- `resourceId` (string, required): Resource UUID

### `karea_delete_resource` (~54 tokens)

Permanently delete a resource (text or file) by ID. Irreversible. To only detach it from a task, use karea_unlink_resource_from_task.

Input parameters:

- `resourceId` (string, required): Resource UUID

### `karea_upload_resource` (~103 tokens)

Upload a binary file as a resource (base64-encoded)

Input parameters:

- `data` (string, required): Base64-encoded file content
- `folder` (string): Folder path to organize the resource
- `mimeType` (string): MIME type (e.g. application/pdf). Auto-detected if omitted.
- `name` (string, required): File name with extension (e.g. report.pdf)
- `taskId` (string): Task UUID to link the resource to

### `karea_link_resource_to_task` (~121 tokens)

Link an existing resource (text or file) to a task. The resource and task must belong to the same user/project scope. Use this to attach release notes, design docs, references, etc. to one or more tasks. To link a resource to multiple tasks, call this once per task.

Input parameters:

- `projectId` (string): Project name or ID (helps resolve visual IDs)
- `resourceId` (string, required): Resource UUID
- `task` (string, required): Task name, visual ID (KA123, KPL77), or UUID

### `karea_unlink_resource_from_task` (~78 tokens)

Remove the link between a resource and a task. Does not delete either side.

Input parameters:

- `projectId` (string): Project name or ID (helps resolve visual IDs)
- `resourceId` (string, required): Resource UUID
- `task` (string, required): Task name, visual ID (KA123, KPL77), or UUID

### `karea_list_notes` (~61 tokens)

List the notes (human-readable updates) on a task, newest first. Read-only.

Input parameters:

- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_link_session` (~211 tokens)

Link your current AI coding session (Claude Code, OpenCode, Codex, Cursor, Aider) to a Karea task so the user can see the session history for that task and copy a command to resume the session later. Call this once per task you're working on. For Claude Code, pass sessionId as the CLI session id; for OpenCode use its session id; etc.

Input parameters:

- `label` (string): Short human label for the session (e.g. "Feature draft", "Bug repro")
- `projectId` (string): Project name or ID (helps resolve visual IDs)
- `provider` (string, required): AI provider that owns the session
- `sessionId` (string, required): Provider session ID (used to resume). Claude Code: the id from `claude --resume`. OpenCode: the id from `opencode --session`. Codex: `codex resume`.
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_list_sessions` (~73 tokens)

List AI coding sessions linked to a task (provider, sessionId, label, last active, resume command). Read-only.

Input parameters:

- `projectId` (string): Project name or ID (helps resolve visual IDs)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_unlink_session` (~95 tokens)

Remove a previously-linked AI session from a task. Use the row ID from karea_list_sessions or karea_link_session.

Input parameters:

- `projectId` (string): Project name or ID (helps resolve visual IDs)
- `sessionRowId` (string, required): Row ID of the linked session (from karea_list_sessions)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_add_note` (~249 tokens)

Add a note to a task. Notes are human-readable updates/observations (the user reads them). For private AI working memory that persists across sessions, use karea_set_context instead.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `content` (string, required): Note content. Markdown is supported (lists, **bold**, `code`, links) - use it when it improves readability; plain text is also fine.
- `projectId` (string): Project name or ID
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `task` (string, required): Task name, visual ID (C1, T2), or UUID
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_edit_note` (~247 tokens)

Change the text of an existing note on a task, by note ID, and return the updated note.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `content` (string, required): Updated note content. Markdown is supported (lists, **bold**, `code`, links); plain text is also fine.
- `noteId` (string, required): Note UUID (from karea_list_notes)
- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `task` (string, required): Task name, visual ID (C1, T2), or UUID
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_delete_note` (~82 tokens)

Permanently delete a note from a task, by note ID. Irreversible.

Input parameters:

- `noteId` (string, required): Note UUID (from karea_list_notes)
- `projectId` (string): Project name or ID (needed for visual ID lookup)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_create_subtask` (~508 tokens)

Create a subtask under a parent task. Accepts the parent by visual ID (e.g. KPL77), name, or UUID. Supports the same params as karea_create_task.

Input parameters:

- `aiSessionId` (string): Optional: your current AI CLI session ID. When paired with toolType, atomically links this session to the affected task (equivalent to calling karea_link_session, but saves the round-trip). For Claud…
- `category` (string): Category name (defaults to the parent's category if omitted)
- `closingRequisites` (array): Requirements that must be met before closing. Keep each one short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Tests pass in CI", "PR approved"). Do NOT write paragraphs.
- `description` (string): Subtask description. Rendered as Markdown - use `**bold**`, lists, `code`, links, etc. Keep it short.
- `jiraIssueKey` (string): JIRA issue key to link (e.g. PROJ-123). Issue must exist in JIRA.
- `markdown` (string): Long-form markdown content — investigation findings, technical/functional docs, solution design, root cause analysis.
- `parent` (string, required): Parent task name, visual ID (KPL77, C1), or UUID
- `priority` (number): Priority 1-5 (1=critical)
- `projectId` (string): Project name or ID (needed if parent is a visual ID)
- `sessionLabel` (string): Optional short label for the linked session (e.g. "Feature draft").
- `sla` (string): Deadline: 2d, 5h, tomorrow, monday
- `source` (string): Where this subtask came from
- `tags` (array): Tags to attach. STRICT: only pass tags that already exist in this project (verify with karea_view_task or the project list). Do NOT invent new tags unless the user explicitly asked for one — a typo o…
- `title` (string, required): Subtask title
- `toolType` (string): Optional: your AI provider ("claude-code" / "opencode" / "codex" / "cursor" / "aider" / "other"). Required when aiSessionId is supplied.

### `karea_list_subtasks` (~75 tokens)

List subtasks of a parent task. Accepts the parent by visual ID, name, or UUID.

Input parameters:

- `parent` (string, required): Parent task name, visual ID (KPL77, C1), or UUID
- `projectId` (string): Project name or ID (needed if parent is a visual ID)

### `karea_add_requisite` (~116 tokens)

Add a closing requisite (a checklist item that must be completed before the task may be closed) to a task, and return it.

Input parameters:

- `description` (string, required): What must be done before closing. Keep it short and concrete - 1 short sentence, ideally under ~120 chars (e.g. "Deploy verified on staging"). Do NOT write a paragraph.
- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_toggle_requisite` (~100 tokens)

Mark a closing requisite complete or incomplete, by ID. This affects whether karea_close_task warns about unmet requisites.

Input parameters:

- `completed` (boolean, required): true to complete, false to uncomplete
- `projectId` (string): Project name or ID
- `requisiteId` (string, required): Requisite UUID (from karea_view_task)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_delete_requisite` (~78 tokens)

Permanently delete a closing requisite from a task, by ID. Irreversible.

Input parameters:

- `projectId` (string): Project name or ID
- `requisiteId` (string, required): Requisite UUID (from karea_view_task)
- `task` (string, required): Task name, visual ID (C1, T2), or UUID

### `karea_get_jira_link` (~61 tokens)

Return the linked JIRA issue (key and URL) for a task, if one exists. Read-only.

Input parameters:

- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID, or UUID

### `karea_link_jira` (~80 tokens)

Link a Karea task to a JIRA issue by issue key (e.g. PROJ-123)

Input parameters:

- `issueKey` (string, required): JIRA issue key (e.g. PROJ-123)
- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID, or UUID

### `karea_unlink_jira` (~50 tokens)

Remove the JIRA link from a Karea task

Input parameters:

- `projectId` (string): Project name or ID
- `task` (string, required): Task name, visual ID, or UUID

## Diagnostics

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

## Score history

- 2026-08-03: 67
- 2026-08-02: 67
- 2026-08-01: 19
- 2026-07-31: 26
- 2026-07-30: 24
- 2026-07-28: 44
- 2026-07-27: 24

## Links

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