关于 mcp-sift
mcp-sift 是 Sift 全球企业级机器学习欺诈检测的 MCP 服务,支持事件上报、风险评分与决策应用。面向需要跨支付、账户、内容和促销滥用进行检测的商户。它是 fraud 分类中继 ClearSale 与 Konduto 之后的第三个服务。
主要功能
- 01Events API 事件上报(含自定义事件)
- 02用户评分查询与强制重新评分
- 03标签管理(label 与 unlabel)
- 04Decisions API v3 决策应用与查询
- 05工作流运行状态查询
适用场景
- 01在注册、登录、下单等节点上报欺诈信号
- 02结厨前获取风险评分并决定是否放行
- 03将人工审核结果以决策形式写回 Sift
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 20 个工具,用于调用 Sift 的 Events、Score 与 Decisions API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @codespar/mcp-siftSIFT_API_KEY密钥Sift API key. Used in the Events API request body ($api_key) and as the HTTP Basic auth username (empty password) for Score + Decisions APIs.SIFT_ACCOUNT_IDSift Account ID. Required for all Decisions API v3 endpoints (path segment /v3/accounts/{account_id}/...).SIFT_BASE_URLSift API base URL. Defaults to https://api.sift.com.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
20收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | Sift 事件类型,带 $ 前缀,例如 $create_order、$transaction、$login、$create_account、$update_account、$chargeback、$order_status、$link_session_to_user。完整目录请参阅 developers.sift.com。 |
| fields | object | 是 | 事件载荷字段。包括带 $ 前缀的 Sift 保留字段($user_id、$session_id、$order_id、$amount、$currency_code、$payment_methods、$billing_address、$shipping_address、$items 等)以及任何自定义商户字段。$api_key 会自动注入。 |
| abuse_types | string | 否 | 用于评分的滥用类型逗号分隔列表(payment_abuse,account_abuse,content_abuse,promotion_abuse,legacy)。仅在 return_score=true 时使用。 |
| return_score | boolean | 否 | 如果为 true,则在响应中返回评分(同步评分)。 |
| force_workflow_run | boolean | 否 | 如果为 true,即使相关信号没有变化,也会重新运行工作流。 |
| return_workflow_status | boolean | 否 | 如果为 true,则返回此事件触发的所有工作流运行状态。 |
详细介绍
@codespar/mcp-sift
用于 Sift 的 MCP 服务——全球企业级、基于机器学习的欺诈检测。
这是 CodeSpar fraud 类别中的第三个项目,前两个是 @codespar/mcp-clearsale 和 @codespar/mcp-konduto。Sift 是面向全球企业的解决方案,与这两个专注巴西市场的反欺诈服务相对应。
定位
| ClearSale | Konduto | Sift | |
|---|---|---|---|
| 覆盖地区 | 巴西 | 巴西 | 全球(总部位于美国,约 30 个国家) |
| 成立时间 | 2001 | 2014 | 2011 |
| 优势 | 拒付历史数据库 | 设备行为情报 | 多种滥用类型的机器学习 + 工作流决策 |
| 形态 | 评分 + 人工审核 | API 优先,接口精简 | 输入事件流,输出评分 + 决策 |
| 范围 | 订单欺诈 | 订单欺诈 | 支付、账户、内容、促销滥用 |
它也不同于 @codespar/mcp-jumio,后者提供全球 KYC / 身份验证,属于与欺诈评分不同的层面。
Sift 的 API 形式
Sift 围绕三个协同工作的 API 构建:
- Events API(
/v205/events)——你通过 POST 提交每个有意义的信号(账户创建、登录、订单、拒付等),作为以$为前缀的事件。 - Score API(
/v205/users/{user_id}/score)——你可以 GET 用户最新的机器学习评分,也可以 POST 强制重新评分。每种滥用类型(payment_abuse、account_abuse、content_abuse、promotion_abuse)的评分都是[0, 1]范围内的浮点数。 - Decisions API v3(
/v3/accounts/{account_id}/...)——Sift 控制台中的工作流会将评分转化为决策(block_user_payment_abuse、approve_order_payment_abuse等)。你可以直接应用决策、读取用户 / 订单的当前决策,或获取工作流运行状态。
工具(20)
| 工具 | 用途 |
|---|---|
send_event | 向 Sift 的 Events API 发送欺诈信号(POST /v205/events)。 |
get_user_score | 获取用户最新的 Sift 评分(GET /v205/users/{user_id}/score)。 |
rescore_user | 立即强制 Sift 重新计算用户评分(POST /v205/users/{user_id}/score)。 |
label_user | 通过旧版 Labels API 将用户标记为欺诈或非欺诈(POST /v205/users/{user_id}/labels)。 |
unlabel_user | 移除用户的所有现有标签(DELETE /v205/users/{user_id}/labels)。 |
apply_decision_to_user | 将工作流 Decision 应用于用户(POST /v3/accounts/{account_id}/users/{user_id}/decisions)。 |
apply_decision_to_order | 将工作流 Decision 应用于特定订单(POST /v3/accounts/{account_id}/users/{user_id}/orders/{order... |
get_user_decisions | 获取当前应用于用户的 Decision(GET /v3/accounts/{account_id}/users/{user_id}/decisions)。 |
get_order_decisions | 获取当前应用于订单的 Decision(GET /v3/accounts/{account_id}/orders/{order_id}/decisions)。 |
get_workflow_run | 获取 Sift 工作流运行的状态(GET /v3/accounts/{account_id}/workflows/runs/{run_id})。 |
send_chargeback | 向 Sift 的 Events API 发送 $chargeback 事件(POST /v205/events)。 |
send_login | 向 Sift 的 Events API 发送 $login 事件(POST /v205/events)。 |
send_logout | 向 Sift 的 Events API 发送 $logout 事件(POST /v205/events)。 |
send_content_status | 向 Sift 的 Events API 发送 $content_status 事件(POST /v205/events)。 |
link_session_to_user | 向 Sift 的 Events API 发送 $link_session_to_user 事件(POST /v205/events)。 |
send_custom_event | 向 Sift 的 Events API 发送自定义(由商家定义)事件(POST /v205/events)。 |
apply_decision_to_session | 将工作流 Decision 应用于会话(POST /v3/accounts/{account_id}/users/{user_id}/sessions/{session_id... |
apply_decision_to_content | 将工作流 Decision 应用于内容项(POST /v3/accounts/{account_id}/users/{user_id}/content/{conten... |
get_session_decisions | 获取当前应用于会话的 Decision(GET /v3/accounts/{account_id}/users/{user_id}/sessions/... |
get_content_decisions | 获取当前应用于内容项的 Decision(GET /v3/accounts/{account_id}/users/{user_id}/cont... |
安装
npm install @codespar/mcp-sift@alpha
环境
SIFT_API_KEY="..." # required, secret
SIFT_ACCOUNT_ID="..." # required for all Decisions API v3 calls
SIFT_BASE_URL="..." # optional; defaults to https://api.sift.com
身份验证
- Events API —
$api_key会注入 JSON 请求体。服务会自动处理。 - Score API + Decisions API v3 — HTTP Basic,API 密钥作为用户名,密码留空。服务会自动进行 Base64 编码。
在 SIFT_API_KEY 中传入原始密钥。
典型流程
- 为应用添加埋点:每次注册、登录、资料更新、下单和拒付都对应一次带有正确
$type的send_event调用。 - 在关键环节(结账、提现),调用
send_event并设置return_score: true,以获取即时 Decision。 - 或者在工作流运行完成后,异步轮询
get_user_score/get_order_decisions。 - 对于人工审核结果,调用
apply_decision_to_user或apply_decision_to_order,并传入 Sift 控制台中配置的 Decision ID 和source: "MANUAL_REVIEW"。 - 确认发生拒付后,发送
$chargeback事件,并调用apply_decision_to_user应用 Block Decision,或调用label_user并设置is_bad: true, abuse_type: "payment_abuse"。对于新的集成,建议使用 Decision;保留 Labels 以实现向后兼容。
Alpha 说明
已作为 0.1.0-alpha.1 发布。所有端点路径均已对照 Sift 官方 Ruby SDK(SiftScience/sift-ruby)验证:rest_api_path、user_score_api_path、users_label_api_path、user_decisions_api_path、order_decisions_api_path、workflow_status_path,以及 Decision 的 ApplyTo 路径构建器。
与原始需求相比的范围:
- 已发布并验证: send_event、get_user_score、rescore_user、label_user、unlabel_user、apply_decision_to_user、apply_decision_to_order、get_user_decisions、get_order_decisions、get_workflow_run。
- 已移除——不在公开 SDK 中:
get_session_score(/v205/sessions/{session_id}/score)——Ruby SDK 中没有对应的辅助方法;在 Sift 中,针对会话级别的评分通过会话级别的 Decisions 和 Workflow 运行实现,而非专用评分端点。list_workflow_runs(GET /v3/accounts/{account_id}/workflows/runs)——公开 SDK 仅实现了GET /{run_id}。实际使用中,Sift 会在事件响应中提供 run_ids,而不是通过列表端点提供。get_psychology_score——公开 SDK 中没有此端点。
developers.sift.com 参考页面对深层链接 URL 有访问限制(多个路径返回 403),因此我们以官方 SDK 为准。待客户根据 Sift 管理控制台中的完整 Decisions / Score API 参考确认(或否认)已移除的端点后,再升级到 0.1.0。
运行
# stdio (default — for Claude Desktop, Cursor, etc)
npx @codespar/mcp-sift
# HTTP (for server-to-server testing)
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-sift
类别
fraud——继 ClearSale 和 Konduto 之后的第三个条目。开展国际业务的 BR 商户通常会将 Sift(全球支付 / 账户滥用)与 ClearSale 或 Konduto(巴西特有的拒付历史 / 设备情报)搭配使用。
企业版
需要为 Agent 支付提供治理、预算限制和审计跟踪?CodeSpar Enterprise 在这些 MCP 服务之上提供策略引擎、支付路由和合规模板。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。