
P4plan Mcp
Connects Claude or other MCP clients to Perforce's P4 Plan project management system through its GraphQL API. You get 28 tools covering tasks, sprints, bugs, comments, and custom fields. The server runs stateless over stdio, forwarding your JWT token with each request. Authentication happens via environment variable, so you'll need a token from the P4 Plan API before connecting. Ships as an npm package you can run with npx, or pull the Docker image if you'd rather skip Node.js locally. Requires P4 Plan API version 2026.1.002 or later and Node 20+. Built by Perforce with MIT licensing and published to both npm and the MCP registry as io.github.perforce/p4plan-mcp.
- GitHub stars
- 4
- tools
- 31
- auth
- Secret needed
- transport
- STDIO
- env vars
- 5
- last updated
- Oct 22, 2026
Tools
31 toolsPublic tool metadata for what this MCP can expose to an agent.
list_projectsList all active projects the user is a member of
List all active projects the user is a member of
No parameter schema in public metadata yet.
get_projectGet project configuration including archivedStatus, backlog ID, and QA ID
Get project configuration including archivedStatus, backlog ID, and QA ID
No parameter schema in public metadata yet.
create_projectCreate a project and set up its team in one call
Create a project and set up its team in one call
No parameter schema in public metadata yet.
get_my_tasksGet tasks assigned to current user (todoList)
Get tasks assigned to current user (todoList)
No parameter schema in public metadata yet.
get_tasksGet detailed information for one or more items by ID (max 20)
Get detailed information for one or more items by ID (max 20)
No parameter schema in public metadata yet.
search_tasksSearch for items in a project section using P4 Plan Find queries
Search for items in a project section using P4 Plan Find queries
No parameter schema in public metadata yet.
create_itemCreate any item type
Create any item type
No parameter schema in public metadata yet.
update_itemUpdate any item (auto-detects type)
Update any item (auto-detects type)
No parameter schema in public metadata yet.
commit_to_sprintCommit a backlog task or bug to a sprint
Commit a backlog task or bug to a sprint
No parameter schema in public metadata yet.
uncommit_from_sprintRemove a task from a sprint (return to backlog)
Remove a task from a sprint (return to backlog)
No parameter schema in public metadata yet.
get_custom_columnsGet custom column definitions available in a project
Get custom column definitions available in a project
No parameter schema in public metadata yet.
create_custom_columnCreate a custom column (e.g. Time Spent) in a project section
Create a custom column (e.g. Time Spent) in a project section
No parameter schema in public metadata yet.
get_custom_fieldsGet custom field values set on a task
Get custom field values set on a task
No parameter schema in public metadata yet.
set_custom_fieldSet a custom field value on a task
Set a custom field value on a task
No parameter schema in public metadata yet.
get_workflowsGet workflow definitions and status IDs for a project
Get workflow definitions and status IDs for a project
No parameter schema in public metadata yet.
complete_taskMark a task as completed
Mark a task as completed
No parameter schema in public metadata yet.
start_taskMark a task as in progress
Mark a task as in progress
No parameter schema in public metadata yet.
get_commentsGet all comments on a task
Get all comments on a task
No parameter schema in public metadata yet.
post_commentPost a new comment on a task
Post a new comment on a task
No parameter schema in public metadata yet.
update_commentEdit an existing comment
Edit an existing comment
No parameter schema in public metadata yet.
delete_commentDelete a comment from a task
Delete a comment from a task
No parameter schema in public metadata yet.
get_attachmentsGet all attachments on a task
Get all attachments on a task
No parameter schema in public metadata yet.
download_attachmentDownload and return attachment file content
Download and return attachment file content
No parameter schema in public metadata yet.
upload_attachmentAttach a local file or text to a task
Attach a local file or text to a task
No parameter schema in public metadata yet.
delete_attachmentDelete an attachment from a task
Delete an attachment from a task
No parameter schema in public metadata yet.
set_cover_imageSet or unset the cover image for a task
Set or unset the cover image for a task
No parameter schema in public metadata yet.
link_itemsCreate internal or external links
Create internal or external links
No parameter schema in public metadata yet.
unlink_itemsRemove an internal or external link
Remove an internal or external link
No parameter schema in public metadata yet.
get_current_userGet current user information
Get current user information
No parameter schema in public metadata yet.
list_project_usersList users in a project
List users in a project
No parameter schema in public metadata yet.
read_skillRead a P4 Plan skill document at runtime
Read a P4 Plan skill document at runtime
No parameter schema in public metadata yet.
Sponsors
Configuration
P4PLAN_API_AUTH_TOKEN*secretJWT bearer token for the P4 Plan GraphQL API. Forwarded as Authorization on every tool call.
P4PLAN_API_URLURL of the P4 Plan GraphQL API (default: http://localhost:4000).
P4PLAN_ALLOW_SELF_SIGNED_CERTSSet to 'true' to accept self-signed TLS certificates from the GraphQL API. Default: false.
P4PLAN_READONLYSet to 'true' to expose only the tools that read (same as the --readonly argument). Default: false.
P4PLAN_UPLOAD_DIRSFolders upload_attachment may read files from, besides the workspace folders the MCP client shares. Separate several with ':' (';' on Windows).
Readme
P4 Plan MCP Server
MCP (Model Context Protocol) server for P4 Plan, enabling AI assistants like Claude and VS Code Copilot to interact with P4 Plan project management data.
Architecture · Prerequisites · Quick Start · Install · Client Configurations · Tools
Skills · Logging · Troubleshoot · Development · License
Architecture
This service acts as a stateless protocol adapter between MCP clients (AI assistants) and the P4 Plan GraphQL API, using stdio transport (stdin/stdout).
Details
- Repository
- github.com/perforce/p4plan-mcp
- Package
@perforce/p4plan-mcp- Transport
- STDIO
- Auth
- Required
- Registry
- MCP registry, active