karea-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAREA_URL | No | The URL of the Karea instance. | https://karea.app |
| KAREA_API_KEY | Yes | Your Karea API key. Get it at https://karea.app/dashboard/settings/api-keys. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| karea_list_projectsA | List all Karea projects with their IDs |
| karea_list_tasksA | 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". |
| karea_create_taskA | 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. |
| karea_edit_taskA | 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. |
| karea_close_taskA | 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. |
| karea_delete_taskA | Permanently delete a task and its history. Irreversible; requires confirm=true. To merely close a task instead, use karea_close_task. |
| karea_quick_taskA | 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. |
| karea_doingB | Create a task you are working on right now (status: in_progress) |
| karea_view_taskA | 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. |
| karea_create_projectA | 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. |
| karea_delete_projectA | Permanently delete a project and everything inside it (tasks, categories, notes, history). Irreversible; requires confirm=true. |
| karea_create_categoryA | Create a new category (a task bucket) inside an existing project and return it. To create a whole project, use karea_create_project. |
| karea_delete_categoryA | 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. |
| karea_doneA | 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. |
| karea_share_projectB | 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. |
| karea_askA | 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. |
| karea_recapA | Return a summary of recent activity (tasks created, closed and updated) over a recent time window. Read-only; handy for standups and reviews. |
| karea_get_markdownA | 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. |
| karea_set_markdownA | 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. |
| karea_get_contextA | 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). |
| karea_set_contextA | 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. |
| karea_list_questionsA | 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. |
| karea_create_questionA | 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). |
| karea_answer_questionA | Answer an open question, located by short ID or text match: sets its answer and flips its status to answered. Returns the updated question. |
| karea_edit_questionA | 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. |
| karea_delete_questionA | Permanently delete an open question. Irreversible. To keep it but mark it resolved, set its status to cancelled via karea_edit_question instead. |
| karea_list_resourcesA | 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. |
| karea_get_resourceA | Return a text resource with its full content and metadata, by ID. Read-only. |
| karea_create_resourceA | 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. |
| karea_update_resourceA | Overwrite a text resource content and/or metadata, by ID, and return the updated resource. Replaces the existing content rather than appending. |
| karea_delete_resourceA | Permanently delete a resource (text or file) by ID. Irreversible. To only detach it from a task, use karea_unlink_resource_from_task. |
| karea_upload_resourceB | Upload a binary file as a resource (base64-encoded) |
| karea_link_resource_to_taskA | 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. |
| karea_unlink_resource_from_taskA | Remove the link between a resource and a task. Does not delete either side. |
| karea_list_notesA | List the notes (human-readable updates) on a task, newest first. Read-only. |
| karea_link_sessionA | 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. |
| karea_list_sessionsA | List AI coding sessions linked to a task (provider, sessionId, label, last active, resume command). Read-only. |
| karea_unlink_sessionA | Remove a previously-linked AI session from a task. Use the row ID from karea_list_sessions or karea_link_session. |
| karea_add_noteA | 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. |
| karea_edit_noteA | Change the text of an existing note on a task, by note ID, and return the updated note. |
| karea_delete_noteA | Permanently delete a note from a task, by note ID. Irreversible. |
| karea_create_subtaskB | 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. |
| karea_list_subtasksB | List subtasks of a parent task. Accepts the parent by visual ID, name, or UUID. |
| karea_add_requisiteA | Add a closing requisite (a checklist item that must be completed before the task may be closed) to a task, and return it. |
| karea_toggle_requisiteA | Mark a closing requisite complete or incomplete, by ID. This affects whether karea_close_task warns about unmet requisites. |
| karea_delete_requisiteA | Permanently delete a closing requisite from a task, by ID. Irreversible. |
| karea_get_jira_linkA | Return the linked JIRA issue (key and URL) for a task, if one exists. Read-only. |
| karea_link_jiraB | Link a Karea task to a JIRA issue by issue key (e.g. PROJ-123) |
| karea_unlink_jiraB | Remove the JIRA link from a Karea task |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/starecz/karea-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server