Veri5ight MCP Server
🔍 베리파이브잇
친절한 이웃 이더리움 노드 속삭임꾼! 클로드가 이더리움 노드와 채팅할 수 있도록 돕는 모델 컨텍스트 프로토콜(MCP) 서버입니다.
🌟 이게 무슨 일이에요?
Veri5ight는 Claude와 Ethereum 노드 간의 직접 인터페이스로 다음을 제공합니다.
💰 모든 ERC20에 대한 실시간 토큰 잔액 및 위임 정보
🔎 스마트 계약 정보
🚀 속도 제한 없이 직접 노드에 접근 가능
🔒 개인적이고 안전한 상호작용
Related MCP server: ENS MCP Server
🚀 빠른 시작
지엑스피1
⚙️ 구성
.env.example``.env로 복사합니다.
cp .env.example .envEthereum 노드 URL을 추가합니다(아래 예시 - 실제 노드 URL과 포트로 업데이트):
ETH_NODE_URL="http://localhost:8545" # Example - replace with your node's URL and portClaude Desktop 구성:
{
"mcpServers": {
"veri5ight": {
"command": "node",
"args": ["/absolute/path/to/veri5ight/dist/index.js"] // Local path to the compiled index.js file
}
}
}참고: 3단계의 경로는 로컬 dist 디렉터리에 있는 컴파일된 index.js 파일을 가리켜야 합니다. 이 파일은 npm run build 실행하면 생성됩니다.
실행 옵션
기본적으로 Veri5ight는 Claude 데스크톱 앱과 함께 자동으로 실행됩니다. 온디맨드로 실행하려면 다음을 수행하세요.
Claude로 자동 실행되는 package.json에서 postbuild 스크립트를 제거합니다.
필요할 때 수동으로 실행:
node dist/index.js🎮 사용 가능한 도구
이더리움_토큰잔액 가져오기
주소나 ENS 이름을 사용하여 모든 ERC20 토큰의 토큰 잔액을 얻으세요.
예:
Claude, what's vitalik.eth's UNI balance?이더리움_getTokenDelegation
모든 거버넌스 토큰에 대한 위임 정보를 확인하세요.
예:
Claude, who has nick.eth delegated their tokens to?이더리움_getContractInfo
스마트 계약에 대한 자세한 정보를 얻으세요.
예:
Claude, what can you tell me about this contract: nick.eth이더리움_최근거래 가져오기
모든 주소의 최근 거래를 확인하세요. 참고: 이 기능은 지정된 주소와 관련된 거래의 최근 10개 블록을 스캔합니다.
예:
Claude, show me any recent transactions for vitalik.eth이 함수는 해당 블록 내에서 요청된 개수(기본값 3)의 트랜잭션을 검색하여 반환합니다. 최근 블록에서 트랜잭션이 검색되지 않으면 빈 결과를 반환합니다.
🔍 디버깅
문제가 있는지 Claude의 로그를 확인하세요.
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log💡 직접 노드 접근이 필요한 이유는 무엇인가요?
낮은 지연 시간 : API 오버헤드 없이 직접 노드 쿼리
속도 제한 없음 : 자신의 노드에 대한 무제한 쿼리
개인정보 보호 : 쿼리는 귀하와 귀하의 노드 사이에만 보관됩니다.
전체 액세스 : JSON-RPC API 전체 가용성
실시간 데이터 : 최신 블록체인 상태에 직접 액세스
🛠️ 개발
# Watch mode for the cool kids
npm run dev
# Build for production
npm run build🤝 기여하기
아이디어가 있으신가요? 버그를 찾으셨나요? PR은 환영합니다!
포크잇
가지를 치다
코드를 작성하세요
홍보하세요
📜 라이센스
MIT - 마음껏 즐겨 보세요! 지루한 법적 내용은 라이선스를 참조하세요.
🙏 소품
Veri5ight 팀이 ❤️로 만들었습니다
클로드의 큰 두뇌로 구동됩니다
이더리움 거인들의 어깨 위에 서서
🆘 도움이 필요하신가요?
🐛 버그를 발견하셨나요? 이슈를 등록하세요!
🤔 질문이 있으신가요? 토론을 시작하세요!
🎉 멋진 기능 아이디어가 있으신가요? 들려주세요!
기억하세요: Veri5ight는 이더리움 데이터를 위한 스위스 군용 칼과 같습니다. 다만, 이것으로 병을 열려고 하지 마세요! 🍾
Available Tools
5 toolsethereum_getContractInfoC
Get information about any contract
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address or ENS name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get information' but doesn't clarify what type of information (e.g., ABI, bytecode, metadata), whether it's read-only or has side effects, or any constraints like rate limits or authentication needs. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes directly to stating the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what information is returned (e.g., contract details, metadata), how errors are handled, or any behavioral traits. For a tool with no structured behavioral data, the description should provide more context to compensate, but it falls short.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'address' parameter documented as 'Contract address or ENS name'. The description adds no additional meaning beyond this, such as format examples or validation rules. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get information about any contract' states a clear verb ('Get') and resource ('contract'), but it's vague about what specific information is retrieved. It doesn't differentiate from sibling tools like ethereum_getTransactionInfo or ethereum_getTokenBalance, which also retrieve contract-related information. The purpose is understandable but lacks specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention what makes it distinct from sibling tools such as ethereum_getTransactionInfo or ethereum_getTokenDelegation, nor does it specify prerequisites or exclusions. Without this context, the agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ethereum_getRecentTransactionsC
Get recent transactions for an Ethereum address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Ethereum address or ENS name | |
| limit | No | Number of transactions to return (default: 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states what the tool does without adding context. It does not mention rate limits, error handling, data freshness, or whether it queries a specific blockchain network (e.g., mainnet, testnet), leaving significant gaps in understanding its operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core functionality without unnecessary words. It is front-loaded and appropriately sized for the tool's complexity, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a tool that fetches blockchain data. It does not cover return values (e.g., transaction format, timestamps), error cases, or network specifics, which are critical for an AI agent to use this tool effectively in context with its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('address' and 'limit') with their types and defaults. The description does not add meaning beyond this, such as explaining ENS name resolution or transaction ordering, so it meets the baseline for adequate but not enhanced parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('recent transactions for an Ethereum address'), making it immediately understandable. However, it does not explicitly differentiate from sibling tools like 'ethereum_getTransactionInfo' (which might get details of a specific transaction), leaving room for ambiguity in sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'ethereum_getTransactionInfo' for detailed info on a single transaction. It lacks context about use cases, prerequisites, or exclusions, offering minimal usage direction beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ethereum_getTokenBalanceC
Get ERC20 token balance for an address
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Ethereum address or ENS name | |
| token | Yes | Token contract address or ENS name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't describe traits like read-only nature, potential rate limits, error conditions, or response format. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and uses clear terminology, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral traits, return values, or error handling, which are crucial for a tool interacting with blockchain data. The high schema coverage doesn't compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('address' and 'token') with their types and descriptions. The description adds no additional parameter semantics beyond what the schema provides, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('ERC20 token balance for an address'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'ethereum_getContractInfo' or 'ethereum_getTokenDelegation', but the specificity of 'ERC20 token balance' helps distinguish it from general balance queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools, prerequisites, or contextual constraints, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ethereum_getTokenDelegationC
Get delegation info for an ERC20 governance token
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Ethereum address or ENS name | |
| token | Yes | Token contract address or ENS name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe any behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what format the delegation info returns. This leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without any unnecessary words. It's front-loaded with the core functionality, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address what 'delegation info' entails, how it's structured, or any behavioral aspects like error handling. For a tool with two parameters and no structured output information, more context is needed to fully understand its operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters ('address' and 'token'). The description doesn't add any additional semantic meaning beyond what the schema provides, such as explaining the relationship between the parameters or providing usage examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('delegation info for an ERC20 governance token'), making it immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'ethereum_getTokenBalance' or 'ethereum_getContractInfo', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparisons to sibling tools, leaving the agent to infer usage scenarios based solely on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ethereum_getTransactionInfoC
Get detailed information about an Ethereum transaction
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' information, implying a read-only operation, but doesn't specify if it's safe, requires authentication, has rate limits, or what the return format looks like (e.g., JSON structure, error handling). For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of Ethereum transactions and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' includes (e.g., block number, gas used, status), potential errors (e.g., invalid hash), or behavioral traits. For a tool with no structured output and no annotations, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'hash' parameter clearly documented as 'Transaction hash'. The description adds no additional meaning beyond this, such as hash format (e.g., 0x-prefixed hex) or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('detailed information about an Ethereum transaction'), making the purpose unambiguous. However, it doesn't differentiate this from sibling tools like 'ethereum_getRecentTransactions' or 'ethereum_getContractInfo', which also retrieve transaction-related data, so it doesn't reach the highest clarity level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a transaction hash), exclusions, or comparisons to siblings like 'ethereum_getRecentTransactions' for recent transactions or 'ethereum_getContractInfo' for contract details. This leaves the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
ethereum_getContractInfo - First observed
ethereum_getRecentTransactions - First observed
ethereum_getTokenBalance - First observed
ethereum_getTokenDelegation - First observed
ethereum_getTransactionInfo
TDQS
Scored across 5 tools
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.
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.
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.
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
Related MCP Connectors
Ethereum MCP: Chainlink feeds, gas, ERC-20, ENS, ABI, contract calls, ERC-8004, EAS.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Ethereum tools over MCP: Chainlink feeds, ENS, ERC-8004 agents, EAS attestations, transactions.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides Ethereum blockchain data tools via Etherscan's API, enabling users to check ETH balances, view transactions, track token transfers, fetch contract ABIs, monitor gas prices, and resolve ENS names.67 npm1MIT
- AlicenseBqualityDmaintenanceEnables Claude to interact with the Ethereum Name Service (ENS) system to resolve names, check availability, retrieve records, and perform other ENS-related operations through natural language.834 npm8MIT
- AlicenseDqualityDmaintenanceA comprehensive toolkit for Ethereum blockchain analysis within Claude AI, enabling contract auditing, wallet analysis, profitability tracking, and on-chain data retrieval.111,026 npm19MIT
- AlicenseBqualityDmaintenanceProvides Claude with access to Ethereum and EVM-compatible blockchain operations, enabling wallet management, transaction handling, contract interactions, and blockchain queries through natural language.43558 npm10MIT