Perforce P4 MCP Server
MCP-сервер Perforce для P4: файлы, списки изменений, шелфы, ревью и стримы доступны агенту, запись можно отключить флагом.
- 126 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Без флага `--readonly` агент меняет файлы и списки изменений в хранилище по правам пользователя P4.
- В конфигурации лежат учетные данные P4, а HTTP-режим не имеет аутентификации.
Установка
- Работает в
Ручная установка
uvx p4mcp-serverЗапускает сервер без установки; флаги вроде `--readonly` добавляют в аргументы клиента.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Без флага `--readonly` агент меняет файлы и списки изменений в хранилище по правам пользователя P4.
- В конфигурации лежат учетные данные P4, а HTTP-режим не имеет аутентификации.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Perforce P4 MCP Server соединяет ИИ-ассистента с системой контроля версий Perforce P4 через FastMCP и прямые привязки P4 Python. Агент читает и меняет файлы, списки изменений, шелфы, рабочие пространства, задания, ревью и стримы. Для P4 Code Review есть поиск ревью, голосование, смена состояний, комментарии и участники. Флаг `--readonly` оставляет только чтение. Удаление и `obliterate` просят подтверждение PROCEED или CANCEL. Набор инструментов сужают флагом `--toolsets`, а администратор P4 ограничивает их по группам свойствами `mcp.toolset.*`. Если задан `P4DAM_API_KEY`, добавляются инструменты P4 DAM: поиск ассетов, метаданные, теги и проекты.
Для кого. Разработчикам игр и студиям на Perforce, которые хотят работать со списками изменений и ревью через Claude Code или Cursor.
Подходит, если
- Агент собирает описание списка изменений по файлам рабочего пространства.
- Ревью в P4 Code Review разбирают и голосуют по ним из диалога.
- Администратор выдает разработчикам только чтение, а ревьюерам запись в ревью.
- Ассеты P4 DAM ищут по метаданным и тегам.
Не подходит, если
- Репозиторий на Git: для него есть отдельные MCP-серверы GitHub и Git.
- Подключение без учетной записи P4: нужны сервер, пользователь и билет или пароль.
- Запись в хранилище нежелательна, а флаг `--readonly` не задан.
Пример запроса к агенту
Покажи мои открытые списки изменений в P4 и по файлам вокруг `//depot/game` составь описание следующего.MCP
- Транспорт
- stdio, http
- Авторизация
- ключ необязателен
Переменные окружения
P4PORTобязательная- Адрес сервера P4, например `ssl:perforce.example.com:1666`.
P4USERобязательная- Имя пользователя P4.
P4CLIENT- Рабочее пространство P4.
P4PASSWDсекрет- Билет или пароль P4, если вход не идет через `.p4tickets`.
P4DAM_API_KEYсекрет- Ключ P4 DAM; без него инструменты P4 DAM не регистрируются.
Ограничения
Поддержка уровня Community. Проверялась работа с P4 Server 2026.1, более ранние версии не тестировались. Нужны доступ к серверу P4 и действующий вход по билету или паролю. Транспорт HTTP не имеет аутентификации: по умолчанию он слушает `127.0.0.1`, а `--host 0.0.0.0` открывайте только в доверенной сети. Анонимная статистика включается флагом `--allow-usage`, он стоит в примерах README: уберите его, если статистика не нужна.
Как отключить. Удалите запись `perforce-p4-mcp` из конфигурации MCP-клиента. Если запускали Docker или HTTP-сервер, остановите контейнер и удалите билет `.p4tickets`, который монтировали.
Частые вопросы
Как запустить без установки?
Командой `uvx p4mcp-server`. Для автономных сред в релизах лежат готовые бинарные файлы для macOS, Windows и Linux.
Как запретить запись?
Добавьте `--readonly` в аргументы. Централизованно запись выключает администратор: `p4 property -a -n mcp.toolsets.write -v false`.
Какие переменные задавать?
`P4PORT`, `P4USER` и при необходимости `P4CLIENT`. Для P4 DAM нужен `P4DAM_API_KEY`, без него эти инструменты не регистрируются.
Можно ли ограничить инструменты по группам?
Да. Свойства `mcp.toolset.<имя>.enabled`, `.write` и `.tools` задают доступ для группы P4, а `mcp.toolsets.allowed` оставляет только перечисленные наборы.
Как подключить удаленно?
Запустите сервер с `--transport http --host 0.0.0.0 --port 8000` на доверенной машине и укажите клиенту адрес `http://<хост>:8000/mcp`. Аутентификации у HTTP нет.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер для управления файрволом pfSense через REST API: 332 инструмента, подтверждение опасных операций и откатная ревизия
Azure DevOps MCP от Tiberriver256
Azure DevOps MCP by Tiberriver256
MCP-сервер сообщества для задач, кода и сборок Azure DevOps; поддерживает вход по PAT в Azure DevOps Server внутри вашей сети
MCPM
mcpm
Менеджер пакетов и реестр MCP для всех платформ и клиентов: ищет, добавляет и настраивает MCP-серверы, запоминает источник и обновляет
Официальный MCP-сервер GitHub: код, issues, пул-реквесты, Actions и алерты безопасности прямо из агента
MCP-сервер дает агенту общую с человеком консоль PowerShell 7: команды видны в окне, пароли и коды MFA вводят вручную.
Удаленный MCP Puter дает агенту файлы, сайты на puter.site, воркеры и хранилище ключей из облачного аккаунта.
Коротко о README
Сервер работает по stdio, HTTP и в Docker. Конфигурация клиентов описана для Claude Code, Cursor и других, а права на стороне P4 действуют поверх клиентских флагов и перекрывают их.