배포된 EVM runtime bytecode를 구조적으로 분석하여 function selector, storage access 및 control-flow graph를 추출합니다.
다른 이름 cdump/evmole, evmole-mcp
- 스타
- 474
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.9.4
- 마지막 커밋
- 2026년 11월 10일
- 라이선스
- MIT
EVMole MCP란?
EVMole은(는) MCP server입니다. 배포된 EVM runtime bytecode를 구조적으로 분석하여 function selector, storage access 및 control-flow graph를 추출합니다.
프로젝트 README에서 생성된 요약
EVMole MCP server 정보
EVMole은 MCP 호환 agent를 사용하는 개발자가 배포된 EVM runtime bytecode를 분석하여 구조화된 데이터를 추출할 수 있도록 지원합니다. npx를 통해 이 로컬 server를 실행하면, 사용자는 analyze_evm_bytecode tool에 hexadecimal bytecode를 제공하여 숨겨진 컨트랙트 세부 정보를 파악할 수 있습니다. 이 server는 완전히 stdio를 통해 작동하며 API key, 인증 정보 또는 네트워크 접속이 필요하지 않으므로, bytecode 분석 내용이 로컬 머신에 비공개로 유지됩니다.
개발자는 이 도구를 사용하여 function selector, dispatch location, 추론된 argument 또는 state mutability를 가져올 수 있습니다. 또한 persistent 및 transient storage access, compiler metadata, control-flow graph에 대한 통찰력을 제공합니다. disassembly와 basic block은 출력량이 매우 클 수 있으므로 이러한 기능은 선택 사항으로 제공됩니다. 이 도구는 canonical version 1 EVMole 응답 형식을 기반으로 구조화된 콘텐츠를 반환하므로, agent가 원본 소스 코드 없이도 컨트랙트 동작을 프로그래밍 방식으로 해석할 수 있습니다.
활용 사례
- 1컨트랙트 function signature 식별제공된 hex string에서 function selector와 dispatch location을 추출하도록 agent에게 요청합니다.
- 2storage 상호작용 패턴 매핑컨트랙트가 persistent 및 transient storage 도메인과 어떻게 상호작용하는지 분석을 요청합니다.
- 3컨트랙트 실행 로직 시각화bytecode를 제공하여 심층 분석을 위한 control-flow graph와 disassembly를 생성합니다.
- 4컨트랙트 state mutability 추론특정 function이 컨트랙트의 state를 수정하도록 설계되었는지 확인합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
EVMole MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 EVMole MCP 설치
$ claude mcp add evmole -- npx -y evmole-mcpCursor에 EVMole MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}VS Code에 EVMole MCP 설치
.vscode/mcp.json
{
"servers": {
"evmole": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}VS Code CLI에 EVMole MCP 설치
$ code --add-mcp '{"name":"evmole","type":"stdio","command":"npx","args":["-y","evmole-mcp"]}'Claude Desktop에 EVMole MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}Codex에 EVMole MCP 설치
$ codex mcp add evmole -- npx -y evmole-mcpCodex config.toml에 EVMole MCP 설치
~/.codex/config.toml
[mcp_servers.evmole] command = "npx" args = ["-y", "evmole-mcp"]
Gemini CLI에 EVMole MCP 설치
$ gemini mcp add -s user evmole npx -- -y evmole-mcpGemini settings.json에 EVMole MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": [
"-y",
"evmole-mcp"
]
}
}
}자동 검사
2026년 11월 12일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능통과
- 오픈 소스 라이선스 (OSI)통과
- 최근 1년 내 커밋 또는 릴리스통과
- 패키지 이름이 인기 패키지와 유사하지 않음통과
- 원격 엔드포인트가 HTTPS 사용검사되지 않음
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 모델에 대한 숨겨진 지침 없음통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음통과
README
GitHub에서 보기evmole-mcp
evmole-mcp is the local MCP server for
EVMole, a structured analyzer for deployed
EVM runtime bytecode. It exposes one tool, analyze_evm_bytecode, for use by
MCP-compatible agents and clients.
Start the server
npx -y evmole-mcp@latest
Node.js 22 or newer is required.
Configure an MCP client
{
"mcpServers": {
"evmole": {
"command": "npx",
"args": ["-y", "evmole-mcp@latest"]
}
}
}
The server communicates over stdio.
Analyze runtime bytecode
The analyze_evm_bytecode tool accepts hexadecimal bytecode, optional
include feature names, and optional offset and limit values. It can
extract:
- function selectors and dispatch locations;
- inferred arguments and state mutability;
- inferred persistent and transient storage access;
- compiler metadata;
- disassembly, basic blocks, and a control-flow graph.
Function selectors can be requested on their own with selectors. Requesting
arguments or stateMutability also enables selector extraction, and the
requested function information is combined in analysis.functions. Other
requested analyses are returned in their corresponding analysis fields.
If include is omitted, the tool analyzes selectors, arguments, state
mutability, both storage domains, and metadata. Disassembly and control-flow
features are opt-in because their output can be large. The tool returns the
canonical version 1 EVMole response as structured content plus a JSON text
fallback. Check warnings and pagination before interpreting the result.
Privacy and limitations
The server uses stdio only, makes no network requests, requires no credentials, does not fetch contract addresses, and writes no files. It does not decode calldata, verify source, execute creation bytecode, or fully decompile source. Arguments, mutability, and storage descriptions are inferred rather than verified source-level facts.
Each evmole-mcp release depends on the matching exact evmole version.
See https://github.com/cdump/evmole/tree/master/agent for full setup and privacy guidance. Report problems at https://github.com/cdump/evmole/issues.
EVMole MCP 질문
EVMole MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add evmole -- npx -y evmole-mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
EVMole MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
EVM bytecode에서 무엇을 추출할 수 있나요?
function selector, dispatch location, 추론된 argument, state mutability, storage access, compiler metadata, disassembly 및 control-flow graph를 추출할 수 있습니다.
이 server가 네트워크 요청을 하거나 인증 정보를 요구하나요?
아니요, 이 server는 stdio만 사용하며 네트워크 요청을 하지 않고 인증 정보도 필요하지 않습니다.
분석의 한계는 무엇인가요?
이 도구는 calldata를 디코딩하거나 소스 코드를 검증, creation bytecode를 실행 또는 소스 코드를 완전히 디컴파일하지는 않습니다.