关于 mp-review
mp-review 是面向开发者的 Mercado Pago 集成审查技能,将本地代码与安全检查结合,并可通过 MCP 获取质量标准及处理认证步骤。
主要功能
- 01发现 API、产品及旧版模式
- 02检查凭证、Webhook 与支付流程
- 03按官方质量标准核对代码
- 04提供支付 ID 时评估支付质量
- 05指导填写认证表单
适用场景
- 01发布前审查 Mercado Pago 结账流程
- 02查找支付与 Webhook 代码的安全缺口
- 03依据官方标准评估现有集成
MCP 相关
通过 MCP 工具获取官方质量清单、按 ID 评估支付,以及读取或提交认证表单。本地代码发现与安全检查无需 MCP。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mercadopago/ mercadopago-claude-marketplace --skill mp-review安装后在 Claude Code 中输入/mp-review确认已加载。
详细介绍
mp-review
此技能用于审计 Mercado Pago 集成。安全基线在本地评估。只有当 MCP 支持的审查范围进入相应步骤时,才会实时获取官方质量标准。
步骤 0 — 仅在 MCP 支持的审查步骤中连接
审查开始时不要检查 MCP 状态。先发现集成并运行所有请求的本地检查。
| 审查操作 | 是否需要 MCP? | 工具 |
|---|---|---|
安全基线(scope=security) | 否 | — |
| 代码发现与旧版检测 | 否 | — |
| 官方质量检查清单 | 是 | quality_checklist |
| 支付级质量评估 | 是 | quality_evaluation |
| 获取或提交认证表单 | 是 | form_homologation |
在 MCP 支持的操作开始前:
- 如果目标工具可调用,直接尝试调用。切勿仅为测试连接而调用
application_list。 - 如果工具不可用或返回身份验证错误,请调用
mcp__plugin_mercadopago_mcp__authenticate,并用开发者的语言显示 OAuth 链接。 - 提示开发者按住 Cmd 并单击(Mac)或按住 Ctrl 并单击(Windows/Linux),不要将 URL 复制到外部浏览器。
- 开发者返回后,直接重试目标工具。切勿索要回调 URL。
- 身份验证失败两次后,继续完成已完成的本地检查,并将 MCP 支持的部分标记为未验证。
步骤 1 — 发现集成
使用 Grep/Glob 查找:
- 导入
mercadopago的文件(任何 SDK)。 - 对
MP_ACCESS_TOKEN或硬编码的APP_USR-/TEST-字符串的引用。 - 端点模式:
/v1/payments、/checkout/preferences、/v1/orders、payment.create、preference.create、order.create、preapproval.create、disbursement。 - Webhook 处理程序(路径包含
webhook、notification、ipn)。
确定:
- 正在使用的 API:Payments API(
/v1/payments)还是 Orders API(/v1/orders)。两者可以共存。- 如果集成使用旧版 Instore API,则属于旧版路径。始终在实施报告中添加一条“需要关注”事项,并注明文件和行号,同时建议运行迁移命令:“运行
/mp-integrate migrate,自动迁移到 Orders API。” 不要将其视为阻断项(现有代码仍可运行),但要指出它是需要前瞻处理的技术债务。需要标记的旧版 Instore 模式:/mpmobile/instore/qr(QR Instore)/instore/qr/seller/collectors(QR Instore V2)/instore/orders/qr/seller/collectors(QR Dinámico)/point/integration-api/devices/{id}/payment-intents(Point)
- 如果集成使用
/v1/payments(在线):如果这是服务端银行卡支付(Checkout API / Marketplace),则将其标记为技术债务。在线场景下不要建议运行/mp-integrate migrate—— 此插件不涵盖这些产品的迁移。 - 例外 1:Checkout Pro 继续使用 preferences(Checkout Pro 不支持 Orders API)。不要将
/checkout/preferences标记为旧版。 - 例外 2:Bricks 正确使用
/v1/payments(在CardPayment令牌化后由服务端处理)。不要将同时包含CardPayment或onSubmit的文件中的/v1/payments调用标记为旧版。
- 如果集成使用旧版 Instore API,则属于旧版路径。始终在实施报告中添加一条“需要关注”事项,并注明文件和行号,同时建议运行迁移命令:“运行
- 正在使用的产品:Checkout Pro/API、Bricks、Subscriptions、Marketplace 等——根据端点模式和请求负载推断。
第 2 步——运行官方质量检查清单
如果 scope=security,请跳过此步骤。对于其他所有包含官方质量标准的范围,请在进行以下调用前立即应用 Step 0。
调用 mcp__plugin_mercadopago_mcp__quality_checklist。响应定义了:
- 必填字段——必须实现,才能达到 Mercado Pago 的质量标准。
- 最佳实践——建议的改进。
对于返回的每一项(不得概括或跳过):
- 使用
Grep/Read搜索代码库,查找该项的证据(字段、标头或行为)。 - 将每项标记为 已实现、缺失或部分实现,并附上一行说明理由(提供能证明判定结果的文件和行号)。
第 3 步——跨领域安全检查清单
这些项目不一定总是包含在 quality_checklist 中,但对于任何生产集成都属于强制检查。始终进行评估:
| # | 检查项 | 验证方法 |
|---|---|---|
| 1 | process.env / 等效方式中的访问令牌——绝不硬编码 | 搜索 .env* 文件和测试夹具之外的 APP_USR- / TEST- |
| 2 | .env 已加入 .gitignore,而 .env.example 未加入 | 查看 .gitignore |
| 3 | Webhook 处理程序会验证 x-signature(HMAC-SHA256) | 查看 mp-webhooks 技能——搜索 x-signature、x-request-id、createHmac |
| 4 | 对 back_url 和 notification_url 强制使用 HTTPS | 搜索 URL 构建代码中的 http:// |
| 5 | 重定向后在服务端验证支付状态 | 查找 back_url 后服务端对 /v1/payments/{id} 或 /v1/orders/{id} 的请求 |
| 6 | 创建支付/订单时发送幂等键 | 搜索 X-Idempotency-Key 或 SDK 等效项 |
| 7 | 为每个偏好设置/订单设置 external_reference | 搜索 external_reference |
| 8 | 测试用户凭据未提交到生产部署中 | 确认测试凭据从单独的环境文件或密钥库加载 |
| 9 | 全程未使用 sandbox_init_point | 搜索 sandbox_init_point——任何匹配项都应标记为错误;Mercado Pago 没有沙盒,该 URL 在所有环境中均无效 |
第 4 步——运行 quality_evaluation(兼容时)
mcp__plugin_mercadopago_mcp__quality_evaluation 需要真实的 payment_id。如果集成使用了 Payments API 并生成了支付 ID,请运行此检查。
仅在开发者提供 ID 后,才在进行此调用前立即应用 Step 0。
| 集成使用的 API | 操作 |
|---|---|
Payments API(/v1/payments) | 向开发者索取近期测试用的 payment_id,然后使用该 ID 调用 mcp__plugin_mercadopago_mcp__quality_evaluation。 |
| 仅使用 Orders API | 跳过——不兼容。请在报告中说明。 |
mcp__plugin_mercadopago_mcp__quality_evaluation(
payment_id="<recent_test_payment_id>"
)
如果开发者没有 payment_id,则跳过,并在报告中注明:"quality_evaluation: skipped — no payment_id provided."
第 4.5 步——认证表单(上线前的最后一步)
完成 quality_evaluation 后(或跳过该步骤时),向开发者提供认证表单:
“切换到生产凭据前,请填写官方认证检查清单。该清单用于认证您的集成,并为其启用生产环境。”
- 如果开发者接受,请在调用
mcp__plugin_mercadopago_mcp__form_homologation并传入action="get_form"、product_id(从检测到的产品中获取)、site_id(从检测到的国家/地区中获取)、lang、is_ca(Checkout API / Bricks 时为 true)之前立即应用 Step 0。 - 通过
AskUserQuestion向开发者展示每个步骤/问题,并收集回答。 - 所有问题都有答案后,使用收集到的
form_values调用该工具,并传入action="submit"。 - 成功后:祝贺开发者,并确认集成已通过认证。
如果开发者跳过:请在实施报告的“需要关注”部分注明:"Homologation form not submitted — required before production deployment."。
步骤 5 — 输出实施报告(最终步骤,必须执行)
完成步骤 1–4 后,始终将实施报告作为输出的最后一个区块。这是开发者保留的交付物——它总结已完成的工作、待处理事项和后续操作。请勿跳过,也不要用散文概述;请原样输出下面的结构化区块。
报告是开发者下一次会话的事实依据:它会准确告知已验证的内容、标记的问题以及下一项具体操作。没有它,审查就会显得没有结论,开发者也不知道是否可以发布。
输出格式
## Mercado Pago Integration Review
**Scope**: {full | security | webhooks | checkout | qr | subscriptions | marketplace | quality}
**API detected**: {Payments API | Orders API | both}
**Products detected**: {list}
**Files analyzed**: {list}
### CRITICAL
- {issues that block production or expose credentials}
### WARNINGS
- {issues that may cause incidents but do not block release}
### PASS
- {items correctly implemented}
### Quality Standards
{If `quality_checklist` ran: render every official item below. If it was not requested, write `Not requested for this scope.` If authentication failed, write `Not verified — MCP connection was unavailable.` Do not fabricate rows or scores.}
#### Required fields
| # | Field | Description | Status | Evidence |
|---|-------|-------------|--------|----------|
| 1 | … | … | Implemented / Missing / Partial | path:line |
#### Best practices
| # | Practice | Description | Status | Evidence |
|---|----------|-------------|--------|----------|
| 1 | … | … | Implemented / Missing / Partial | path:line |
### Security checklist (cross-cutting)
| # | Check | Status | Evidence |
|---|-------|--------|----------|
### Recommendations
- {actionable, ordered by impact}
**Summary**: {X/Y required fields implemented and Z/W best practices adopted, if verified; otherwise `Official quality: not requested/not verified`}. {S}/9 security checks pass.
{Offer `quality_evaluation` only for a compatible Payments API review where the developer requested MCP-backed quality analysis.}
---
## Implementation Report
### Verified
- [x] {item that passed — e.g., "Webhook handler validates x-signature with HMAC-SHA256"}
- [x] {next passing item}
### Needs attention
- [ ] {actionable item with file:line — e.g., "Add idempotency key to POST /v1/orders at api/orders.js:42"}
- [ ] {next pending item}
- [ ] {if legacy `/v1/payments` is detected — e.g., "Migrate POST /v1/payments to the Orders API (POST /v1/orders) at api/payments.js:42. The Payments API is being deprecated."}
### Blockers (must fix before production)
- [ ] {critical item — e.g., "Hardcoded APP_USR- token in config/mp.js:8 — move to env"}
### Next steps
1. {The single most impactful action the developer should take next}
2. {Follow-up actions in priority order}
3. Re-run `/mp-review` after fixes to confirm the report.
### Resources used
- Local: codebase inspection + cross-cutting security floor
- MCP: `quality_checklist` (include only if called, with date/time)
- MCP: `quality_evaluation` (include only if called, with the payment_id used)
- MCP: `form_homologation` (include only if called)
- Skill: `mp-review` v4.3.2
**Scores**: {X/Y required and Z/W best practices if verified; otherwise `official quality: N/A`}, {S}/9 security. **Verdict**: {Ready for production | Needs fixes | Blocked | Partial — MCP checks not verified}.
此技能不做什么
- 它不会生成或搭建代码。请使用
mp-integrate。 - 它不会调用会改变状态的 API。
quality_evaluation只读,且仅作为建议。 - 它不会离线编造官方质量标准。固定的安全基线在本地;仅在请求 MCP 支持的范围时才会获取官方标准。