Contract Inspector
Recupera información en cadena de contratos EVM localmente usando un nodo RPC de Ethereum y la API de Etherscan.
Documentación
Servicio MCP de Contract Inspector
Herramienta local de obtención de información de contratos Ethereum basada en el protocolo MCP, compatible con herramientas de IA como Cursor. Utiliza uv como herramienta moderna de gestión de proyectos Python.
Nota importante: Este es un servicio MCP local. Cursor gestionará automáticamente el inicio y la detención del servicio, sin necesidad de que el usuario inicie el servidor manualmente.
Funcionalidades
- 🔍 Obtener información en cadena de contratos EVM
- 📊 Llamar a todas las funciones view sin parámetros
- 🌐 Integrar datos de Etherscan y RPC
- ⚡ Procesamiento concurrente, rendimiento optimizado
- 📋 Salida en formato JSON estándar
Requisitos del entorno
- Python 3.10+
- Gestor de paquetes uv
Inicio rápido
1. Instalar uv (si aún no está instalado)
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或使用 pip
pip install uv
2. Configurar el proyecto
# 克隆/进入项目目录
cd ContractInfoMCP
# 创建虚拟环境并安装所有依赖(一键搞定)
uv sync
3. Configurar el entorno
# 复制环境变量模板
cp env.example .env
# 编辑 .env 文件,填入您的 API keys
# 需要配置:
# - RPC_URL:您的以太坊 RPC 节点地址(如 Infura、Alchemy 等)
# - ETHERSCAN_API_KEY:您的 Etherscan API 密钥
4. Completar la configuración
Una vez completada la configuración, solo necesita añadir la configuración MCP en Cursor. No es necesario iniciar ningún servidor manualmente; Cursor gestionará automáticamente el ciclo de vida del servicio MCP local.
Configuración en Cursor
Añada la siguiente configuración en los ajustes MCP de Cursor. Cursor iniciará y gestionará automáticamente el servicio MCP según esta configuración.
Reemplace <project_path> con la ruta absoluta real de su proyecto:
Usuarios de macOS/Linux:
{
"mcpServers": {
"contract-inspector": {
"command": "<project_path>/.venv/bin/python",
"args": ["-m", "contract_inspector.main"],
"cwd": "<project_path>"
}
}
}
Usuarios de Windows:
{
"mcpServers": {
"contract-inspector": {
"command": "<project_path>/.venv/Scripts/python.exe",
"args": ["-m", "contract_inspector.main"],
"cwd": "<project_path>"
}
}
}
Instrucciones de configuración de rutas
Reemplace <project_path> con la ruta absoluta real de su proyecto:
Obtener la ruta del proyecto:
# 在项目目录中运行
pwd # macOS/Linux
echo %cd% # Windows CMD
echo $PWD # Windows PowerShell
Ejemplo de configuración:
- macOS/Linux:
/Users/username/Projects/ContractInfoMCP - Windows:
C:\\Users\\username\\Projects\\ContractInfoMCP
Ejemplo de uso
Una vez completada la configuración, cuando utilice las herramientas MCP por primera vez en Cursor, este iniciará automáticamente el servicio local. Puede escribir directamente en el chat de Cursor:
查询 0xdac17f958d2ee523a2206206994597c13d831ec7 地址的基本信息
Cursor llamará automáticamente a la herramienta MCP correspondiente para procesar su solicitud.
Herramientas MCP
ContractInfo
- Función: Obtener información completa del contrato, llamando a todas las funciones view sin parámetros
- Parámetros:
contract_address(dirección del contrato) - Salida: Información del contrato y resultados de llamadas a funciones en formato JSON
ContractSummary
- Función: Obtener un resumen básico del contrato, sin llamar a funciones
- Parámetros:
contract_address(dirección del contrato) - Salida: Información básica del contrato
Estructura del proyecto
contract_inspector/
├── main.py # MCP 服务器入口
├── contract_analyzer.py # 核心分析逻辑
├── etherscan_client.py # Etherscan API
├── web3_client.py # Web3 RPC 客户端
├── config.py # 配置管理
└── utils.py # 工具函数
Solución de problemas
Problemas comunes
-
"uv: command not found"
- Instalar uv:
pip install uv - O visitar: https://github.com/astral-sh/uv
- Instalar uv:
-
"No solution found when resolving dependencies"
- Verificar que la versión de Python sea >= 3.10
- Ejecutar:
uv --versionypython --version
-
"ModuleNotFoundError: No module named 'contract_inspector'"
- Esto suele deberse a que Cursor no está utilizando el entorno virtual correcto. Siga estos pasos:
# 确保在项目目录中 cd <project_path> # 以可编辑模式重新安装包 uv pip install -e . # 验证模块可以正确导入 .venv/bin/python -c "import contract_inspector; print('模块导入成功')" # 获取正确的项目路径 pwd # 将输出的路径用于Cursor配置 -
Problemas de configuración MCP
- Asegúrese de que la ruta de
cwden el archivo de configuración de Cursor apunte correctamente al directorio raíz del proyecto - Asegúrese de utilizar rutas absolutas en lugar de relativas
- Verifique que el ejecutable de Python en el entorno virtual exista
- Si Cursor no puede iniciar el servicio MCP, verifique que la sintaxis del archivo de configuración sea correcta
- Asegúrese de que la ruta de
-
Servicio MCP local sin respuesta
- Verifique que el archivo
.envtenga las claves API configuradas correctamente - Consulte los registros MCP de Cursor para obtener información detallada del error
- Confirme que las dependencias del proyecto se hayan instalado correctamente mediante
uv sync
- Verifique que el archivo
Cómo verificar el estado del servicio MCP
- Consulte el estado de conexión MCP en Cursor (normalmente se muestra en la configuración o en la barra de estado)
- Si necesita depurar, puede probar manualmente:
uv run python -c "import contract_inspector; print('模块可用')" - Consulte los archivos de registro MCP de Cursor para obtener información detallada de errores
Licencia
Licencia MIT