š§ MCP PID Wallet Verifier
@TalaoDAO
A lightweight and AI-friendly MCP server that allows any AI agent or MCP-compatible assistant to initiate and verify a PID (Personal Identity Data) credential presentation via OIDC4VP.
Overview
What is š§ MCP PID Wallet Verifier?
A lightweight MCP server that enables AI agents to initiate and verify a PID (Personal Identity Data) credential presentation via OIDC4VP. It supports QRābased wallet interactions and is compatible with agents like Cline or custom MCP clients.
How to use š§ MCP PID Wallet Verifier?
Invoke the two MCP REST tools: initiate_pid_request to start a presentation flow (returns a QR code and session ID), then check_pid_result to poll the credential verification status. Tools are discovered via GET /.well-known/mcp/tools.
Key features of š§ MCP PID Wallet Verifier
- OIDC4VP Draftā13 support with
direct_postresponse mode - Generates QR codes and
openid-vc://deep links - Receives SDāJWT credentials from EUDIācompatible wallets
- Stateless session storage via Redis
- Fully MCPācompliant tool discovery
- Python + Flask, jwcrypto, and qrcode tech stack
Use cases of š§ MCP PID Wallet Verifier
- Identity verification flows in AIāpowered applications
- User onboarding requiring governmentāgrade digital ID
- KYC automation and compliance checks
- Secure credential extraction for AI agents
FAQ from š§ MCP PID Wallet Verifier
What protocol does this server use for credential presentation?
It implements OIDC4VP Draftā13 with the direct_post response mode.
Which wallets are compatible?
It can receive SDāJWTābased credentials from any EUDIācompliant digital identity wallet.
Where does session data live and is it persistent?
Session data is stored temporarily in Redis with expiration (setex). The server is stateless.
How do I check the result of a credential presentation?
Call the check_pid_result tool with the session ID. It returns "pending", "verified" (with attributes like given_name, family_name, birth_date), or "error" with a description.
What are the runtime dependencies?
The server runs on Python + Flask, with Redis for session handling, jwcrypto for JWT signing/verification, and qrcode for base64āencoded QR image generation.