veri5ight
Enables Claude to interact with Ethereum nodes, allowing users to check ENS token balances, view smart contract code, and decode transactions through natural language.
Enables Claude to interact with Ethereum nodes, allowing users to check ENS token balances, view smart contract code, and decode transactions through natural language.
Your friendly neighborhood Ethereum node whisperer! A Model Context Protocol (MCP) server that helps Claude chat with Ethereum nodes.
Veri5ight is a direct interface between Claude and Ethereum nodes, providing:
# Clone the repository
git clone https://github.com/5ajaki/veri5ight.git
# Install dependencies
npm install
# Build the project
npm run build
.env.example
to .env
:cp .env.example .env
ETH_NODE_URL="http://localhost:8545" # Example - replace with your node's URL and port
{
"mcpServers": {
"veri5ight": {
"command": "node",
"args": ["/absolute/path/to/veri5ight/dist/index.js"] // Local path to the compiled index.js file
}
}
}
Note: The path in step 3 must point to the compiled index.js in your local dist directory. This is created when you run npm run build
.
By default, Veri5ight launches automatically with the Claude Desktop App. If you prefer to run it on-demand:
node dist/index.js
Get the token balance for any ERC20 token using address or ENS name.
Example:
Claude, what's vitalik.eth's UNI balance?
Check delegation info for any governance token.
Example:
Claude, who has nick.eth delegated their tokens to?
Get detailed information about any smart contract.
Example:
Claude, what can you tell me about this contract: nick.eth
View recent transactions for any address. Note: This function scans the most recent 10 blocks for transactions involving the specified address.
Example:
Claude, show me any recent transactions for vitalik.eth
The function will return up to the requested number of transactions (default 3) found within those blocks. If no transactions are found in the recent blocks, it will return an empty result.
Check Claude's logs for any issues:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
# Watch mode for the cool kids
npm run dev
# Build for production
npm run build
Got ideas? Found a bug? PRs are welcome! Just:
MIT - Go wild! See LICENSE for the boring legal stuff.
Remember: Veri5ight is like a Swiss Army knife for Ethereum data - just don't try to open bottles with it! ?
[
{
"description": "Get recent transactions for an Ethereum address",
"inputSchema": {
"properties": {
"address": {
"description": "Ethereum address or ENS name",
"type": "string"
},
"limit": {
"description": "Number of transactions to return (default: 3)",
"type": "number"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "ethereum_getRecentTransactions"
},
{
"description": "Get ERC20 token balance for an address",
"inputSchema": {
"properties": {
"address": {
"description": "Ethereum address or ENS name",
"type": "string"
},
"token": {
"description": "Token contract address or ENS name",
"type": "string"
}
},
"required": [
"address",
"token"
],
"type": "object"
},
"name": "ethereum_getTokenBalance"
},
{
"description": "Get delegation info for an ERC20 governance token",
"inputSchema": {
"properties": {
"address": {
"description": "Ethereum address or ENS name",
"type": "string"
},
"token": {
"description": "Token contract address or ENS name",
"type": "string"
}
},
"required": [
"address",
"token"
],
"type": "object"
},
"name": "ethereum_getTokenDelegation"
},
{
"description": "Get information about any contract",
"inputSchema": {
"properties": {
"address": {
"description": "Contract address or ENS name",
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"name": "ethereum_getContractInfo"
},
{
"description": "Get detailed information about an Ethereum transaction",
"inputSchema": {
"properties": {
"hash": {
"description": "Transaction hash",
"type": "string"
}
},
"required": [
"hash"
],
"type": "object"
},
"name": "ethereum_getTransactionInfo"
}
]