返回市场
塞洛-MCP

塞洛-MCP

作者:celo-org5 星标更新:2025-11-19

项目介绍

Celo MCP 服务器

这是一个用于与 Celo 区块链交互的模型上下文协议(MCP)服务器。该服务器提供了对 Celo 区块链数据、代币操作、NFT 管理、智能合约交互、交易处理以及治理操作的全面访问。

安装

  1. 克隆仓库:
git clone https://github.com/celo-org/celo-mcp
cd celo-mcp
  1. 安装依赖:
pip install -e .
  1. 设置环境变量(可选):
export CELO_RPC_URL="https://forno.celo.org"  # 默认:Celo 主网
export CELO_TESTNET_RPC_URL="https://alfajores-forno.celo-testnet.org"  # Alfajores 测试网

MCP 集成

Cursor IDE 集成

要使用此 MCP 服务器与 Cursor IDE 集成,请在您的 MCP 设置文件(~/.cursor/mcp.json)中添加以下配置:

{
  "mcpServers": {
    "celo-mcp": {
      "command": "uvx",
      "args": ["--refresh", "celo-mcp"]
    }
  }
}

--refresh 标志确保每次启动 MCP 服务器时都会加载最新的代码。

Claude Desktop 集成

对于 Claude Desktop,在您的 MCP 设置文件(macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json)中添加以下配置:

{
  "mcpServers": {
    "celo-mcp": {
      "command": "uvx",
      "args": ["--refresh", "celo-mcp"]
    }
  }
}

使用方法

运行服务器

# 运行 MCP 服务器
python -m celo_mcp.server

# 或使用 CLI 入口点
celo-mcp-server

可用工具

区块链数据操作

  1. get_network_status

    • 获取当前网络状态和连接信息
    • 不需要参数
  2. get_block

    • 根据编号、哈希或“最新”获取区块信息
    • 参数:block_identifier, include_transactions(可选)
  3. get_transaction

    • 根据哈希获取交易详情
    • 参数:tx_hash
  4. get_account

    • 获取账户信息,包括余额和nonce
    • 参数:address
  5. get_latest_blocks

    • 获取最近区块的信息
    • 参数:count(可选,默认值:10,最大值:100)

代币操作

  1. get_token_info

    • 获取详细的代币信息(名称、符号、小数位数、供应量)
    • 参数:token_address
  2. get_token_balance

    • 获取特定地址的代币余额
    • 参数:token_address, address
  3. get_celo_balances

    • 获取地址的CELO和稳定代币余额
    • 参数:address

NFT 操作

  1. get_nft_info

    • 获取NFT信息,包括元数据和集合详情
    • 参数:contract_address, token_id
  2. get_nft_balance

    • 获取地址的NFT余额(支持ERC721和ERC1155)
    • 参数:contract_address, address, token_id(对于ERC1155可选)

智能合约操作

  1. call_contract_function

    • 调用只读合约函数
    • 参数:contract_address, function_name, abi, function_args(可选),from_address(可选)
  2. estimate_contract_gas

    • 估算合约函数调用的gas
    • 参数:contract_address, function_name, abi, from_address, function_args(可选),value(可选)

交易操作

  1. estimate_transaction

    • 估算交易的gas和成本
    • 参数:to, from_address, value(可选),data(可选)
  2. get_gas_fee_data

    • 获取当前的gas费用数据,包括EIP-1559费用
    • 不需要参数

治理操作

  1. get_governance_proposals

    • 获取Celo治理提案,支持分页
    • 参数:include_inactive(可选),include_metadata(可选),page(可选),page_size(可选),offset(可选),limit(可选)
  2. get_proposal_details

    • 获取特定治理提案的详细信息,包括内容和投票历史
    • 参数:proposal_id

质押操作

  1. get_staking_balances

    • 获取地址的质押余额,包括按验证者组划分的活动和待激活质押
    • 参数:address
  2. get_activatable_stakes

    • 获取可以激活以获得奖励的待激活质押信息
    • 参数:address
  3. get_validator_groups

    • 获取所有验证者组的信息,包括其成员、投票、容量和性能指标
    • 不需要参数
  4. get_validator_group_details

    • 获取特定验证者组的详细信息,包括其成员和性能数据
    • 参数:group_address
  5. get_total_staking_info

    • 获取全网质押信息,包括总投票和参与度指标
    • 不需要参数

关键特性

代币支持

  • ERC20标准:完全支持ERC20代币
  • Celo稳定代币:内置支持cUSD、cEUR和cREAL
  • 余额查询:获取带有适当小数格式的代币余额
  • 代币信息:检索名称、符号、小数位数和总供应量

NFT 支持

  • 多标准:支持ERC721和ERC1155标准
  • 自动检测:使用ERC165自动检测NFT标准
  • 元数据抓取:从URI中抓取并解析NFT元数据
  • IPFS支持:内置IPFS网关支持元数据
  • 集合信息:获取集合级别的信息

智能合约交互

  • 函数调用:调用只读合约函数
  • gas估算:估算合约交互的gas成本
  • ABI管理:解析和管理合约ABI
  • 事件处理:检索和解码合约事件
  • 交易构建:构建合约交易

交易管理

  • gas估算:准确估算交易的gas
  • EIP-1559支持:现代费用结构,包括基础费用和优先费用
  • 交易模拟:执行前模拟交易
  • 费用计算:基于网络条件动态计算费用

治理支持

  • 提案管理:检索和分析Celo治理提案
  • 投票数据:访问提案投票历史和结果
  • 元数据集成:从GitHub存储库中获取提案元数据
  • 分页支持:高效浏览大量提案集

质押支持

  • 质押余额:按验证者组查看活动和待激活质押
  • 激活跟踪:检查哪些待激活质押可以被激活
  • 验证者信息:全面的验证者和验证者组数据
  • 性能指标:验证者得分、选举状态和容量
  • 网络统计:总投票权和质押参与度

开发

运行测试

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

# 带覆盖率运行
pytest --cov=celo_mcp

代码质量

# 格式化代码
black src/
isort src/

# 代码检查
flake8 src/
mypy src/

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 为新功能添加测试
  5. 确保所有测试通过
  6. 提交拉取请求

许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

支持

如有问题、问题或贡献,请:

  1. 查看GitHub上的现有问题
  2. 创建一个包含详细信息的新问题
  3. 加入社区讨论

致谢

  • 基于模型上下文协议(MCP)框架构建
  • 使用Web3.py进行以太坊/Celo区块链交互
  • 支持Celo生态系统及其稳定代币基础设施