Skip to main content
Glama
5ajaki

Veri5ight MCP Server

by 5ajaki
README.md
# 🔍 Veri5ight

> Your friendly neighborhood Ethereum node whisperer! A Model Context Protocol (MCP) server that helps Claude chat with Ethereum nodes.

## 🌟 What's This All About?

Veri5ight is a direct interface between Claude and Ethereum nodes, providing:

- 💰 Real-time token balance and delegation info for any ERC20
- 🔎 Smart contract information
- 🚀 Direct node access without rate limits
- 🔒 Private, secure interactions

<a href="https://glama.ai/mcp/servers/en31vxf492"><img width="380" height="200" src="https://glama.ai/mcp/servers/en31vxf492/badge" alt="Veri5ight Server MCP server" /></a>

## 🚀 Quick Start

```bash
# Clone the repository
git clone https://github.com/5ajaki/veri5ight.git

# Install dependencies
npm install

# Build the project
npm run build
```

## ⚙️ Configuration

1. Copy `.env.example` to `.env`:

```bash
cp .env.example .env
```

2. Add your Ethereum node URL (example shown below - update with your actual node URL and port):

```env
ETH_NODE_URL="http://localhost:8545"  # Example - replace with your node's URL and port
```

3. Configure Claude Desktop:

```json
{
  "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`.

### Launch Options

By default, Veri5ight launches automatically with the Claude Desktop App. If you prefer to run it on-demand:

1. Remove the postbuild script from package.json that auto-launches with Claude
2. Run manually when needed:

```bash
node dist/index.js
```

## 🎮 Available Tools

### ethereum_getTokenBalance

Get the token balance for any ERC20 token using address or ENS name.

Example:

```
Claude, what's vitalik.eth's UNI balance?
```

### ethereum_getTokenDelegation

Check delegation info for any governance token.

Example:

```
Claude, who has nick.eth delegated their tokens to?
```

### ethereum_getContractInfo

Get detailed information about any smart contract.

Example:

```
Claude, what can you tell me about this contract: nick.eth
```

### ethereum_getRecentTransactions

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.

## 🔍 Debugging

Check Claude's logs for any issues:

```bash
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
```

## 💡 Why Direct Node Access?

- **Low Latency**: Direct node queries without API overhead
- **No Rate Limits**: Unlimited queries to your own node
- **Privacy**: Queries stay between you and your node
- **Full Access**: Complete JSON-RPC API availability
- **Real-time Data**: Direct access to latest blockchain state

## 🛠️ Development

```bash
# Watch mode for the cool kids
npm run dev

# Build for production
npm run build
```

## 🤝 Contributing

Got ideas? Found a bug? PRs are welcome! Just:

1. Fork it
2. Branch it
3. Code it
4. PR it

## 📜 License

MIT - Go wild! See [LICENSE](LICENSE) for the boring legal stuff.

## 🙏 Props

- Built with ❤️ by the Veri5ight team
- Powered by Claude's big brain
- Standing on the shoulders of Ethereum giants

## 🆘 Need Help?

- 🐛 Found a bug? Open an issue!
- 🤔 Questions? Start a discussion!
- 🎉 Cool feature idea? Let's hear it!

Remember: Veri5ight is like a Swiss Army knife for Ethereum data - just don't try to open bottles with it! 🍾

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting different Ethereum data types: contract info, recent transactions, token balance, token delegation, and transaction details. There is no overlap in functionality, making it easy for an agent to select the right tool.

Naming Consistency5/5

All tools follow a consistent 'ethereum_verbNoun' pattern with snake_case, using descriptive verbs like 'get' and specific nouns like 'ContractInfo' or 'TokenBalance'. This predictability enhances usability.

Tool Count4/5

Five tools is a reasonable number for an Ethereum data server, covering key queries. It might be slightly thin for broader blockchain interactions, but it's well-scoped for its apparent purpose of retrieving specific Ethereum data.

Completeness3/5

The tools cover read operations for contracts, transactions, tokens, and delegation, but there are notable gaps such as write operations (e.g., sending transactions), broader blockchain state queries, or support for other token standards. Agents can work with the provided tools but may hit limitations.

Maintenance

ActivityInactive
ResponsivenessNo issues