2026.3.2996147pypi · p4mcp-server · latest release
Observed 2026-08-21T19:07:07.730Z using mcpSecurity-inventory. Protocol 2025-06-18.
| Tool | Category | Risk |
|---|---|---|
modify_changelistsCreate/delete changelists, update changelists and organize files/jobs (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Changelist modification action: create makes new changelist, update modifies description, submit commits changes, delete removes changelist, move_files reorganizes files between changelists",
"enum": [
"create",
"update",
"submit",
"delete",
"move_files"
],
"type": "string"
},
"changelist_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist ID - required for most actions except create",
"examples": [
"12345"
]
},
"description": {
"default": "",
"description": "Changelist description - required for create, optional for update",
"examples": [
"Fix bug in authentication module",
"Add new feature X"
],
"type": "string"
},
"file_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "File paths - required for move_files action",
"examples": [
[
"//depot/projectX/file1.txt"
]
]
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_filesAdd, edit, move, delete, revert, reconcile, resolve, and sync files (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "File modification action",
"enum": [
"add",
"edit",
"delete",
"move",
"revert",
"reconcile",
"resolve",
"sync"
],
"type": "string"
},
"file_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Full depot or client or local paths",
"examples": [
[
"//depot/projectX/file1.txt",
"//workspace_name/projectX/file2.txt"
]
]
},
"changelist": {
"default": "default",
"description": "Changelist ID or 'default'",
"examples": [
"default",
"12345"
],
"type": "string"
},
"source_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Source paths - required for move action",
"examples": [
[
"//depot/projectX/file1.txt"
]
]
},
"target_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Target paths - required for move action",
"examples": [
[
"//depot/projectX/file1_renamed.txt"
]
]
},
"mode": {
"default": "auto",
"description": "Resolve mode: auto(-am), safe(-as), force(-af), preview(-n), theirs(-at), yours(-ay)",
"enum": [
"auto",
"safe",
"force",
"preview",
"theirs",
"yours"
],
"type": "string"
},
"force": {
"default": false,
"description": "Force operation - use with caution",
"type": "boolean"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_jobsLink or unlink jobs (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Job modification action: link_job associates job with changelist, unlink_job removes job association",
"enum": [
"link_job",
"unlink_job"
],
"type": "string"
},
"changelist_id": {
"description": "Changelist ID - required for link_job/unlink_job",
"examples": [
"12345"
],
"type": "string"
},
"job_id": {
"description": "Job ID - required for link_job/unlink_job",
"examples": [
"job67890"
],
"type": "string"
}
},
"required": [
"action",
"changelist_id",
"job_id"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_reviewsCreate/update/delete reviews (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Review modification action. To delete/obliterate review, use 'obliterate' action which requires approval",
"enum": [
"create",
"refresh_projects",
"vote",
"transition",
"append_participants",
"add_comment",
"reply_comment",
"append_change",
"replace_with_change",
"join",
"archive_inactive",
"mark_comment_read",
"mark_comment_unread",
"mark_all_comments_read",
"mark_all_comments_unread",
"update_author",
"update_description",
"replace_participants",
"delete_participants",
"leave",
"obliterate"
],
"type": "string"
},
"review_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Review ID (required for most actions except create, archive_inactive)",
"examples": [
12345
]
},
"change_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist ID (required for create, append_change, replace_with_change)",
"examples": [
67890
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Review description (optional on create)",
"examples": [
"Implement feature X"
]
},
"reviewers": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of reviewers",
"examples": [
[
"alice",
"bob"
]
]
},
"required_reviewers": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of required reviewers",
"examples": [
[
"carol"
]
]
},
"reviewer_group_names": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of reviewer group names",
"examples": [
[
"Developers",
"QA"
]
]
},
"reviewer_groups_required": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of required reviewer groups",
"examples": [
[
"Architects"
]
]
},
"comment_file_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path for inline comment",
"examples": [
"//depot/file.txt"
]
},
"comment_left_line": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Left diff line number for inline comment",
"examples": [
40
]
},
"comment_right_line": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Right diff line number for inline comment",
"examples": [
42
]
},
"comment_version": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Review version for comment attachment",
"examples": [
1
]
},
"vote_value": {
"anyOf": [
{
"enum": [
"up",
"down",
"clear"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Vote value"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Review version (optional for vote)",
"examples": [
2
]
},
"transition": {
"anyOf": [
{
"enum": [
"needsRevision",
"needsReview",
"approved",
"committed",
"approved:commit",
"rejected",
"archived"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Transition target state"
},
"jobs": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Associated job IDs for transition",
"examples": [
[
"job000123",
"job000456"
]
]
},
"fix_status": {
"anyOf": [
{
"enum": [
"open",
"closed"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Job fix status when transitioning"
},
"cleanup": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Perform cleanup for approved:commit/committed transitions"
},
"participant_user_names": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of participant usernames",
"examples": [
[
"alice",
"bob"
]
]
},
"participant_users_required": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of required participant usernames",
"examples": [
[
"carol"
]
]
},
"participant_group_names": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of participant group names",
"examples": [
[
"dev-team"
]
]
},
"participant_groups_required": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of required participant groups",
"examples": [
[
"security-team"
]
]
},
"body": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comment body (required for add_comment, reply_comment)",
"examples": [
"Looks good."
]
},
"task_state": {
"anyOf": [
{
"enum": [
"open",
"comment"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Task state"
},
"notify": {
"anyOf": [
{
"enum": [
"immediate",
"delayed"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Notification mode"
},
"comment_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent comment ID (reply_comment, mark_comment_read/unread)",
"examples": [
987
]
},
"not_updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO date (YYYY-MM-DD) threshold for archive_inactive",
"examples": [
"2024-01-15"
]
},
"max_reviews": {
"default": 0,
"description": "Maximum number of inactive reviews to archive (0 = no limit)",
"type": "integer"
},
"new_author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "New author username (update_author)",
"examples": [
"dave"
]
},
"new_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "New review description (update_description)",
"examples": [
"Refined implementation details."
]
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_shelvesCreate/delete, update shelves and unshelve files (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Shelve modification action: shelve stores files to shelf, unshelve restores files from shelf, update modifies shelved files, delete removes shelf, unshelve_to_changelist restores to specific changelist",
"enum": [
"shelve",
"unshelve",
"update",
"delete",
"unshelve_to_changelist"
],
"type": "string"
},
"changelist_id": {
"description": "Changelist ID",
"examples": [
"12345"
],
"type": "string"
},
"file_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "File paths for shelve/unshelve/update/delete",
"examples": [
[
"//depot/projectX/file1.txt"
]
]
},
"target_changelist": {
"default": "default",
"description": "Target changelist for unshelve operations",
"examples": [
"default",
"54321"
],
"type": "string"
},
"force": {
"default": false,
"description": "Force operation - use with caution",
"type": "boolean"
}
},
"required": [
"action",
"changelist_id"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_streamsCreate/update/delete streams, edit/resolve/revert/shelve stream specs, copy/merge/integrate/populate between streams, switch workspace, create stream workspace (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Stream modification action: 'create'/'update'/'delete' a stream, 'edit_spec'/'resolve_spec'/'revert_spec'/'shelve_spec'/'unshelve_spec' for spec editing, 'copy'/'merge'/'integrate'/'populate' for propagation, 'switch' workspace stream, 'create_workspace' for a stream",
"enum": [
"create",
"update",
"delete",
"edit_spec",
"resolve_spec",
"revert_spec",
"shelve_spec",
"unshelve_spec",
"copy",
"merge",
"integrate",
"populate",
"switch",
"create_workspace"
],
"type": "string"
},
"stream_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream depot path (e.g. '//depot/main'). Also used as -S flag for propagation.",
"examples": [
"//depot/main",
"//depot/dev"
]
},
"stream_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream type (required for create): mainline, development, sparsedev, release, sparserel, task, virtual",
"examples": [
"mainline",
"development",
"release",
"task"
]
},
"parent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent stream (required for non-mainline create)",
"examples": [
"//depot/main"
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Short display name for the stream",
"examples": [
"Main",
"Dev Branch"
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream or workspace description",
"examples": [
"Main development stream",
"Feature branch for project X"
]
},
"options": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream options: 'allsubmit/ownersubmit unlocked/locked toparent/notoparent fromparent/nofromparent'",
"examples": [
"allsubmit unlocked toparent fromparent",
"ownersubmit locked notoparent nofromparent"
]
},
"parent_view": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Parent view treatment: 'inherit' or 'noinherit'",
"examples": [
"inherit",
"noinherit"
]
},
"paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream view paths (e.g. ['share ...', 'isolate dir/...'])",
"examples": [
[
"share ...",
"isolate dir/..."
]
]
},
"remapped": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Remapped paths",
"examples": [
[
"src/... new_src/..."
]
]
},
"ignored": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Ignored paths",
"examples": [
[
"build/...",
"tmp/..."
]
]
},
"changelist": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist for edit_spec, shelve_spec, unshelve_spec, or propagation, 'default' not allowed for edit_spec/shelve_spec/unshelve_spec",
"examples": [
"12345"
]
},
"resolve_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Resolve mode for resolve_spec: 'auto', 'accept_theirs', 'accept_yours'",
"examples": [
"auto",
"accept_theirs",
"accept_yours"
]
},
"target_changelist": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Target changelist for unshelve_spec",
"examples": [
"12345"
]
},
"parent_stream": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Override parent stream for propagation (-P flag)",
"examples": [
"//depot/main",
"//depot/release"
]
},
"branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Branch spec name for integrate/populate (-b flag)",
"examples": [
"my_branch_spec"
]
},
"file_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "File paths for propagation",
"examples": [
[
"//depot/dev/...",
"//depot/dev/src/file.txt"
]
]
},
"preview": {
"default": false,
"description": "Preview only, don't make changes (-n flag)",
"type": "boolean"
},
"force": {
"default": false,
"description": "Force operation",
"type": "boolean"
},
"reverse": {
"default": false,
"description": "Reverse direction (-r flag)",
"type": "boolean"
},
"quiet": {
"default": false,
"description": "Suppress informational messages (-q flag)",
"type": "boolean"
},
"max_files": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Limit number of files processed (-m flag)",
"examples": [
100,
500
]
},
"output_base": {
"default": false,
"description": "Show base revision with each scheduled resolve (-Ob flag for merge/integrate) or display list of files created (-o flag for populate)",
"type": "boolean"
},
"virtual": {
"default": false,
"description": "Copy using virtual stream (-v flag, copy only)",
"type": "boolean"
},
"schedule_branch_resolve": {
"default": false,
"description": "Schedule 'branch resolves' instead of branching new target files automatically (-Rb flag)",
"type": "boolean"
},
"integrate_around_deleted": {
"default": false,
"description": "Integrate around deleted revisions (-Di flag)",
"type": "boolean"
},
"skip_cherry_picked": {
"default": false,
"description": "Skip cherry-picked revisions already integrated (-Rs flag)",
"type": "boolean"
},
"source_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Source path for populate",
"examples": [
"//depot/main/..."
]
},
"target_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Target path for populate",
"examples": [
"//depot/dev/..."
]
},
"workspace": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace name for switch",
"examples": [
"my_workspace"
]
},
"workspace_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace name to create (create_workspace)",
"examples": [
"new_stream_workspace"
]
},
"root": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace root directory (create_workspace)",
"examples": [
"/home/user/perforce/workspace"
]
},
"host": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Host restriction (create_workspace)",
"examples": [
"workstation01"
]
},
"alt_roots": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Alternate root paths (create_workspace)",
"examples": [
[
"/home/user/alt_root",
"/mnt/shared/workspace"
]
]
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
modify_workspacesCreate/delete workspace, Update workspace specs, and switch active workspace (WRITE permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Workspace modification action: create makes new workspace, delete removes workspace, update modifies workspace spec, switch changes active workspace",
"enum": [
"create",
"delete",
"update",
"switch"
],
"type": "string"
},
"workspace_name": {
"description": "Workspace name",
"examples": [
"my_workspace"
],
"type": "string"
},
"workspace_root": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Root path of the workspace",
"examples": [
"/depot/workspace",
"C:\\workspace"
]
},
"workspace_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace description",
"examples": [
"Dev workspace for project X"
]
},
"workspace_options": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "noallwrite noclobber nocompress unlocked nomodtime normdir",
"description": "Workspace options",
"examples": [
"noallwrite clobber nocompress unlocked nomodtime normdir"
]
},
"workspace_line_end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "local",
"description": "Line ending style (local, unix, win, mac)",
"examples": [
"local",
"unix"
]
},
"workspace_view": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "View mappings in depot-to-client format",
"examples": [
[
"//depot/... //my_workspace/..."
]
]
}
},
"required": [
"action",
"workspace_name"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_changelistsGet changelist details and list changelists (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Changelist query action: get retrieves specific changelist details, list returns all changelists matching filters",
"enum": [
"get",
"list"
],
"type": "string"
},
"changelist_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist ID - required for get action",
"examples": [
"12345",
"default"
]
},
"workspace_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by workspace - for list action",
"examples": [
"my_workspace"
]
},
"user": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by user - for list action",
"examples": [
"alice"
]
},
"status": {
"anyOf": [
{
"enum": [
"pending",
"submitted"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by status - for list action"
},
"depot_path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by depot path - for list action",
"examples": [
"//depot/my_workspace/..."
]
},
"max_results": {
"anyOf": [
{
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of results to return. Bounds the 'list' action and also caps open files for get('default') via 'p4 opened -m N'. Omit for unbounded results."
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_filesGet file content, history, info, diff, annotations, search by name, grep by content (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "File query action, metadata includes extra information like optional attributes and file size",
"enum": [
"content",
"history",
"info",
"metadata",
"diff",
"annotations",
"search",
"grep"
],
"type": "string"
},
"file_path": {
"description": "Primary file path - required for all actions",
"examples": [
"//depot/projectX/file.txt",
"/local/path/file.txt"
],
"type": "string"
},
"file2": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Second file path - required for diff action",
"examples": [
"//depot/projectX/file2.txt"
]
},
"diff2": {
"default": true,
"description": "Use p4 diff2 for depot-to-depot diff, false for mixed diff",
"type": "boolean"
},
"max_results": {
"anyOf": [
{
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of results to return. Bounds history/search/grep and also caps fstat info/metadata via 'p4 fstat -m N'. Omit for unbounded info/metadata results."
},
"pattern": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Search or grep pattern - required for search and grep actions",
"examples": [
"*.py",
"TODO",
"class.*Handler"
]
},
"case_insensitive": {
"default": false,
"description": "Case-insensitive matching for grep action",
"type": "boolean"
}
},
"required": [
"action",
"file_path"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_jobsGet jobs from changelist and get job details (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Job query action: list_jobs returns jobs linked to changelist, get_job retrieves specific job details",
"enum": [
"list_jobs",
"get_job"
],
"type": "string"
},
"changelist_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist ID - required for list_jobs action",
"examples": [
"12345"
]
},
"job_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Job ID - required for get_job action",
"examples": [
"job67890"
]
},
"max_results": {
"default": 100,
"description": "Maximum number of results to return",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_reviewsGet review details and list reviews (READ permission).
Open review - state is 'approved but pending=true' or 'needsReview' or 'needsRevision'.
Closed review - state is 'approved but pending=false' or 'rejected' or 'archived'.Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Review query action: list all reviews, dashboard for current user, get specific review, transitions, files_readby, files, comments, activity",
"enum": [
"list",
"dashboard",
"get",
"transitions",
"files_readby",
"files",
"comments",
"activity"
],
"type": "string"
},
"review_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Review ID - required for get, transitions, files_readby, files, comments, activity actions",
"examples": [
12345,
67890
]
},
"fields": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of fields to return for list/get actions",
"examples": [
[
"id",
"description",
"author",
"state"
],
[
"id",
"author",
"state",
"participants",
"commits"
]
]
},
"comments_fields": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "id,body,user,time",
"description": "Comma-separated list of fields to return for comments action",
"examples": [
"id,body,user,time",
"id,user,time"
]
},
"up_voters": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "List of up voters for transitions action",
"examples": [
[
"alice",
"bob"
]
]
},
"from_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Starting version for files action",
"examples": [
1,
2
]
},
"to_version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Ending version for files action",
"examples": [
2,
3
]
},
"max_results": {
"default": 10,
"description": "Maximum number of results to return",
"type": "integer"
},
"after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Review ID to seek to for pagination (list action). Reviews up to and including this ID are excluded.",
"examples": [
"12344"
]
},
"after_updated": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Return reviews updated on the day before this date/time in seconds since epoch (list action). Mutually exclusive with 'after'.",
"examples": [
"1606233362"
]
},
"result_order": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Set to 'updated' to return most recently updated reviews first (list action)",
"examples": [
"updated"
]
},
"projects": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by project name(s) (list action)",
"examples": [
[
"myproject"
]
]
},
"state": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by review state(s) (list action). Valid: needsRevision, needsReview, approved, approved:isPending, approved:commit, approved:notPending, rejected, archived",
"examples": [
[
"needsReview"
]
]
},
"keywords": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Search keyword(s) to filter reviews (list action). Use with keywords_fields.",
"examples": [
"bugfix",
"12345"
]
},
"keywords_fields": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Fields to search keywords in (list action). Valid: changes, author, participants, hasReviewer, description, updated, projects, state, testStatus, pending, groups, id",
"examples": [
[
"description"
],
[
"author"
],
[
"changes"
]
]
},
"include_transitions": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Include allowed state transitions in get action response"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_serverGet server info and current user information (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Server query action: server_info returns P4 server metadata and version, current_user returns authenticated user details and permissions",
"enum": [
"server_info",
"current_user"
],
"type": "string"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_shelvesList shelves, get shelve diff and files (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Shelve query action: list returns all shelved changelists, diff shows shelved file differences, files lists files in shelved changelist",
"enum": [
"list",
"diff",
"files"
],
"type": "string"
},
"changelist_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist ID - required for diff and files actions",
"examples": [
"12345"
]
},
"user": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by user - for list action",
"examples": [
"alice"
]
},
"max_results": {
"default": 100,
"description": "Maximum number of results to return",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_streamsQuery streams: list, get spec, children/parent/graph, integration status, workspaces, validate files, check resolve, interchanges (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Stream query action: 'list' streams, 'get' stream spec, 'children'/'parent'/'graph' of a stream, 'integration_status' (p4 istat), 'get_workspace'/'list_workspaces', 'validate_file'/'validate_submit' against stream view, 'check_resolve' for pending spec conflicts, 'interchanges' between streams",
"enum": [
"list",
"get",
"children",
"parent",
"graph",
"integration_status",
"get_workspace",
"list_workspaces",
"validate_file",
"validate_submit",
"check_resolve",
"interchanges"
],
"type": "string"
},
"stream_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream depot path (e.g. '//depot/main'). Required for most actions.",
"examples": [
"//depot/main",
"//depot/dev"
]
},
"stream_path": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Stream path pattern(s) for 'list' (e.g. ['//depot/...'])",
"examples": [
[
"//depot/..."
]
]
},
"filter": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter expression string for 'list' (-F flag). Supports &, |, and parentheses. E.g. 'Parent=//Ace/MAIN&(Type=development|Type=release)'",
"examples": [
"Type=development",
"Parent=//depot/main&Type=release",
"Owner=alice|(Type=development&Parent=//depot/main)"
]
},
"fields": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Fields to return for 'list' (e.g. ['Stream', 'Owner', 'Name', 'Type'])",
"examples": [
[
"Stream",
"Owner",
"Name",
"Type"
]
]
},
"unloaded": {
"default": false,
"description": "Include unloaded streams/workspaces",
"type": "boolean"
},
"all_streams": {
"default": false,
"description": "Include virtual streams in 'list' results",
"type": "boolean"
},
"viewmatch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Single depot file path to filter streams whose views contain this path",
"examples": [
"//depot/main/src/file.txt"
]
},
"view_without_edit": {
"default": false,
"description": "View locked stream without opening for edit (-v flag)",
"type": "boolean"
},
"at_change": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist number for historical stream spec",
"examples": [
"12345"
]
},
"both_directions": {
"default": false,
"description": "Show integration status in both directions (-a flag for integration_status)",
"type": "boolean"
},
"force_refresh": {
"default": false,
"description": "Force istat to assume cache is stale and search for pending integrations (-c flag)",
"type": "boolean"
},
"workspace": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace name for get_workspace, validate_file, validate_submit",
"examples": [
"my_workspace"
]
},
"template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Template workspace for get_workspace",
"examples": [
"template_workspace"
]
},
"user": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter workspaces by user (list_workspaces)",
"examples": [
"alice",
"bob"
]
},
"file_paths": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "File paths for validate_file or interchanges",
"examples": [
[
"//depot/main/src/file.txt",
"//depot/dev/src/file.txt"
]
]
},
"changelist": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Changelist for validate_submit",
"examples": [
"12345"
]
},
"reverse": {
"default": false,
"description": "Reverse comparison direction (interchanges)",
"type": "boolean"
},
"long_output": {
"default": false,
"description": "Full changelist descriptions (interchanges)",
"type": "boolean"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Max changelists (interchanges)",
"examples": [
10,
50
]
},
"max_results": {
"anyOf": [
{
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of results to return. Bounds 'list' and 'list_workspaces' and also caps 'children' via 'p4 streams -m N'. Omit for unbounded results."
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
query_workspacesGet workspace details, list workspaces, check type and status (READ permission)Input schema{
"additionalProperties": false,
"properties": {
"action": {
"description": "Workspace query action: list returns all workspaces matching filters, get retrieves specific workspace spec, type identifies workspace category, status shows opened files and sync state",
"enum": [
"list",
"get",
"type",
"status"
],
"type": "string"
},
"workspace_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Workspace name - required for get, type, status actions",
"examples": [
"my_workspace"
]
},
"user": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by user - optional for list action",
"examples": [
"alice",
"bob"
]
},
"max_results": {
"default": 100,
"description": "Maximum number of results to return",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"required": [
"action"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — |
No completed comparison is available.
| Risk | Change | Subject |
|---|---|---|
| No material changes recorded. | ||
| Severity | Finding | Advisory |
|---|---|---|
| No confirmed vulnerability is published for this version. | ||
Artifact SHA-256: f1b05e8d3ce6acea3bfbda9828a14fc1dac009026f4b718c53859e4d978378b1
Scanner: mcp-proof-engine 0.1.0.