MCP Perforce Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Enable debug logging. Set to 'mcp:*' for debug output. | |
| P4CONFIG | No | The name of the Perforce configuration file to use. | .p4config |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| p4_addC | Add files to Perforce |
| p4_editC | Open files for edit in Perforce |
| p4_deleteB | Mark files for deletion in Perforce |
| p4_revertC | Revert files or changelist |
| p4_syncC | Sync files from the depot |
| p4_diffC | Show differences for files |
| p4_changelist_createB | Create a new changelist with a description |
| p4_changelist_submitC | Submit a changelist |
| p4_move_to_changelistB | Move files to a specific changelist |
| p4_statusB | Get current P4 workspace status and pending changes |
| p4_infoB | Show Perforce configuration info for current directory |
| mcp_perforce_versionA | Show MCP Perforce server version |
| p4_raw_commandA | FOR DEBUGGING: Executes a raw p4 command and returns stdout/stderr |
| p4_stream_listB | List all streams or streams matching a pattern |
| p4_stream_infoB | Get detailed information about a specific stream |
| p4_stream_switchC | Switch workspace to a different stream |
| p4_stream_createC | Create a new stream |
| p4_stream_editB | Edit stream specification |
| p4_stream_graphC | Show stream hierarchy graph |
| p4_client_listB | List all clients/workspaces for the current user |
| p4_client_infoA | Get detailed information about a specific client/workspace |
| p4_client_createB | Create a new client/workspace |
| p4_client_editB | Edit an existing client/workspace specification |
| p4_client_deleteB | Delete a client/workspace |
| p4_client_switchC | Switch to a different client/workspace |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Each tool targets a distinct resource and action: file operations (add/edit/delete/revert/sync/diff) are clearly separate from changelist, client, and stream operations. Even similar-sounding tools like p4_info and p4_status have distinct purposes (config vs workspace status).
The dominant pattern is p4_<resource>_<action> (e.g., p4_stream_list, p4_client_create) or p4_<verb> for file ops (p4_add, p4_edit). The only outlier is mcp_perforce_version, which uses a different prefix and breaks the p4_ convention.
At 25 tools, the set is large but each tool serves a specific need for Perforce workflows. The count is at the boundary of 'heavy' but is justified by the breadth of Perforce features (files, changelists, clients, streams).
The core CRUD and lifecycle operations for files, changelists, clients, and streams are well covered. Minor gaps exist, such as no stream_delete or changelist_edit, but these can be worked around with p4_raw_command.