storekit-verify-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@storekit-verify-mcpVerify this App Store webhook body and tell me if it's authentic."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
storekit-verify-mcp
Decode and cryptographically verify Apple App Store Server Notifications V2 — as an MCP server and a CLI.
Apple delivers subscription webhooks (SUBSCRIBED, DID_RENEW, EXPIRED, REFUND, …) as signed JWS payloads. Verifying them properly means checking the ES256 signature, walking a 3-certificate chain to a pinned Apple root, checking Apple's policy OIDs, and doing it again for the nested transaction and renewal payloads. Most servers either skip verification entirely or trust a decode. This tool does it right, and explains what each notification means while it's at it.
I built this logic for Talli, my live App Store app, where server-side webhook verification drives subscription entitlements. This is that experience packaged as a standalone tool.
What it checks
✅ ES256 signature of the outer
signedPayloadand the nestedsignedTransactionInfo/signedRenewalInfo✅ Full x5c chain: leaf → intermediate → root, each link's signature verified
✅ Root pinned to Apple Root CA – G3 (bundled, SHA-256 fingerprint documented in source)
✅ Apple's policy OIDs on the leaf (receipt signing) and intermediate (WWDR)
✅ Certificate validity windows at the payload's
signedDate✅ Optional
bundleIdandenvironment(Sandbox/Production) assertions
Related MCP server: MCP Security Tools Suite
MCP server
Add to Claude Code:
claude mcp add storekit-verify -- npx -y github:tranzen21/storekit-verify-mcpOr any MCP client:
{
"mcpServers": {
"storekit-verify": {
"command": "npx",
"args": ["-y", "github:tranzen21/storekit-verify-mcp"]
}
}
}Tools
Tool | What it does |
| Full cryptographic verification → |
| Decode without verification (inspect payloads fast) |
| Decode a single signed transaction/renewal JWS |
| What a |
Ask your agent things like "verify this webhook body and tell me if I should revoke entitlement" — it can decode, verify, and explain in one pass.
CLI
# Verify a webhook body (file or stdin). Exit code 0 = valid.
npx github:tranzen21/storekit-verify-mcp storekit-verify verify webhook.json \
--bundle-id com.example.app --environment Production
# Decode without verification
storekit-verify decode webhook.json
# What does DID_FAIL_TO_RENEW / GRACE_PERIOD mean?
storekit-verify explain DID_FAIL_TO_RENEW GRACE_PERIODLibrary
import { verifyNotification } from "storekit-verify-mcp";
const result = await verifyNotification(requestBody, {
expectedBundleId: "com.example.app",
expectedEnvironment: "Production",
});
if (!result.valid) throw new Error(result.errors.join("; "));
// result.decoded.payload.notificationType, result.decoded.transactionInfo, ...Development
npm install
npm run fixtures # generates a test CA chain (openssl) + signed sample payloads
npm test # builds + runs node:test suiteThe test suite covers: valid chain verification, root-pin rejection, mismatched-key signatures, tampered payloads, bundle/environment mismatches, expired certificates, and malformed input.
Notes
Requires Node 20+.
No network calls at runtime: the Apple root is bundled; verification is fully offline.
Not affiliated with or endorsed by Apple. For the official server library, see apple/app-store-server-library-node — this project exists to make the same verification available to MCP agents and as a zero-setup CLI.
License
MIT © Marcquin Taylor
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables sending rich notifications to Discord and/or Slack webhooks with automatic service detection, retry logic, and support for embeds, blocks, and attachments. Provides secure webhook management with comprehensive input validation and rate limiting.3TypeScriptMIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables ethical security testing and attack surface management through SSL certificate validation, CVE queries, subdomain enumeration, security header analysis, and comprehensive reconnaissance capabilities. Designed for authorized penetration testing workflows with responsible disclosure practices.
- AlicenseAqualityBmaintenanceMCP server for offline verification of signed artifacts — receipts, manifests, and audit bundles. MIT licensed, works without accounts or API calls. Tools: self_test, verify_receipt, verify_bundle, explain_artifact.41055Apache 2.0

garlofficial
AlicenseNot gradedqualityCmaintenanceCryptographic verification for AI agent actions — ECDSA-secp256k1 signed Action Receipts anchored on Base, multi-dimensional trust vectors, capability tokens, and offline-verifiable on-chain proof. 29 tools.3Apache 2.0
Related MCP Connectors
Post-quantum, tamper-evident receipts for agent actions. Ed25519 + ML-DSA-65, offline verify.
Verify PyPI and npm packages, symbols, and version diffs against real artifacts. Free, no account.
Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tranzen21/storekit-verify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server