MCP性能服务器
](https://www.npmjs.com/package/mcp-perforce-server)  ](https://nodejs.org/)  
mcp-perforce-server 是Perforce的模型上下文协议服务器(p4)具有安全的默认值、结构化的JSON响应以及本机风格和MCP优化的工作流。
它专为需要Perforce访问的AI助手和IDE集成而设计,不依赖于脆弱的shell脚本。
它提供了什么
- 59个MCP工具,涵盖存储库检查、文件操作、更改列表、审查、作业、标签、流、分析和合规性。
- 双传输支持:stdio(IDE/CLI)和SSE(用于web客户端的HTTP服务器)。
- 默认运行时行为安全:
- P4_READONLY_MODE=true - P4_DISABLE_DELETE=true
- 工具表面的批处理输入,其中本地
p4支持多目标使用。 - MCP特定的复合助手,可减少常见查看和搜索工作流程的往返次数。
- 结构化响应
ok,result,可选error,可选warnings,以及configUsed. - MCP客户端看到下划线安全工具名称,例如
p4_changes. - 例如,来电也接受历史虚线名称
p4.changes.
突出显示的工作流
服务器在原始数据之上包含更高级别的帮助程序 p4 命令。
p4.review.bundle:待定的审核更改列表,其中包含可选的详细信息和审核者p4.change.inspect:describe+fixes+reviews+可选diff+可选文件历史记录p4.path.synccheck:两个仓库路径之间的漂移和同步状态分析p4.file.inspect:每个文件的元数据、历史记录、可选内容和可选责任p4.workspace.snapshot:工作区信息、状态、可选配置、打开的文件和最近的更改p4.search.inspect:使用可选的文件元数据和内容预览对搜索结果进行分组p4.review.prepare:将明确或发现的变更列表准备成可供审查的捆绑包
安装
npm install -g mcp-perforce-server要求:
- Node.js 18+
- Perforce CLI可用作
p4或p4.exe - 通过有效的Perforce环境
.p4config或MCPenv
快速开始
- 安装Perforce CLI并确保
p4正在打开PATH. - 在中配置Perforce凭据
.p4config或通过MCPenv. - 将服务器添加到MCP客户端。
- 在启用任何可写工具之前,请先在默认的安全配置文件中启动。
示例 .p4config:
P4PORT=ssl:perforce.example.com:1666
P4USER=your-username
P4CLIENT=your-workspace-name
P4PASSWD=your-password-or-ticket使用全局安装的服务器的MCP配置示例:
{
"mcpServers": {
"perforce": {
"command": "mcp-perforce-server"
}
}
}具有显式凭据的MCP配置示例:
{
"mcpServers": {
"perforce": {
"command": "mcp-perforce-server",
"env": {
"P4PORT": "ssl:perforce.example.com:1666",
"P4USER": "your-username",
"P4CLIENT": "your-workspace-name",
"P4PASSWD": "your-password-or-ticket",
"P4_READONLY_MODE": "true",
"P4_DISABLE_DELETE": "true"
}
}
}
}Windows本地仓库示例:
{
"mcpServers": {
"perforce": {
"command": "node",
"args": ["C:\\Tools\\git-projects\\mcp-perforce-server\\dist\\server.js"]
}
}
}运输方式
服务器支持两种传输模式:
标准传输(默认)
IDE和CLI集成的标准输入/输出传输。每个MCP客户端都会生成自己的服务器进程。
最适合:
- VS代码、光标、Claude桌面集成
- CLI工具和本地自动化
- 单用户工作流
- 进程隔离安全模型
# Default mode (no flag needed)
mcp-perforce-serverSSE传输(HTTP服务器)
服务器发送事件传输为基于web的客户端运行HTTP服务器。
最适合:
- Web仪表板和分析UI
- 团队协作工具
- 集中部署
- 多用户环境
- API集成
# Start SSE server
mcp-perforce-server --transport=sse
# With custom configuration
MCP_SSE_PORT=8080 MCP_SSE_ENABLE_AUTH=true mcp-perforce-server --transport=sseSSE配置:
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_SSE_PORT | 3000 | HTTP服务器端口 |
MCP_SSE_HOST | 0.0.0.0 | 服务器绑定地址 |
MCP_SSE_PATH | /mcp | SSE端点路径 |
MCP_SSE_CORS_ORIGIN | * | CORS允许的来源 |
MCP_SSE_ENABLE_AUTH | false | 启用令牌身份验证 |
MCP_SSE_AUTH_TOKEN | _(空)_ | 用于身份验证的承载令牌 |
SSE端点:
- 主营业务:
GET http://localhost:3000/mcp - 健康:
GET http://localhost:3000/health - 职位:
POST http://localhost:3000/mcp
生产SSE示例:
export MCP_SSE_ENABLE_AUTH=true
export MCP_SSE_AUTH_TOKEN="your-secret-token"
export MCP_SSE_CORS_ORIGIN="https://your-dashboard.com"
export P4_READONLY_MODE=true
mcp-perforce-server --transport=sse📘 有关完整的SSE部署指南,请参阅 SSE_SETUP_GUIDE.md
快速参考:
安全模型
默认运行时配置文件是保守的。
| 设置 | 默认值 | 效果 |
|---|---|---|
P4_READONLY_MODE | true | 块编写功能强大的工具。 |
P4_DISABLE_DELETE | true | 积木 p4.delete 即使在启用写入模式时也是如此。 |
可写工具包括:
p4.add,p4.edit,p4.delete,p4.revert,p4.syncp4.changelist.create,p4.changelist.update,p4.changelist.submit,p4.submitp4.resolve,p4.shelve,p4.unshelvep4.copy,p4.move,p4.integrate,p4.merge
刀具表面
主要类别:
- 存储库和工作空间检查
- 文件操作和差异化
- 变更清单和提交
- 合并、搁置和解析流
- 搜索和发现
- 审查和工作流程复合
- 用户、客户端、流、标签、作业和修复
- 合规性、审计和运营诊断
显著的本地奇偶校验改进:
- 命令的批处理样式输入,例如
sync,opened,filelog,annotate,grep,files,dirs,print,fstat,sizes,have,users,streams,jobs,以及fixes - 扩展了工具的本机标志覆盖范围,例如
sync,interchanges,fstat,files,dirs,streams,clients,labels,jobs,以及sizes - 通过以下方式支持面向工作区和仓库到仓库的差异化
p4.diff和p4.diff2
配置
大多数安装只需要一小部分变量。
| 变量 | 默认值 | 用途 |
|---|---|---|
P4_READONLY_MODE | true | 默认情况下,保持服务器只读。 |
P4_DISABLE_DELETE | true | 除非明确启用,否则禁止删除操作。 |
P4CONFIG | .p4config | 向上发现期间使用的配置文件名。 |
P4_PATH | p4 / p4.exe | Perforce CLI的自定义路径。 |
P4_PERFORMANCE_MODE | fast | 预设: fast, balanced, secure. |
P4_WORKFLOW_CONCURRENCY | 6 | 复合工具的最大并发子调用数。 |
P4_RESPONSE_CACHE | true | 启用读取响应缓存。 |
P4_RESPONSE_CACHE_TTL_MAP | unset | 按工具缓存TTL覆盖。 |
LOG_LEVEL | warn | 服务器日志级别。 |
穿孔连接变量:
P4PORTP4USERP4CLIENTP4PASSWDP4CHARSETP4COMMANDCHARSETP4LANGUAGE
有关完整的配置表和示例,请参阅:
发展
npm install
npm run build
npm test
npm run test:integration当前验证基线:
npm run buildnpm testnpm run test:integration
文档
- SSE传输设置: SSE_SETUP_GUIDE.md -HTTP/web部署的完整指南
- 工具目录和说明: 代理商.md
- 文档索引: docs/README.md
- 射孔设置: 性能设置.md
- MCP客户端配置示例: MCP_CONFIG_EXPAMPLES.md
- 发布工作流程: 发布.md
- 发行说明草稿: 发布_拒绝.md
许可证
麻省理工学院
