perforce avatar

P4plan Mcp

perforce/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 tools

Public 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*secret

JWT bearer token for the P4 Plan GraphQL API. Forwarded as Authorization on every tool call.

P4PLAN_API_URL

URL of the P4 Plan GraphQL API (default: http://localhost:4000).

P4PLAN_ALLOW_SELF_SIGNED_CERTS

Set to 'true' to accept self-signed TLS certificates from the GraphQL API. Default: false.

P4PLAN_READONLY

Set to 'true' to expose only the tools that read (same as the --readonly argument). Default: false.

P4PLAN_UPLOAD_DIRS

Folders upload_attachment may read files from, besides the workspace folders the MCP client shares. Separate several with ':' (';' on Windows).

Readme

P4 Plan MCP Server

Support License

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).


View the full README on GitHub

Details

Repository
github.com/perforce/p4plan-mcp
Package
@perforce/p4plan-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from perforce