Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
AWS Payment Cryptography
概览
作者提供的说明(英文原文)
AWS Payment Cryptography via MCP — keys, PIN/MAC/CVV/ARQC, PCI guards, HSM migration analysis.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i尚未统计★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: stdio
- 分类: 网店与支付
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 需要你自己填写:
AWS_REGION
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
运行前请先填写空着的值。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
AWS_REGIONenvAWS region where your APC resources live (e.g. us-east-1). Live cryptographic tools also need AWS credentials via the standard AWS credential chain; the knowledge-base and HSM-analysis tools need no…
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 J8k3 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“网店与支付”中的其他服务器比较i
- 星标数多于此分类中其他 2542 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 2542 个服务器的 29% 更新
- 基础检查结果等于或优于此分类中其他 2542 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
AWS Payment Cryptography 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.2.0)于2个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
有什么可以替代它?
同一分类中有:Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Stripe MCP
MCP server integrating with Stripe - tools for customers, products, payments, and more.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
AWS Payment Cryptography MCP Server
An MCP server for AWS Payment Cryptography (APC). Gives AI coding assistants direct access to the APC control plane (key lifecycle) and data plane (cryptographic operations), along with embedded knowledge of payment standards, HSM vendor command sets, and PCI PIN v3.1 compliance requirements. This tool is for development and testing purposes only and should not be used directly within a production system. It is designed to accelerate the 'Proof of Concept' phase and migration analysis by providing a domain-aware interface for AWS Payment Cryptography. Works with Claude Code, Codex CLI, and any MCP-compatible client.
There are three reasons to use this:
- You're building a new acquirer or processor integration on APC and want an AI co-pilot that understands the domain — key hierarchies, DUKPT, TR-31/TR-34, PIN formats, compliance constraints — without reading documentation for every API call.
- You have existing code that runs against a Thales payShield 10K or Futurex Excrypt Enterprise SSP v.2 and want to understand what it's doing before migrating to APC.
- You're using [apc-hsm-proxy](https://github.com/J8k3/aws-payment-cryptography-hsm-proxy) to move an application to APC without refactoring it, and need to build handlers for the specific commands your application sends.
Issuer functions — card personalization, IMK/CMK derivation, issuer script processing — are out of scope. A small number of issuer-adjacent APC operations (PIN generation schemes, EMV secure messaging) are exposed for completeness but are not the focus. This is a template, not a production system.
Architecture & Trust Boundaries
graph LR
subgraph "Your Local Host" A[AI Client] <--> B[MCP Server] B --> G([Boto3]) end subgraph "Your AWS Account" D[APC Control Plane] E[APC Data Plane] end subgraph "Your LLM Provider" F[LLM API] end
G --> D G --> E A <-- "Prompts/Responses" --> F D ~~~ F D ~~~ E
---
Setup
pip install -e .
apc-agent # starts the MCP server over stdio
The MCP server is client-agnostic — it speaks the standard Model Context Protocol over stdio and works with any MCP-compatible client. .claude/ contains Claude Code settings; .codex/ is the Codex CLI equivalent. Neither is required to run the server itself.
Claude Code — .claude/settings.json in this repo registers the server automatically. For Claude Desktop, add the same block to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "apc-agent": { "command": "apc-agent", "env": { "AWS_REGION": "us-east-1" } } } }
Codex CLI — .codex/config.toml in this repo registers the server automatically. For user-level registration (applies across all projects), add the same block to ~/.codex/config.toml:
[mcp_servers.apc-agent]
command = "apc-agent" env = { AWS_REGION = "us-east-1" }
Or register via the CLI:
codex mcp add apc-agent --env AWS_REGION=us-east-1 -- apc-agent
Kiro —
AWS credentials are consumed via the standard boto3 chain: IAM role, ~/.aws/credentials, or environment variables. Set AWS_REGION to the region where your APC resources live.
See EXAMPLES.md for end-to-end session excerpts — one per workflow — showing exact prompts, tool calls, and results.
Workflow 1 — Building a new integration
Who it's for: Payment engineers and solutions architects building a new acquirer or processor system on AWS, starting from scratch or greenfield on APC.
What you do: Describe your architecture in plain language. The AI calls APC directly, explains every decision, and checks compliance before making any API call. You get working code and a key hierarchy — not just documentation references.
How it works:
- Install the MCP server and connect it to your AI client (Claude Code, Codex CLI, etc.).
- Describe what you're building. Example: *"I need AES DUKPT for a fleet of POS terminals. PIN blocks should go to ISO Format 4, translated over a ZPK to my network processor, with CMAC on ISO 8583 field 64."*
- The AI creates the keys in APC, explains the hierarchy, writes the integration code, and flags any compliance issues before calling any API.
The default for a new acquirer integration:
Terminal / POI
└── AES DUKPT (BDK in APC, KSN per transaction) └── ISO Format 4 PIN block → translate_pin_data └── ZPK (AES P0) → host-to-host PIN routing └── CMAC (AES M6) on ISO 8583 field 64
Key Exchange with Network / Processor └── TR-34 (asymmetric KEK establishment) └── TR-31 / X9.143 for all subsequent symmetric key transport
Card Data Protection └── AES (D0) or FF1 FPE for format-preserving tokenization
Deviating from this path — TDES, Format 0 PIN blocks, TDES DUKPT, CBC-MAC — requires explicit confirmation. The agent explains why the modern approach is preferred, asks whether you've confirmed the downstream system doesn't support it, then helps implement the legacy path correctly with a documented code comment and a notice that a QSA exception may be required.
Compliance enforcement is built into the tool layer and is not configurable off. Hard stops enforced in code: illegal PIN format translation pairs (PCI PIN Req 3-3), AES keys with non-CMAC KCV (PCI PIN Annex C), unknown TR-31 key usage codes. Legacy construct warnings (Format 0, CBC-MAC, retail MAC) require explicit confirmation before proceeding. PAN identity during PIN translation and algorithm-level prohibitions (single DES, RSA < 2048) are enforced by APC at the API level — calls with prohibited parameters are rejected by the service.
Workflow 2 — Migrating existing HSM code
Who it's for: Developers migrating an application that currently sends commands to a Thales payShield 10K or Futurex Excrypt Enterprise SSP v.2, who need to understand what the code is doing before writing the APC replacement.
What you do: Show the AI your existing source code. It identifies every HSM operation in use, maps each one to the equivalent APC call with the correct key type, and flags anything with no direct equivalent or that requires architectural changes.
How it works:
- Connect the MCP server to your AI client and open the relevant source files.
- Ask it to analyze them. Example: *"What HSM operations does this code use and what are the APC equivalents?"*
- The AI calls
hsm_analyze_code, which scans for Futurex Excrypt bracket-delimited commands ([AOTPIN;...]/[TPIN;...]) and Thales two-char command codes (CA,G0,M6, etc.) in the source, then looks each one up in the command registry. - For each command detected: the APC operation to call, the required key type (TR-31 usage code), a confidence level, and migration notes.
- The AI writes the refactored code using the APC SDK and validates it against the compliance rules.
LMK key migration: Keys stored as LMK-encrypted blobs in your application or database can't be imported into APC directly. They must be exported from the source HSM in TR-31 or TR-34 format first. The server surfaces this when it detects LMK references and guides the import process using get_parameters_for_import and import_key.
Coverage: Futurex Excrypt Enterprise SSP v.2 / Standard API (authoritative — Futurex General Payment HSM Integration Guide 2024), Thales payShield 10K Legacy commands (authoritative — Thales payShield 10K Legacy Host Commands manual), Thales payShield 10K International/Core commands (mixed — core PIN/MAC/CVV/ARQC codes authoritative via Futurex Integration Guide; key management and PIN verify codes reference quality), Atalla/HPE/NCR (directory quality — command names and APC mappings only, no parameter detail; proxy support not implemented).
Workflow 3 — Building proxy handlers
Who it's for: Teams using apc-hsm-proxy — where the application is a black box, third-party, or can't be refactored, so a protocol translation layer handles the HSM-to-APC conversion instead.
What you do: Run the proxy in discovery mode to observe what commands your application actually sends, then use this server to build handlers for those specific commands.
How it works:
- Configure apc-hsm-proxy with
discover.enabled: true,hsm_hostpointing at your real HSM, andlog_file: discovery.jsonl. Start the proxy between your application and the real HSM. The proxy forwards unhandled commands to the real HSM while writing one JSON record per unique command code todiscovery.jsonl— command code, vendor, and parameter names (key blocks and PIN blocks are redacted).
- Run your application through a representative set of transactions. Stop the proxy. Open
discovery.jsonl— it will have one entry per distinct command your application sent.
- In an AI coding session with the MCP server connected, read
discovery.jsonland callhsm_analyze_discovery_logwith its contents. The tool returns: which commands already have proxy handlers, which need to be built, the APC operation and key type for each, and the exact file path and handler structure to implement for each one.
- The AI writes the Rust handler for each command modeled on the existing handlers in the proxy's
src/handlers/ /directory. You add the file, register it inmod.rs, and rebuild the proxy.
- Disable discovery mode (
discover.enabled: false) and test with the real application. The proxy now routes the handled commands to APC and returns error 68 for anything unrecognized.
Common APC constraints when implementing handlers — surfaced during live integration testing of apc-hsm-proxy against real APC:
- DUKPT key variant:
DukptKeyVariant::Bidirectionalis valid for AES DUKPT (X9.24-3) only. 3DES DUKPT (X9.24-1 /TDES_2KEY) requiresRequestorResponse— passingBidirectionalreturnsValidationException: Invalid DukptKeyVariant provided for key algorithm. UseRequestfor terminal-originated MACs. - AES-CMAC truncated verify:
verify_macfor AES-CMAC requires the full 16-byte (32H) MAC. payShield M8 sends a truncated MAC (e.g., 4 bytes). Passing truncated output causesValidationException. Workaround: callgenerate_macand compare the leadingmac_sizebytes in the handler. - IBM 3624 PIN offset padding:
verify_pin_datafor IBM 3624 requires a digits-onlyPinOffset(^[0-9]+$). payShield pads the offset to 12 hex characters withF(e.g.,9237FFFFFFFF). Strip trailingFcharacters in the handler before calling APC.
The discovery log is the handoff between the two tools. Because it deduplicates — writing once per command code, n
只显示了开头部分;其余内容请在仓库中阅读