Skip to content

P4 MCP Server 2026.3 - Result Limits, Bug Fixes & OpenTelemetry

Latest

Choose a tag to compare

@hjain-perforce hjain-perforce released this 30 Jun 14:34

What's New

Features

  • New result limits: fstat, opened, and streams queries now accept an optional max_results / limit parameter that maps to p4 -m N. This parameter lets callers cap result sets when querying large depots. Omitting the parameter preserves existing unbounded behavior.

Configuration

  • New connection-level limits: max_results and max_scan_rows. These configurations cap how many rows the P4 Server returns or scans per command.
    • max_results is enabled by default with a generous value, meaning protection is active immediately.
    • max_scan_rows is unset by default, governed by admin or group policy.

Bug fixes

  • Fixed list_jobs incorrectly rejecting submitted changelists with "Cannot update submitted changelist".
  • Fixed query_files (content/diff mode) returning a file body as a fragmented array instead of a single string. History mode now returns structured objects.
  • Fixed add_comment in modify_reviews crashing with 'str' object has no attribute 'get'.
  • Benign P4 messages such as "file(s) up-to-date" and "file not on client" are no longer reported as errors. They now return a success status with the message text in a new optional top-level warnings field. Genuine failures still return an error. AI agents calling the server no longer misread these benign outcomes as failures.

Internal

  • Certified P4 MCP Server against P4Python 2026.1.
  • Adopted OpenTelemetry instrumentation. Retired the Logstash transport and decommissioned the legacy ingest service.
  • Synced pyproject.toml and requirements.txt to direct dependencies only.
  • Centralized the package version in pyproject.toml as the single source of truth.
  • Merged the test-coverage skill into the run-tests skill and removed the standalone file.
  • Usage telemetry (when consent is given) is exported as OpenTelemetry spans to the shared Perforce gRPC endpoint. The previous NDJSON/Logstash upload has been removed.

Full Changelog: v2026.2.2955897...v2026.3.2996147