
Paca MCP Server: Setup for Claude Code, Cursor and Other Apps
Lets Claude, Cursor and other assistants manage tasks, sprints, docs and automations in your Paca project board.
Paca MCP is made by the Paca team. Paca is an open-source, self-hosted project board for Scrum teams. The server lets your assistant list and edit projects, tasks, sprints, documents, members, views and automations in your own Paca instance.
It runs on your computer and talks to your Paca server with an API key from your user settings. You need a running Paca instance first. You can also connect as a Paca agent, so the assistant acts under its own identity and can be pinned to one project.
The server lists every tool, and Paca itself decides what your key may do. Use a key for an account with limited roles if you want to cap the damage.
Good for
- Scrum teams that self-host Paca and want an assistant to triage and update the board
- Developers who want tasks, comments and docs updated without leaving the editor
- Project leads who manage sprints, roles and automations by chat
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install paca MCP
Claude Code
- 1
Copy this prompt.
Add the paca MCP server to Claude Code. Run this command: claude mcp add paca -e PACA_API_KEY=<PACA_API_KEY> -- npx -y @paca-ai/paca-mcp Ask me for PACA_API_KEY and only put the values in that config, nowhere else. Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Built from the package data we hold. Not yet tested by us.
Tools
Lists your projects
Returns the projects you can open in Paca, a page at a time.
Try: “What projects do I have in Paca?”
Read ·
list_projectsShows one project
Returns the details of a single project.
Try: “Show me the details of the Website project.”
Read ·
get_projectCreates a project
Starts a new project in your Paca workspace.
Try: “Create a project called Mobile App.”
Write ·
create_projectEdits a project
Changes the name or settings of an existing project.
Try: “Rename the Mobile App project to Mobile v2.”
Write ·
update_projectDeletes a project
Removes a whole project from Paca.
Try: “Delete the old Prototype project.”
Delete ·
delete_projectLists tasks, with filters
Returns the tasks in a project, and you can filter them.
Try: “Show open tasks assigned to me in Website.”
Read ·
list_tasksShows one task in full
Returns everything the task page shows: fields, subtasks, attachments and activity.
Try: “Open task 42 and summarize the history.”
Read ·
get_taskFinds a task by its number
Fetches a task by the number it carries inside its project, with the same detail as get_task.
Try: “Get task number 118 in Website.”
Read ·
get_task_by_numberCreates a task
Adds a new task to a project.
Try: “Add a task "Fix login redirect" to the current sprint.”
Write ·
create_taskEdits a task
Changes a task's title, status, assignee, sprint or other fields.
Try: “Move task 42 to In Review.”
Write ·
update_taskDeletes a task
Removes a task from the project.
Try: “Delete task 77, it is a duplicate.”
Delete ·
delete_taskLists sprints
Returns the sprints in a project, a page at a time.
Try: “List the sprints in Website.”
Read ·
list_sprintsShows one sprint
Returns the details of one sprint.
Try: “Show me the current sprint.”
Read ·
get_sprintCreates a sprint
Adds a new sprint to a project.
Try: “Create a two-week sprint starting Monday.”
Write ·
create_sprintEdits a sprint
Changes the name, goal or dates of a sprint.
Try: “Move the sprint end date to Friday.”
Write ·
update_sprintDeletes a sprint
Removes a sprint from the project.
Try: “Delete the empty Sprint 9.”
Delete ·
delete_sprintMarks a sprint finished
Closes a sprint and marks it completed.
Try: “Complete Sprint 8.”
Write ·
complete_sprintLists documents in a folder
Shows one folder of a project's documentation: subfolders first, then documents.
Try: “What docs are in the Architecture folder?”
Read ·
list_docsReads a document
Returns a document as Markdown, found by its path or its id.
Try: “Read the Architecture/API Design doc.”
Read ·
read_docCreates or updates a document
Writes a document at a path, creating any missing folders. It replaces the content of an existing document.
Try: “Write a release-notes doc under Releases/1.4.”
Write ·
write_docDeletes a document or folder
Removes the document or folder at a path.
Try: “Delete the Drafts folder.”
Delete ·
delete_docMoves or renames a document
Moves or renames a document or folder from one path to another.
Try: “Move API Design into the Archive folder.”
Write ·
move_docSearches documentation
Looks for a keyword in the titles and text of a project's docs. It is a plain match, not a smart search.
Try: “Search the docs for "rate limit".”
Read ·
search_docsSearches tasks
Looks for a keyword in task titles, numbers and descriptions.
Try: “Find tasks that mention "timeout".”
Read ·
search_tasksLists project members
Returns the members of a project, a page at a time.
Try: “Who is in the Website project?”
Read ·
list_project_membersAdds a member
Adds a person to a project.
Try: “Add Dana to Website as a developer.”
Write ·
add_project_memberShows what you may do
Returns the actions your account is allowed to do in a project.
Try: “What can I do in Website?”
Read ·
get_my_project_permissionsChanges a member's roles
Replaces the set of roles a member holds in a project.
Try: “Make Dana a project admin.”
Write ·
update_project_member_roleRemoves a member
Takes a person out of a project.
Try: “Remove Sam from Website.”
Delete ·
remove_project_memberLists roles
Returns the roles defined in a project, a page at a time.
Try: “What roles exist in Website?”
Read ·
list_project_rolesCreates a role
Adds a new role to a project.
Try: “Create a Reviewer role.”
Write ·
create_project_roleEdits a role
Changes an existing project role.
Try: “Rename the Reviewer role to QA.”
Write ·
update_project_roleDeletes a role
Removes a role from a project.
Try: “Delete the unused Guest role.”
Delete ·
delete_project_roleLists task types
Returns the task types of a project, such as bug or story.
Try: “What task types does Website have?”
Read ·
list_task_typesCreates a task type
Adds a new task type.
Try: “Add a task type called Spike.”
Write ·
create_task_typeEdits a task type
Changes an existing task type.
Try: “Rename the Story type to User story.”
Write ·
update_task_typeDeletes a task type
Removes a task type from the project.
Try: “Delete the Chore task type.”
Delete ·
delete_task_typeSets the default task type
Picks which task type new tasks get unless told otherwise.
Try: “Make Bug the default task type.”
Write ·
set_default_task_typeLists task statuses
Returns the statuses a task can have in this project.
Try: “List the statuses in Website.”
Read ·
list_task_statusesCreates a status
Adds a new status to the workflow.
Try: “Add a status called Blocked.”
Write ·
create_task_statusEdits a status
Changes an existing status.
Try: “Rename In Review to Code Review.”
Write ·
update_task_statusDeletes a status
Removes a status from the project.
Try: “Delete the Archived status.”
Delete ·
delete_task_statusSets the default status
Picks the status new tasks start in.
Try: “Make Backlog the default status.”
Write ·
set_default_task_statusLists views
Returns the board, backlog or timeline views of a project or sprint.
Try: “List the views for the current sprint.”
Read ·
list_viewsCreates a view
Adds a new view, including views supplied by a plugin.
Try: “Create a timeline view for Website.”
Write ·
create_viewReorders views
Changes the order in which views appear.
Try: “Put the board view first.”
Write ·
reorder_viewsShows one view
Returns the details of a single view.
Try: “Show me the backlog view settings.”
Read ·
get_viewEdits a view
Changes the settings of a view.
Try: “Rename the board view to Team board.”
Write ·
update_viewDeletes a view
Removes a view from the project.
Try: “Delete the old timeline view.”
Delete ·
delete_viewShows where tasks sit in a view
Returns the order and column of the tasks in a view.
Try: “Where do tasks sit on the sprint board?”
Read ·
list_task_positionsMoves many tasks in a view
Moves several tasks to new places in a view at once.
Try: “Move tasks 10 to 15 to Done.”
Write ·
bulk_move_tasksMoves one task in a view
Moves a single task to a new place in a view.
Try: “Move task 42 to the top of the backlog.”
Write ·
move_taskLists custom fields
Returns the custom fields defined for tasks in a project.
Try: “What custom fields do tasks have?”
Read ·
list_custom_fieldsCreates a custom field
Adds a new custom field to tasks.
Try: “Add a Customer field to tasks.”
Write ·
create_custom_fieldShows a custom field
Returns the definition of one custom field.
Try: “Show me the Customer field.”
Read ·
get_custom_fieldEdits a custom field
Changes a custom field definition.
Try: “Make the Customer field required.”
Write ·
update_custom_fieldDeletes a custom field
Removes a custom field from tasks.
Try: “Delete the Legacy ID field.”
Delete ·
delete_custom_fieldAttaches a local file to a task
Reads a file from the machine the server runs on and attaches it to a task.
Try: “Attach ./report.pdf to task 42.”
Write ·
upload_task_attachmentLists a task's attachments
Returns the files attached to a task, a page at a time.
Try: “What is attached to task 42?”
Read ·
list_task_attachmentsGets a download link
Returns a download address for an attachment.
Try: “Give me the link to the screenshot on task 42.”
Read ·
get_attachment_download_urlReads an attachment
Downloads an attachment and returns its contents, for text-based files.
Try: “Read the log file attached to task 42.”
Read ·
read_task_attachmentDeletes an attachment
Removes a file from a task.
Try: “Delete the old mockup from task 42.”
Delete ·
delete_task_attachmentShows a task's history
Returns comments and changes on a task, newest first, a page at a time.
Try: “Show the latest activity on task 42.”
Read ·
list_task_activitiesComments on a task
Adds a comment to a task, and an @username in it sends a notification.
Try: “Comment on task 42 that the fix is merged.”
Write ·
add_task_commentEdits a task comment
Changes the text of a comment on a task.
Try: “Fix the typo in my last comment on task 42.”
Write ·
update_task_commentDeletes a task comment
Removes a comment from a task.
Try: “Delete my last comment on task 42.”
Delete ·
delete_task_commentLists a task's links
Shows how a task relates to others: blocks, is blocked by, relates to, duplicates.
Try: “What blocks task 42?”
Read ·
list_task_linksLinks two tasks
Links two tasks as blocks, relates to or duplicates.
Try: “Mark task 42 as blocking task 50.”
Write ·
create_task_linkRemoves a task link
Removes a link between two tasks.
Try: “Remove the link between tasks 42 and 50.”
Delete ·
delete_task_linkLists or shows automations
Lists the automations in a project. With an id, it returns that automation's triggers, conditions, actions and connections.
Try: “Show the automations in Website.”
Read ·
get_automationCreates an automation
Creates an automation and can build its whole graph in one call. It starts as a draft and does nothing until activated.
Try: “Create an automation that assigns new bugs to Dana.”
Write ·
create_automationEdits an automation
Renames an automation, changes its status or edits its graph. Setting it active turns it on.
Try: “Activate the bug-triage automation.”
Write ·
update_automationDeletes an automation
Permanently deletes an automation.
Try: “Delete the bug-triage automation.”
Delete ·
delete_automationShows a document's history
Returns comments and system events on a document, newest first.
Try: “Show the latest comments on the API Design doc.”
Read ·
list_doc_activitiesComments on a document
Adds a comment to a document. An @username here does not send a notification.
Try: “Comment on API Design that section 2 needs examples.”
Write ·
add_doc_commentEdits a document comment
Changes the text of a comment on a document.
Try: “Edit my last comment on API Design.”
Write ·
update_doc_commentDeletes a document comment
Removes a comment from a document.
Try: “Delete my last comment on API Design.”
Delete ·
delete_doc_commentReads another conversation
Returns the transcript of another Paca conversation, for example one attached as context.
Try: “Read the attached conversation and summarize it.”
Read ·
read_conversationLists page comments
Lists comments pinned to page elements through the browser extension, across environments unless filtered.
Try: “List open page comments in Website.”
Read ·
list_annotationsShows one page comment
Returns one page comment with its element, reply thread and captured console and network errors.
Try: “Open page comment 12 and show its errors.”
Read ·
get_annotation
Read from the source code
Permissions
high risk · 4 things to watch
High risk
The assistant can read and change almost everything in your Paca workspace, including deleting projects, tasks and docs. Use an API key from an account whose Paca role allows only what you want it to do.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can delete projects, tasks and docs
delete_project, delete_task, delete_sprint, delete_doc and others remove data from Paca. Use a key for an account whose role cannot delete, and keep backups of your instance. npmjs.com
It can change roles and members
add_project_member, update_project_member_role and the role tools change who can do what in a project. Use a key from an account without admin rights. npmjs.com
It can turn on automations
create_automation starts as a draft, but update_automation can activate it so it runs on its own. Review what the assistant builds before activating. npmjs.com
It can upload local files
upload_task_attachment reads a file path on your computer and attaches it to a task. Check the path before approving. npmjs.com
Security advisories
No published security advisories for the MCP server as of Nov 1, 2026.
11 other advisories are about the wider paca project, not this MCP server. See them on GitHub
Technical details
| Turning on read-only | No read-only switch exists. The server lists all tools, and your Paca role decides which calls succeed, so a key held by a read-only member can only read. |
|---|---|
| Talks to | Your Paca instance at PACA_API_URL |
| Sign-in and keys | The API key is set in the PACA_API_KEY environment variable in your app config and sent to your Paca instance. |
Questions
Is the Paca MCP server official?
Yes. It is published by the Paca team under the @paca-ai scope and lives in the Paca repository.
Do I need my own Paca server?
Yes. The server talks to a running Paca instance, local or deployed, and Paca is self-hosted. Set the instance address in the install config.
Where do I get the API key?
Generate it in your Paca user settings. An agent has its own key from the agent setup page in the Paca UI, and regenerating a key invalidates the old one.
Can it run read-only?
Not with a switch. The server lists all tools and Paca decides each call, so an account with read-only roles gets "Permission denied" on writes. Use such an account's key.
Can it delete my data?
Yes. It has delete tools for projects, tasks, sprints, documents, attachments, roles, views and automations. Whether a call works depends on the role of the key's owner.
What is agent mode?
With PACA_AGENT_ID set, calls are made as a Paca agent using that agent's own key. Adding PACA_PROJECT_ID pins every call to one project, which the README recommends for a project agent.
Why do I see 80 tools, not more?
Three repository tools stay hidden unless a repository plugin is set in the environment. Plugins in your Paca instance can add more tools when the server starts.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
@paca-ai/paca-mcp- Registry
- npm
- Transport
- stdio
- Auth
- API key
- Version
- 0.19.2
- License
- Apache-2.0
- Last commit
- Oct 31, 2026
- Open issues
- 13
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 2Hide
- www.npmjs.com · npmjs.com
- github.com · github.com