trackmcp
Back to directory
ACaiSec

ContractInfoMCP

View on GitHub

Contract Inspector MCP project

3 stars PythonOthers Updated Jul 2, 2025

Documentation

Contract Inspector MCP Service

基于 MCP 协议的本地以太坊合约信息获取工具,支持在 Cursor 等 AI 工具中使用。采用 uv 作为现代化的 Python 项目管理工具。

> 重要说明:这是一个本地 MCP 服务,Cursor 会自动管理服务的启动和停止,无需用户手动启动服务器。

功能

  • 🔍 获取 EVM 合约链上信息
  • 📊 调用所有无参数 view 函数
  • 🌐 整合 Etherscan 和 RPC 数据
  • ⚡ 并发处理,性能优化
  • 📋 标准 JSON 格式输出

环境要求

  • Python 3.10+
  • uv 包管理器

快速开始

1. 安装 uv(如果尚未安装)

bash
# 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. 设置项目

bash
# 克隆/进入项目目录
cd ContractInfoMCP

# 创建虚拟环境并安装所有依赖(一键搞定)
uv sync

3. 配置环境

bash
# 复制环境变量模板
cp env.example .env

# 编辑 .env 文件,填入您的 API keys
# 需要配置:
# - RPC_URL:您的以太坊 RPC 节点地址(如 Infura、Alchemy 等)
# - ETHERSCAN_API_KEY:您的 Etherscan API 密钥

4. 完成配置

配置完成后,您只需要在 Cursor 中添加 MCP 配置即可。无需手动启动任何服务器,Cursor 会自动管理本地 MCP 服务的生命周期。

在 Cursor 中配置

在 Cursor 的 MCP 设置中添加以下配置。Cursor 会根据此配置自动启动和管理 MCP 服务

请将 `` 替换为您项目的实际绝对路径:

macOS/Linux 用户

json
{
  "mcpServers": {
    "contract-inspector": {
      "command": "/.venv/bin/python",
      "args": ["-m", "contract_inspector.main"],
      "cwd": ""
    }
  }
}

Windows 用户

json
{
  "mcpServers": {
    "contract-inspector": {
      "command": "/.venv/Scripts/python.exe",
      "args": ["-m", "contract_inspector.main"],
      "cwd": ""
    }
  }
}

路径配置说明

将 `` 替换为您项目的实际绝对路径:

获取项目路径

bash
# 在项目目录中运行
pwd                # macOS/Linux
echo %cd%          # Windows CMD
echo $PWD          # Windows PowerShell

配置示例

  • macOS/Linux:`/Users/username/Projects/ContractInfoMCP`
  • Windows:`C:\\Users\\username\\Projects\\ContractInfoMCP`

使用示例

配置完成后,当您在 Cursor 中首次使用 MCP 工具时,Cursor 会自动启动本地服务。您可以直接在 Cursor 聊天中输入:

code
查询 0xdac17f958d2ee523a2206206994597c13d831ec7 地址的基本信息

Cursor 会自动调用相应的 MCP 工具来处理您的请求。

MCP 工具

ContractInfo

  • 功能:获取合约完整信息,调用所有不需要参数的 view 函数
  • 参数:`contract_address` (合约地址)
  • 输出:JSON 格式的合约信息和函数调用结果

ContractSummary

  • 功能:获取合约基本摘要,不调用函数
  • 参数:`contract_address` (合约地址)
  • 输出:合约基本信息

项目结构

code
contract_inspector/
├── main.py              # MCP 服务器入口
├── contract_analyzer.py # 核心分析逻辑  
├── etherscan_client.py  # Etherscan API
├── web3_client.py       # Web3 RPC 客户端
├── config.py            # 配置管理
└── utils.py             # 工具函数

故障排除

常见问题

1. "uv: command not found"

    2. "No solution found when resolving dependencies"

      3. "ModuleNotFoundError: No module named 'contract_inspector'"

        bash
        # 确保在项目目录中
           cd 
           
           # 以可编辑模式重新安装包
           uv pip install -e .
           
           # 验证模块可以正确导入
           .venv/bin/python -c "import contract_inspector; print('模块导入成功')"
           
           # 获取正确的项目路径
           pwd  # 将输出的路径用于Cursor配置

        4. MCP 配置问题

          5. 本地 MCP 服务无响应

            如何检查 MCP 服务状态

            • 在 Cursor 中查看 MCP 连接状态(通常在设置或状态栏中显示)
            • 如果需要调试,可以手动测试:`uv run python -c "import contract_inspector; print('模块可用')"`
            • 查看 Cursor 的 MCP 日志文件以获取详细的错误信息

            许可证

            MIT License

            Frequently asked questions

            What is ContractInfoMCP?

            ContractInfoMCP is Contract Inspector MCP project

            How do I install ContractInfoMCP?

            Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

            Is ContractInfoMCP open source?

            Yes — it is hosted on GitHub at https://github.com/ACaiSec/ContractInfoMCP and has 3 stars.

            Related MCP tools

            Run your own MCP server? See who uses it and what to fix.

            Measure it with TrackMCP