AWS Payment Cryptography
AWS Payment Cryptography via MCP — keys, PIN/MAC/CVV/ARQC, PCI guards, HSM migration analysis.
Connector by J8k3 · GitHub account verified by the MCP Registry
Install
Works with Claude Desktop. Read the repository before you give any tool access to your data.
MCP bundle (.mcpb): open it with Claude Desktop.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 0 read · 26 write · 6 delete · 26 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Downloaded binary
Tools by what they do 58
Read from the source code; the running server may list different tools.
Write 26 · Create, change, send or run things.
add_key_replication_regionsassociate_mpa_teamcreate_aliascreate_keydecrypt_datadisable_default_key_replication_regionsenable_default_key_replication_regionsencrypt_dataexport_keygenerate_as2805_kek_validationgenerate_auth_request_cryptogramgenerate_card_validation_data
Show 14 more tools
generate_macgenerate_mac_emv_pin_changegenerate_pin_datahsm_migration_notesimport_keypan_change_advisorypin_block_retention_advisoryput_resource_policyre_encrypt_datarestore_keystart_key_usagestop_key_usagetag_resourceupdate_alias
Delete 6 · Delete, drop, revoke or wipe things.
delete_aliasdelete_keydelete_resource_policydisassociate_mpa_teamremove_key_replication_regionsuntag_resource
Not yet classified 26 · We could not tell from the name and description.
contribute_kb_findingexplain_key_usageget_aliasget_certificate_signing_requestget_default_key_replication_regionsget_keyget_mpa_team_associationget_parameters_for_exportget_parameters_for_importget_public_key_certificateget_resource_policyhsm_analyze_code
Show 14 more tools
hsm_analyze_discovery_loghsm_get_apc_mappinghsm_list_commandshsm_lookup_commandlist_aliaseslist_all_key_usageslist_keyslist_tags_for_resourcetranslate_key_materialtranslate_pin_dataverify_auth_request_cryptogramverify_card_validation_dataverify_macverify_pin_data
Network hosts it talks to 1
github.com· found in install command
Tools (58)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_key_replication_regionsCall this to make an existing key usable from additional regions — e.g. standing up a DR region, or moving an acquirer workload closer to the processor. Replication copies the key into the named regions so cryptographic calls can be served there. It does not export key material: the key never leaves APC's HSMs, and the replica keeps the same key ARN semantics and usage restrictions. Args: key_identifier: ARN or alias of the key replication_regions: Regions to add, e.g. ["us-west-2", "eu-west-1"]
associate_mpa_teamCall this to put a sensitive key-management operation behind Multi-Party Approval, so it requires sign-off from an AWS MPA approval team before it takes effect. This is the APC equivalent of the dual-control requirement PCI PIN places on key management: no single custodian can complete the operation alone. Associating a team does not itself need approval; it changes how the named operation behaves from then on. Once associated, calls to the covered operation return with an MpaStatus of PENDING rather than completing. See import_key for what that means in practice. Args: action: The oper…
contribute_kb_findingCall this whenever you discover a gap while working in any repo — apc-hsm-proxy, CyberChef-Payments, or any other session — and the finding belongs in this MCP server's knowledge base, HSM command registry, proxy handler list, or compliance rules. Works without AWS credentials. Stages the finding as a GitHub issue so the MCP server session can apply it at the next session start. Returns a formatted issue body and the exact gh CLI command to run. finding_type options: "kb_entry" — new or corrected entry for payment-knowledge-base.md "hsm_command" — new HSM command to add to h…
create_aliasCall this when establishing a stable name for a key so application code does not need to change when keys are rotated. Create a friendly-name alias for a key. Args: alias_name: Must start with 'alias/' — e.g. alias/prod-bdk key_arn: Key ARN to associate (optional at creation time)
create_keyCall this when creating a new cryptographic key — BDK, ZPK, CVK, MAC key, KEK, etc. Call explain_key_usage first to confirm the right key usage code — APC keys are typed at creation and the type cannot change. AES keys must use CMAC for KCV (not ANSI_X9_24). Enforced here. Args: key_algorithm: AES_128, AES_256, TDES_3KEY, RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, etc. key_usage: TR-31 key usage code, e.g. TR31_P0_PIN_ENCRYPTION_KEY key_class: SYMMETRIC_KEY, ASYMMETRIC_KEY_PAIR, or PRIVATE_KEY exportable: Whether the key can be exported via TR-31 or TR-34 enabled: Wheth…
decrypt_dataCall this when decrypting cardholder data or payment fields received from a terminal, acquiring host, or issuer — including DUKPT session-key decryption and EMV confidentiality decryption. Supported key types: D0, D1, B0 (DUKPT), E1/E6 (EMV). All inputs and outputs are hexBinary encoded. Args: key_identifier: Key ARN or alias of the KEK (when using wrapped_key) or the working key cipher_text: Hex-encoded ciphertext decryption_attributes: Algorithm-specific parameters (mirrors encrypt_data) wrapped_key: Optional TR-31 wrapped working key (key_identifier becomes the KEK)
delete_aliasCall this when removing a friendly name that is no longer needed. The underlying key is unaffected. Delete an alias (does not delete the underlying key). Args: alias_name: Full alias name including 'alias/' prefix
delete_keyCall this when decommissioning a test key or retiring a key that is no longer needed. Deletion is scheduled — the key enters DELETE_PENDING state first. Schedule a key for deletion. Args: key_identifier: Key ARN or alias delete_key_in_days: Waiting period before deletion (3-180 days, default 7)
delete_resource_policyCall this when revoking all cross-account or resource-based access grants on a key. Remove the resource policy from a key. Args: resource_arn: Key ARN
disable_default_key_replication_regionsCall this to stop new keys from automatically replicating into the named regions. Account-level and forward-looking only: existing keys keep whatever replication they already have. Use remove_key_replication_regions to change those. Args: replication_regions: Regions to remove from the default, e.g. ["eu-west-1"]
disassociate_mpa_teamCall this to remove Multi-Party Approval from an operation, returning it to single-principal control. This weakens a dual-control boundary, so it is worth confirming intent before calling — under PCI PIN, removing dual control from key management is a compliance-relevant change, not a routine configuration tweak. The association moves to DELETE_PENDING and may itself require approval from the currently associated team before it clears. Args: action: The operation to stop protecting, e.g. IMPORT_ROOT_PUBLIC_KEY_CERTIFICATE requester_comment: Optional reason, max 200 character…
enable_default_key_replication_regionsCall this to add regions to the account-wide default, so subsequently created keys replicate there automatically. This is account-level and affects future keys only — it does not retroactively replicate existing keys. Use add_key_replication_regions for keys that already exist. Args: replication_regions: Regions to enable by default, e.g. ["us-west-2"]
encrypt_dataCall this when encrypting cardholder data, PIN blocks, or sensitive payment fields for storage or transmission. Also use when implementing DUKPT session encryption or EMV session-key-based data confidentiality. Supported key types: D0 (symmetric), D1 (asymmetric RSA), B0 (DUKPT), E1/E6 (EMV). All inputs and outputs are hexBinary encoded. encryption_attributes examples: Symmetric AES-CBC: {"Symmetric": {"Mode": "CBC", "InitializationVector": "<16-byte hex>"}} DUKPT AES: {"Dukpt": {"KeySerialNumber": "<KSN hex>", "Mode": "CBC", "DukptKeyDerivationType": "AES_128"}} EMV: {"Emv…
explain_key_usageCall this whenever a TR-31 key usage code appears or someone asks "which key type should I use for X?" — P0, B0, E0, E1, E2, M6, C0, V1, V2, K0, K1, D0, etc. Works without AWS credentials. Returns what the key type is, what operations it permits, which APC data-plane calls accept it, and any PCI compliance considerations. Args: key_usage: TR-31 key usage code, e.g. TR31_P0_PIN_ENCRYPTION_KEY
export_keyCall this when distributing an APC-generated key to an external HSM or system, wrapped in a TR-31 key block, a TR-34 structure, an RSA cryptogram, an ECDH-derived key block, or an AS2805 cryptogram. key_material is a single-member union naming the export method. The wrapping material lives inside it — unlike import_key, there is no separate "type" argument: {"Tr31KeyBlock": {"WrappingKeyIdentifier": "<ARN or alias of KBPK>"}} {"Tr34KeyBlock": {"CertificateAuthorityPublicKeyIdentifier": "<CA key ARN>", "WrappingKeyCertificate": "<base64 cert>", "Ke…
Show 43 more tools
generate_as2805_kek_validationCall this when implementing Australian AS2805 payment network key exchange — generating the KEK validation request or response value for node-to-node symmetric key establishment between an acquirer switch and a card scheme. Generate an AS2805 Key Encryption Key validation value. Used in Australian payment network node-to-node key exchange. kek_validation_type: KekValidationRequest — initiating node generates a validation request KekValidationResponse — responding node generates the validation response random_key_send_variant_mask: VARIANT_MASK_82C0 — standard AS2805 variant mask VA…
generate_auth_request_cryptogramCall this to mint a test/reference ARQC — e.g. to exercise an ARQC verification path, drive a proxy differential test, or produce the APC leg of a cross-implementation check. Issuers normally VERIFY ARQCs (the chip generates them), so this operation is primarily a test-vector generator. The inverse of verify_auth_request_cryptogram (POST /cryptogram/generate). Required key type: E0 (EMV Application Cryptogram Master Key), TDES only, created/imported with DeriveKey mode. Every AES E0 key is rejected — asymmetric with verify_auth_request_cryptogram, which requires AES-256 E0 for AES ARQCs — so …
generate_card_validation_dataCall this when implementing card personalization, CVV/CVV2/iCVV generation, or validating card data for testing. Also use to generate test vectors for CVK-based validation before writing production code. Generates CVV, CVV2, iCVV, or dynamic card verification values. Supported key types: C0 (CVK), E4/E6 (EMV). generation_attributes examples: CVV: {"CardVerificationValue1": {"CardExpiryDate": "0128", "ServiceCode": "101"}} CVV2: {"CardVerificationValue2": {"CardExpiryDate": "0128"}} iCVV: {"CardVerificationValue1": {"CardExpiryDate": "0128", "ServiceCode": "999"}} ARQC: {"DynamicCard…
generate_macCall this when implementing or validating MAC generation for ISO 8583 transactions, EMV issuer scripts, or any payment message authentication. Also call to verify which MAC algorithm a given M-key type supports before writing code. Preferred key type: M6 (CMAC). Legacy: M1 (CBC-MAC), M3 (Retail MAC), M0 (AS2805). ISO 8583 field 64 (primary MAC) or field 128 (secondary MAC). generation_attributes examples: CMAC: {"Algorithm": "CMAC"} ISO 9797-1 Alg 1 (CBC-MAC): {"Algorithm": "ISO9797_ALGORITHM1"} ISO 9797-1 Alg 3 (Retail): {"Algorithm": "ISO9797_ALGORITHM3"} HM…
generate_mac_emv_pin_changeCall this before implementing any EMV PIN change flow — issuer script, CHANGE REFERENCE DATA (INS=24), or offline PIN change MAC assembly. IMPORTANT: This operation requires THREE separate keys, not one: P0 — PIN Encryption Key: encrypts the new PIN block E2 — EMV Integrity Key: generates the script MAC E1 — EMV Confidentiality Key: encrypts the script data Single-key EMV MAC helpers (E2 only) cannot replicate this. A full EMV PIN change requires all three key types to be provisioned in APC separately. Required key types: new_pin_pek_identifier: P0 (PIN Encryption Key for new PIN…
generate_pin_dataCall this when implementing IBM 3624 or Visa PVV PIN generation, generating a PIN offset for card personalization, or producing a test PIN block for a given PAN. Issuer function — use with care in acquirer contexts. Supported schemes via generation_attributes: Visa PVV: {"VisaPin": {"PinVerificationKeyIndex": 1}} Visa PVV value: {"VisaPinVerificationValue": {"EncryptedPinBlock": "...", "PinVerificationKeyIndex": 1}} IBM3624 offset: {"Ibm3624PinOffset": {"DecimalizationTable": "...", "PinValidationData": "..."}} IBM3624 random: {"Ibm3624RandomPin": {"DecimalizationTab…
get_aliasCall this when resolving an alias to its key ARN, or verifying which key an alias currently points to. Retrieve alias details. Args: alias_name: Full alias name including 'alias/' prefix
get_certificate_signing_requestCall this to get a PKCS #10 CSR for an APC-held asymmetric key, so an external CA (or a partner's PKI) can issue a certificate for it. This is the APC counterpart of the payShield/Futurex "generate certificate request" commands — Futurex RSAR, for instance, is a PKCS #10 CSR generator. The private key stays in APC's HSMs; only the CSR leaves. Typical use is TR-34 key distribution or ECDH key exchange, where the counterparty must trust an APC key. Args: key_identifier: ARN or alias of the asymmetric key (RSA or ECC) to request a certificate for signing_algorithm: Hash used to …
get_default_key_replication_regionsCall this to see which regions new keys replicate into by default, before creating keys or when auditing why a key landed in a region you did not expect. Keys created or imported without an explicit replication_regions inherit this account-level default.
get_keyCall this when you need the current state, algorithm, usage, or enabled status of a key before using it in an operation. Retrieve metadata for a key by ARN or alias. Args: key_identifier: Key ARN (arn:aws:payment-cryptography:...) or alias (alias/name)
get_mpa_team_associationCall this to check whether an operation is under Multi-Party Approval, which team approves it, and whether a change to that association is still settling. Use it before an import that may be gated, and when auditing dual control. Returns MpaTeamAssociation with: Action — the protected operation MpaTeamArn — the approving team AssociationState — ACTIVE, UPDATE_PENDING, or DELETE_PENDING MpaStatus — present when an approval session is in flight, carrying MpaSessionArn, Status (PENDING / APPROVED / FAILED / CANCELLED) and …
get_parameters_for_exportCall this before export_key when using TR-34 — you need APC's signing certificate before constructing the export payload for an external system. Args: key_material_type: Tr31KeyBlock or Tr34KeyBlock signing_key_algorithm: RSA_2048, RSA_3072, RSA_4096 reuse_last_generated_token: Reuse the existing export token and signing key certificate when one is still valid for the same key material type and algorithm, with at least 7 days of validity left. Default false, which mints a new token on every call. Set true when retrying, or when building an export pa…
get_parameters_for_importCall this before import_key when using TR-34 or KeyCryptogram — you need APC's public wrapping key and import token before constructing the import payload. Key-strength rules enforced by APC (wrapping key strength ≥ working key strength): AES-128 (128-bit): RSA_3072 (~128-bit) or RSA_4096 (~140-bit) — both acceptable. AES-256 (256-bit): RSA of any size is too weak (~140-bit max for RSA_4096). Use ECC_NIST_P521 (~261-bit) — the only KEY_CRYPTOGRAM path for AES-256. TDES (112-bit): RSA_2048 (~112-bit) or higher. For AES-256 keys (E0, E1, E2, E4, E6, D0 at 256-bit,…
get_public_key_certificateCall this to fetch the certificate and chain for an APC asymmetric key — to hand a counterparty the public half for TR-34 or ECDH key exchange, or to check what APC currently holds for a key. Returns KeyCertificate and KeyCertificateChain, both base64-encoded. Public material only; no private key is ever returned. Args: key_identifier: ARN or alias of the asymmetric key
get_resource_policyCall this when auditing who has access to a key or inspecting a cross-account policy. Retrieve the resource policy attached to a key. Args: resource_arn: Key ARN
hsm_analyze_codeCall this whenever reviewing legacy payment code that may contain HSM socket calls — Python, Java, C, Go, or any language. Even a single file or function is worth scanning. Works without AWS credentials. Detects Futurex Excrypt commands ([AOCCCC;...] frames), Thales/International 2-char command codes, and Atalla/Futurex Standard numeric codes. Returns identified commands, their APC migration path, and migration notes for LMK, DUKPT, and fixed-key patterns. Args: source_code: Raw source code containing HSM socket calls or command strings.
hsm_analyze_discovery_logCall this when analyzing the output of apc-hsm-proxy running in discovery mode (a discovery.jsonl file). Returns per-command APC mappings, which proxy handlers already exist, which still need to be written, and migration notes. Works without AWS credentials. IMPORTANT — handler_exists reflects _PROXY_HANDLERS in hsm_tools.py, not the apc-hsm-proxy source tree. When a handler is completed in the proxy, update _PROXY_HANDLERS in this file so handler_exists reports correctly. Until that update is committed and the MCP server restarted, handler_exists will show false even for commands that alread…
hsm_get_apc_mappingCall this for a quick command-code → APC operation lookup when you already know the command and just need the migration target — faster than hsm_lookup_command when you don't need the full description and notes. Works without AWS credentials. Returns just the APC operation and key type for an HSM command. Args: command_code: The HSM command code, e.g. "TPIN", "CA", "31"
hsm_list_commandsCall this to discover which HSM commands are known and what APC operations they map to — useful when scoping a migration, reviewing an HSM integration, or deciding which APC operations a proxy handler needs to implement. Works without AWS credentials. Args: category: PIN, MAC, CVV, KEY_MGMT, ENCRYPT, ARQC, or P2PE — omit for all vendor: "Futurex" or "Thales" — omit for all vendors
hsm_lookup_commandCall this whenever you see an HSM command code in legacy payment code, documentation, or logs — e.g. "TPIN", "CA", "G0", "M6", "CC", "CI", "CW", "CY", "B2", "KQ", "GW", or numeric Atalla codes like "31", "5D". Works without AWS credentials. Returns the command name, category (PIN/MAC/CVV/KEY_MGMT/ENCRYPT/ARQC), description, and the APC operation + key type that replaces it. Coverage: Futurex Excrypt (authoritative), Thales payShield legacy + international (authoritative/reference quality), Atalla numeric codes (directory quality). Args: command_code: The HSM command code, e.g. "TPIN", "…
hsm_migration_notesCall this when discussing HSM migration for concepts that have no direct APC equivalent — LMK (Local Master Key), DUKPT initial key loading, or fixed ZPK key schemes. Returns detailed migration guidance for the selected topic. Works without AWS credentials. Args: topic: One of "lmk", "dukpt", "fixed_key"
import_keyCall this to bring an externally generated key into APC via TR-31 key block or TR-34. The key_material dict structure depends on the import method. IMPORTANT — this call does not always mean the key is imported. If the account has Multi-Party Approval associated with the import operation (see get_mpa_team_association), the response carries an MpaStatus with Status PENDING and the key is NOT yet usable. Approval by the MPA team has to land first. Treat a successful response as "submitted", not "done": check MpaStatus before using the key or reporting the import as complete, and poll get_key un…
list_aliasesCall this when auditing all friendly names in the account, or finding aliases associated with a specific key. List aliases, optionally filtered by key ARN. Args: key_arn: Filter to aliases associated with this key max_results: Max results (1-100) next_token: Pagination token
list_all_key_usagesCall this when designing key infrastructure, selecting key types for a new payment operation, or when asked what key types APC supports. Works without AWS credentials. Returns all TR-31 key usage codes with names, descriptions, and APC support status.
list_keysCall this when auditing which keys exist, finding a key ARN, or checking key state before an import or operation. List APC keys with optional state filter. Args: key_state: CREATE_COMPLETE, CREATE_IN_PROGRESS, DELETE_PENDING, DELETE_COMPLETE max_results: Max keys to return (1-100) next_token: Pagination token from a previous response
list_tags_for_resourceCall this when auditing the tags on a key or verifying classification metadata. List all tags on an APC key. Args: resource_arn: Key ARN max_results: Max results (1-100) next_token: Pagination token
pan_change_advisoryCall this before implementing any PIN translation flow where the PAN might differ between the inbound and outbound formats, or when asked about PCI PIN Req 3-3 / ISO 9564 PAN handling. Works without AWS credentials. Returns the PCI PIN rule: the PAN must not change during any PIN block translation.
pin_block_retention_advisoryCall this before designing any transaction logging, audit trail, or database schema that processes ISO 8583 transactions containing field 52 (PIN block). Works without AWS credentials. Returns the PCI PIN Req 4 rule: encrypted PIN blocks must not be retained in logs after the authorization response is received — even encrypted form is prohibited.
put_resource_policyCall this when granting cross-account access to a key or restricting which principals may use it. Attach an IAM resource policy to a key. Args: resource_arn: Key ARN policy: JSON policy document string
re_encrypt_dataCall this when rewrapping payment data under a new key — for example when rotating zone encryption keys, moving data between security domains, or transitioning from TDES to AES. The plaintext never leaves the HSM boundary. Re-encrypts data from one key to another without exposing plaintext. The decryption and re-encryption occur entirely within the APC HSM boundary. Args: incoming_key_identifier: ARN or alias of the current encryption key (or KEK) outgoing_key_identifier: ARN or alias of the target encryption key (or KEK) cipher_text: Hex-encoded ciphertext under the incoming key…
remove_key_replication_regionsCall this when decommissioning a region or narrowing a key's blast radius. Removing a region makes the key unusable there. Confirm nothing is still authorizing against it in that region first — in-flight PIN or ARQC traffic will start failing as soon as the replica is gone. Args: key_identifier: ARN or alias of the key replication_regions: Regions to remove, e.g. ["eu-west-1"]
restore_keyCall this when a key was scheduled for deletion by mistake and needs to be recovered before the waiting period expires. Cancel a pending key deletion. Args: key_identifier: Key ARN or alias in DELETE_PENDING state
start_key_usageCall this when enabling a key that was created with enabled=False or that was previously disabled with stop_key_usage. Activate a key that was created in disabled state. Args: key_identifier: Key ARN or alias
stop_key_usageCall this when temporarily disabling a key — for example during key rotation before the old key is confirmed unused and can be deleted. Deactivate a key without deleting it. Args: key_identifier: Key ARN or alias
tag_resourceCall this when adding classification, environment, or ownership metadata to a key. Add or update tags on an APC key. Args: resource_arn: Key ARN tags: List of {Key, Value} dicts
translate_key_materialCall this when implementing ECDH-based key agreement — for example, deriving a shared session key from an ECC key pair and a counterparty certificate, then wrapping the result as a TR-31 key block for local use. Also use when a key exchange protocol delivers a key via Diffie-Hellman and you need it in APC format. Translate an ECDH-wrapped TR-31 key block into a KEK-wrapped TR-31 key block without ever importing the working key into APC storage. The only documented use case is ECDH → TR-31 (KEK): incoming_key_material = { "DiffieHellmanTr31KeyBlock": { "CertificateAuthorityPublicK…
translate_pin_dataCall this when implementing acquirer PIN routing, verifying a PIN translation flow, or checking whether a given format-to-format translation is legal under PCI PIN. This is the core HSM operation in every acquiring PIN path. Translates a PIN block between encryption zones inside the APC HSM boundary — the PIN is never exposed in clear text. Compliance rules are enforced: - PAN must not change between incoming and outgoing formats (PCI PIN Req 3-3) - Only legal ISO 9564 format translations are permitted (Req 3-3) - Fixed TDES PIN keys are prohibited since 1 January 2023 (Req 2-2) Preferred fl…
untag_resourceCall this when removing stale or incorrect tags from a key. Remove tags from an APC key. Args: resource_arn: Key ARN tag_keys: List of tag key names to remove
update_aliasCall this when rotating a key — point the existing alias to the new key ARN so application code referencing the alias picks up the rotation automatically. Point an alias to a different key (enables key rotation without code changes). Args: alias_name: Full alias name including 'alias/' prefix key_arn: New key ARN to associate
verify_auth_request_cryptogramCall this when implementing EMV transaction authorization (ARQC verification), generating an issuer ARPC response, or validating EMV session key derivation. ISO 8583 field 55 carries the ARQC and ATC from the chip card. Verifies an EMV Authorization Request Cryptogram (ARQC) and optionally generates an Authorization Response Cryptogram (ARPC) in the same call. Required key type: E0 (EMV Application Cryptogram Master Key). APC requires AES-256 E0 keys — AES-128 E0 keys are rejected at the API level. major_key_derivation_mode options: EMV_OPTION_A — Visa/Amex ARQC derivation EMV_OPTION_B …
verify_card_validation_dataCall this when validating a card presented at POS or in CNP — verifying a CVV, CVV2, or iCVV value against the issuer's CVK. Also use to test CVK-based validation before writing production card-present or card-not-present logic. Verify card validation data (CVV, CVV2, iCVV, dynamic values). Supported key types: C0 (CVK), E4/E6 (EMV). Args: key_identifier: ARN or alias of CVK or EMV key primary_account_number: 12-19 digit PAN verification_attributes: Algorithm and card data (mirrors generate_card_validation_data) validation_data: The CVV/CVV2/iCVV value to verify
verify_macCall this to verify a MAC on a received payment message or issuer script. Mirrors generate_mac — use the same algorithm and key. CMAC truncation warning: verify_mac with CMAC requires the FULL MAC value (16 bytes / 32H for AES-128). Passing a truncated CMAC — e.g. 4 bytes / 8H produced by payShield M6 with mac_size=0 — returns ValidationException with no descriptive error message. ISO 9797-1 Alg 1/3 produce 4-byte MACs natively and are not affected. Workaround for truncated CMAC verify (e.g. bridging a payShield M8 flow): 1. Call generate_mac with the same key and message. 2. Compare the…
verify_pin_dataCall this when implementing PIN verification at an issuer host — checking a cardholder-entered PIN against a stored IBM 3624 offset or Visa PVV. Also use to validate PIN verification logic end-to-end before deploying to production. Verify a cardholder PIN against a stored PIN verification value. Supported key types: verification_key_identifier: V1 (IBM3624) or V2 (Visa) PVK encryption_key_identifier: P0 PIN Encryption Key or B0 BDK (DUKPT) primary_account_number is optional for ISO_FORMAT_1 (which does not include PAN). dukpt_attributes (when encryption_key_identifier is a BDK): {"Ke…
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit
- Aug 26, 2026 (2 months ago)
- Last release
- Aug 26, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.J8k3/aws-payment-cryptography-mcp- Version
- 1.2.0
- Auth
- No auth
- Packages
- mcpb https://github.com/J8k3/aws-payment-cryptography-mcp/releases/download/v1.2.0/aws-payment-cryptography-mcp-1.2.0.mcpb
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
AWS Payment Cryptography MCP server. Agent Mart. https://agentmart.dev/connectors/j8k3-aws-payment-cryptography-mcp (last updated 2026-10-24)