Celo MCP服务器
用于与Celo区块链交互的模型上下文协议(MCP)服务器。该服务器提供对Celo区块链数据、代币操作、NFT管理、智能合约交互、交易处理和治理操作的全面访问。
安装
- 克隆存储库:
git clone https://github.com/celo-org/celo-mcp
cd celo-mcp- 安装依赖项:
pip install -e .- 设置环境变量(可选):
export CELO_RPC_URL="https://forno.celo.org" # Default: Celo mainnet
export CELO_TESTNET_RPC_URL="https://alfajores-forno.celo-testnet.org" # Alfajores testnetMCP集成
游标IDE集成
要将此MCP服务器与Cursor IDE一起使用,请将以下配置添加到MCP设置文件中(~/.cursor/mcp.json):
{
"mcpServers": {
"celo-mcp": {
"command": "uvx",
"args": ["--refresh", "celo-mcp"]
}
}
}这 --refresh 标志确保MCP服务器启动时始终加载最新代码。
Claude桌面集成
对于Claude Desktop,将此配置添加到MCP设置文件中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"celo-mcp": {
"command": "uvx",
"args": ["--refresh", "celo-mcp"]
}
}
}用法
运行服务器
# Run the MCP server
python -m celo_mcp.server
# Or use the CLI entry point
celo-mcp-server可用工具
区块链数据操作
- get_network_status
- 获取当前网络状态和连接信息 - 无需参数
- get_block
- 按数字、哈希或“最新”获取块信息 - 参数: block_identifier, include_transactions (可选)
- get_transaction
- 通过哈希获取交易详细信息 - 参数: tx_hash
- 获取计数
- 获取账户信息,包括余额和随机数 - 参数: address
- get_latest_blocks
- 获取有关最近区块的信息 - 参数: count (可选,默认值:10,最大值:100)
令牌操作
- get_token_info
- 获取详细的令牌信息(名称、符号、小数、供应) - 参数: token_address
- get_token_balance
- 获取特定地址的令牌余额 - 参数: token_address, address
- get_celo_balances
- 获取地址的CELO和稳定令牌余额 - 参数: address
NFT操作
- get_nft_info
- 获取NFT信息,包括元数据和收集详细信息 - 参数: contract_address, token_id
- get_nft平衡
- 获取地址的NFT余额(支持ERC721和ERC1155) - 参数: contract_address, address, token_id (ERC1155可选)
智能合约操作
- call_concontract_function
- 调用只读合约函数 - 参数: contract_address, function_name, abi, function_args (可选), from_address (可选)
- 估算_合同_费用
- 估算合约函数调用的gas - 参数: contract_address, function_name, abi, from_address, function_args (可选), value (可选)
交易操作
- 估计交易
- 估算交易的天然气和成本 - 参数: to, from_address, value (可选), data (可选)
- get_gas_fee_data
- 获取当前的天然气费用数据,包括EIP-1559费用 - 无需参数
治理运营
- get_governance_proposals
- 获取支持分页的Celo治理方案 - 参数: include_inactive (可选), include_metadata (可选), page (可选), page_size (可选), offset (可选), limit (可选)
- get_proposal_details
- 获取有关特定治理提案的详细信息,包括内容和投票历史 - 参数: proposal_id
打桩作业
- 获取_状态_平衡
- 获取地址的质押余额,包括按验证器组细分的活动和待决质押 - 参数: address
- get_activatable_stakes
- 获取有关可以激活以获得奖励的未决赌注的信息 - 参数: address
- get_validator_groups
- 获取所有验证器组的信息,包括其成员、投票、容量和性能指标 - 无需参数
- get_validator_group_details
- 获取特定验证器组的详细信息,包括其成员和性能数据 - 参数: group_address
- get_otal_staking_info
- 获取网络范围内的投注信息,包括总投票数和参与度指标 - 无需参数
主要特点
代币支持
- ERC20标准:完全支持ERC20代币
- Celo稳定代币:内置对cUSD、cEUR和cREAL的支持
- 余额查询:使用正确的十进制格式获取令牌余额
- 令牌信息:检索名称、符号、小数和总供应量
NFT支持
- 多标准:支持ERC721和ERC1155标准
- 自动检测:使用ERC165自动检测NFT标准
- 元数据获取:从URI检索和解析NFT元数据
- IPFS支持:内置IPFS网关支持元数据
- 收集信息:获取收集级别信息
智能合约交互
- 函数调用:调用只读合约函数
- 天然气估算:估算合同互动的天然气成本
- ABI管理:解析和管理合同ABI
- 事件处理:检索和解码合同事件
- 交易大楼:构建合同交易
事务管理
- 天然气估算:交易的准确气体估算
- EIP-1559支持:基本费和优先费的现代收费结构
- 交易模拟:执行前模拟交易
- 费用计算:基于网络条件的动态费用计算
治理支持
- 提案管理:检索和分析Celo治理提案
- 投票数据:访问提案投票历史和结果
- 元数据集成:从GitHub存储库获取提案元数据
- 分页支持:高效浏览大量提案
质押支持
- 质押余额:按验证器组查看活动和待决赌注
- 激活跟踪:检查哪些待定赌注可以激活
- 验证信息:全面的验证器和验证器组数据
- 性能指标:验证人分数、选举状态和能力
- 网络统计:总投票权和质押参与
发展
运行测试
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=celo_mcp代码质量
# Format code
black src/
isort src/
# Lint code
flake8 src/
mypy src/贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
如有疑问、问题或意见,请:
- 检查GitHub上的现有问题
- 创建包含详细信息的新问题
- 加入社区讨论
致谢
- 基于模型上下文协议(MCP)框架构建
- 使用Web3.py进行以太坊/Celo区块链交互
- 支持Celo生态系统及其稳定的代币基础设施
