Validation MCP Server
A Model Context Protocol (MCP) server providing comprehensive Ethereum address validation, private key validation, checksum conversion, and cryptographic utilities.
Features
Tools (15 total)
- validate_address - Comprehensive Ethereum address validation with EIP-55 checksum verification
- validate_private_key - Private key validation with range checking
- to_checksum_address - Convert any address to EIP-55 checksummed format
- derive_address_from_private_key - Derive Ethereum address from private key
- derive_address_from_public_key - Derive address from public key (compressed/uncompressed)
- validate_signature - Validate ECDSA signature components (v, r, s)
- validate_hex_data - Validate arbitrary hex data for Ethereum use
- compare_addresses - Compare two addresses for equality
- batch_validate_addresses - Validate multiple addresses at once
- generate_vanity_check - Check if address matches vanity criteria
- keccak256_hash - Compute Keccak-256 hash
- encode_function_selector - Encode function signature to 4-byte selector
- decode_function_selector - Decode selector to function signature
- validate_ens_name - Validate ENS name format (offline)
- calculate_storage_slot - Calculate contract storage slot positions
Resources
validation://eip55-specification- EIP-55 checksum specificationvalidation://secp256k1-constants- Curve parametersvalidation://function-selectors-db- Common function selectors (500+)validation://address-patterns- Known address patternsvalidation://known-weak-keys- Weak key information
Prompts
- Address validation workflow
- Key security audit
- Data encoding helper
- Contract interaction preparation
Installation
pip install -e .
Usage
As MCP Server
Add to your Claude Desktop configuration:
{
"mcpServers": {
"validation-mcp-server": {
"command": "validation-mcp-server"
}
}
}
Example Tool Calls
# Validate an address
result = await validate_address("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed")
# Derive address from private key
wallet = await derive_address_from_private_key(
"0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318"
)
# Compute function selector
selector = await encode_function_selector("transfer(address,uint256)")
# Returns: 0xa9059cbb
Security Notes
- Private keys are never logged or persisted
- All sensitive operations clear memory after use
- Uses established cryptographic libraries
License
MIT
Metadata
Release files for validation-mcp-server 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| validation_mcp_server-1.0.0.tar.gz | 111.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| validation_mcp_server-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 149.1 kB
Release files / validation_mcp_server-1.0.0.tar.gz
| Download URL | validation_mcp_server-1.0.0.tar.gz |
|---|---|
| Size | 111.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a95f73957d7d68193c81083af208e462e35c8657508f8cfdc41bbda5e8d9295c
|
|
BLAKE2b-256 checksum How to use checksums |
2a3629bd017ffa67e3bf1fe6c78082424fa1ff61032f41affef63a1bc7e0222c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / validation_mcp_server-1.0.0-py3-none-any.whl
| Download URL | validation_mcp_server-1.0.0-py3-none-any.whl |
|---|---|
| Size | 37.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6be7d29dac59d3b1bb0a65e7c70e86df7eb8e4b9a75b4acb65fddf7e2a31a2e4
|
|
BLAKE2b-256 checksum How to use checksums |
76a1a62056edd3cab036bacaf446ccc9651d3682f89fda37414b279ed96d2a04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|