Celo MCP Server

org.celo由 celo.org 發布v0.4.3更新於 Oct 30, 2026

Query Celo blockchain data: blocks, tokens, NFTs, contracts, governance and staking

發布方自己的服務:Celo Docs

已驗證STDIO僅桌面金融開發者工具

概覽

AI 產生的概覽

針對 Celo 區塊鏈的 MCP 伺服器,讓助理查詢區塊、交易、代幣餘額、治理提案與質押資料,並可申請測試網水龍頭資金。

可以做什麼
  • 檢視網路狀態、區塊、最新區塊,以及依雜湊查詢交易詳情
  • 查詢 CELO、穩定幣與 ERC20 代幣餘額,以及目前 gas 費用資料
  • 讀取治理提案清單與單一提案詳情,含投票紀錄
  • 檢視質押餘額、可啟用質押、驗證者群組及全網質押統計
  • 向 Celo 水龍頭申請測試網 CELO,並查詢發放狀態
適用情境
適合需要助理回答 Celo 鏈上活動、錢包餘額、治理或驗證者質押相關問題,或在 Celo Sepolia 測試網開發時取得測試幣的情境。
執行需求
以 Python 套件形式在本機執行,可透過 uvx 或 pip 安裝。選用環境變數:CELO_MCP_RPC_URL(預設 Forno)、CELO_MCP_USE_TESTNET,以及啟用水龍頭工具所需的 CELO_MCP_FAUCET_API_KEY。需要能連線 Celo RPC 端點。另提供選用 HTTP 傳輸,涉及主機、CORS、限流與 MCP_AUTH_TOKEN 等設定。
安裝前請注意
水龍頭工具會消耗與 CELO_MCP_FAUCET_API_KEY 綁定的額度(每個帳號與地址每 24 小時 10 次);該金鑰只應在 stdio 或已驗證的部署中使用,因為開放的 HTTP 端點會讓任何人消耗額度並導致金鑰被撤銷。水龍頭請求會把測試網 CELO 傳送到指定地址。README 列出的 NFT、合約呼叫、帳戶資訊等工具並不在實際工具清單中。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Celo MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Celo MCP Server

A Model Context Protocol (MCP) server for interacting with the Celo blockchain. This server provides comprehensive access to Celo blockchain data, token operations, NFT management, smart contract interactions, transaction handling, and governance operations.

Installation

  1. Clone the repository:
bash
git clone https://github.com/celo-org/celo-mcpcd celo-mcp
  1. Install dependencies:
bash
pip install -e .
  1. Set up environment variables (optional):
bash
export CELO_MCP_RPC_URL="https://forno.celo.org"  # Default: Celo mainnetexport CELO_MCP_USE_TESTNET=true                  # Use Celo Sepolia instead

MCP Integration

Cursor IDE Integration

To use this MCP server with Cursor IDE, add the following configuration to your MCP settings file (~/.cursor/mcp.json):

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

The --refresh flag ensures that the latest code is always loaded when the MCP server starts.

Claude Desktop Integration

For Claude Desktop, add this configuration to your MCP settings file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

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

Connect remotely (Streamable HTTP)

The server can also run as a remote MCP endpoint over Streamable HTTP, so clients connect with a single URL — no local Python install. The stdio setup above is unchanged; this is an additional transport.

Run it in HTTP mode:

bash
celo-mcp-server --transport http --port 3000# or via env:MCP_TRANSPORT=http PORT=3000 celo-mcp-server

Then point any remote-capable MCP client at the URL:

json
{  "mcpServers": {    "celo": { "url": "https://<your-host>/mcp" }  }}

Configuration (environment variables):

VarPurposeDefault
MCP_TRANSPORTstdio or httpstdio
HOST / PORTHTTP bind host / port127.0.0.1 / 3000
MCP_ALLOWED_HOSTSHostnames accepted by the SDK's DNS-rebinding check, comma-separated. Set to your public hostname(s), or * to disable the checklocalhost only
MCP_CORS_ORIGINSComma-separated allowed origins (or *)*
MCP_RATE_LIMIT / MCP_RATE_WINDOWRequests per client per window (seconds); /health is exempt60 / 60
MCP_TRUST_PROXYNumber of X-Forwarded-For hops your infrastructure appends, so the rate limiter keys on the client rather than the proxy address. 1 for a single reverse proxy, 2 behind a Google external load balancer. Counted from the right — see deploymentunset
MCP_AUTH_TOKENIf set, requires Authorization: Bearer <token> on /mcpunset (open)
CELO_MCP_RPC_URLCelo RPC endpointForno for the selected network
CELO_MCP_USE_TESTNETUse Celo Sepolia (chain ID 11142220) instead of mainnetfalse
CELO_MCP_FAUCET_API_KEYEnables the faucet tools. Create one at faucet.celo.org/keys — see Faucet accessunset (faucet tools disabled)

GET /health returns 200 for hosting health checks. See docs/DEPLOYMENT.md for container/hosting instructions.

Usage

Running the Server

bash
# Run the MCP serverpython -m celo_mcp.server
# Or use the CLI entry pointcelo-mcp-server

Available Tools

Blockchain Data Operations
  1. get_network_status

    • Get current network status and connection information
    • No parameters required
  2. get_block

    • Fetch block information by number, hash, or "latest"
    • Parameters: block_identifier, include_transactions (optional)
  3. get_transaction

    • Get transaction details by hash
    • Parameters: tx_hash
  4. get_account

    • Get account information including balance and nonce
    • Parameters: address
  5. get_latest_blocks

    • Get information about recent blocks
    • Parameters: count (optional, default: 10, max: 100)
Token Operations
  1. get_token_info

    • Get detailed token information (name, symbol, decimals, supply)
    • Parameters: token_address
  2. get_token_balance

    • Get token balance for a specific address
    • Parameters: token_address, address
  3. get_celo_balances

    • Get CELO and stable token balances for an address
    • Parameters: address
NFT Operations
  1. get_nft_info

    • Get NFT information including metadata and collection details
    • Parameters: contract_address, token_id
  2. get_nft_balance

    • Get NFT balance for an address (supports ERC721 and ERC1155)
    • Parameters: contract_address, address, token_id (optional for ERC1155)
Smart Contract Operations
  1. call_contract_function

    • Call a read-only contract function
    • Parameters: contract_address, function_name, abi, function_args (optional), from_address (optional)
  2. estimate_contract_gas

    • Estimate gas for a contract function call
    • Parameters: contract_address, function_name, abi, from_address, function_args (optional), value (optional)
Transaction Operations
  1. estimate_transaction

    • Estimate gas and cost for a transaction
    • Parameters: to, from_address, value (optional), data (optional)
  2. get_gas_fee_data

    • Get current gas fee data including EIP-1559 fees
    • No parameters required
Governance Operations
  1. get_governance_proposals

    • Get Celo governance proposals with pagination support
    • Parameters: include_inactive (optional), include_metadata (optional), page (optional), page_size (optional), offset (optional), limit (optional)
  2. get_proposal_details

    • Get detailed information about a specific governance proposal including content and voting history
    • Parameters: proposal_id
Staking Operations
  1. get_staking_balances

    • Get staking balances for an address, including active and pending stakes broken down by validator group
    • Parameters: address
  2. get_activatable_stakes

    • Get information about pending stakes that can be activated for earning rewards
    • Parameters: address
  3. get_validator_groups

    • Get information about all validator groups, including their members, votes, capacity, and performance metrics
    • No parameters required
  4. get_validator_group_details

    • Get detailed information about a specific validator group including its members and performance data
    • Parameters: group_address
  5. get_total_staking_info

    • Get network-wide staking information including total votes and participation metrics
    • No parameters required
Faucet Operations

Both faucet tools are testnet-only and require CELO_MCP_FAUCET_API_KEY (see Faucet access below).

  1. request_faucet_funds

    • Request testnet CELO for an address. Returns the payout transaction hash if it lands while the request is open, otherwise a request_key to poll with
    • Sends 3 CELO per request, and CELO only — no USDm or other stablecoins
    • Parameters: beneficiary, optional network (celo-sepolia), optional wait (default true)
  2. get_faucet_request_status

    • Check whether a queued faucet request has paid out
    • Parameters: request_key, optional network (celo-sepolia)

Faucet access

The faucet's browser flow is gated on reCAPTCHA v3, which scores headless callers badly, so the faucet tools use its API-key path instead. Create a key at faucet.celo.org/keys (sign in with GitHub; up to 2 keys, 90-day expiry) and set it in your MCP client's env block:

json
{  "mcpServers": {    "celo-mcp": {      "command": "uvx",      "args": ["celo-mcp"],      "env": { "CELO_MCP_FAUCET_API_KEY": "cfk_..." }    }  }}

The key is read from the environment and never passed as a tool argument, so it does not enter the model's context or the conversation transcript.

Limits are set by the faucet, not by this server: 10 requests per 24 hours, counted per GitHub account and per beneficiary address — holding two keys does not double the allowance. Global daily and 10-minute burst ceilings apply across all keys on top of that. celo-sepolia (chain ID 11142220) is the only supported network; there is no mainnet faucet.

The faucet publishes its API contract at openapi.json and llms-full.txt; treat those as the source of truth if amounts or limits change.

Deployment note: the HTTP transport is open unless MCP_AUTH_TOKEN is set. Only configure a faucet key for stdio or authenticated deployments — otherwise anyone reaching /mcp can spend your daily allowance on arbitrary addresses, and the key can be revoked for abuse.

Key Features

Token Support

  • ERC20 Standard: Full support for ERC20 tokens
  • Mento Stable Tokens: Built-in support for USDm, EURm and BRLm (formerly cUSD, cEUR and cREAL), plus XOFm, KESm, PHPm, COPm and GHSm
  • Balance Queries: Get token balances with proper decimal formatting
  • Token Information: Retrieve name, symbol, decimals, and total supply

NFT Support

  • Multi-Standard: Support for both ERC721 and ERC1155 standards
  • Automatic Detection: Automatically detects NFT standard using ERC165
  • Metadata Fetching: Retrieves and parses NFT metadata from URIs
  • IPFS Support: Built-in IPFS gateway support for metadata
  • Collection Information: Get collection-level information

Smart Contract Interactions

  • Function Calls: Call read-only contract functions
  • Gas Estimation: Estimate gas costs for contract interactions
  • ABI Management: Parse and manage contract ABIs
  • Event Handling: Retrieve and decode contract events
  • Transaction Building: Build contract transactions

Transaction Management

  • Gas Estimation: Accurate gas estimation for transactions
  • EIP-1559 Support: Modern fee structure with base fee and priority fee
  • Transaction Simulation: Simulate transactions before execution
  • Fee Calculation: Dynamic fee calculation based on network conditions

Governance Support

  • Proposal Management: Retrieve and analyze Celo governance proposals
  • Voting Data: Access proposal voting history and results
  • Metadata Integration: Fetch proposal metadata from GitHub repositories
  • Pagination Support: Efficiently browse through large sets of proposals

Staking Support

  • Staking Balances: View active and pending stakes by validator group
  • Activation Tracking: Check which pending stakes can be activated
  • Validator Information: Comprehensive validator and validator group data
  • Performance Metrics: Validator scores, election status, and capacity
  • Network Statistics: Total voting power and staking participation

Development

Running Tests

bash
# Install development dependenciespip install -e ".[dev]"
# Run testspytest
# Run with coveragepytest --cov=celo_mcp

Code Quality

bash
# Format codeblack src/isort src/
# Lint codeflake8 src/mypy src/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Ensure all tests pass
  6. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For questions, issues, or contributions, please:

  1. Check the existing issues on GitHub
  2. Create a new issue with detailed information
  3. Join the community discussions

Acknowledgments

  • Built on the Model Context Protocol (MCP) framework
  • Uses Web3.py for Ethereum/Celo blockchain interactions
  • Supports the Celo ecosystem and its stable token infrastructure

來源:README.md,提交 f2c1bac

工具

17

get_network_status

Retrieve the current status and connection information of the Celo network, including network health and connectivity details.

無需輸入參數。

get_block

Fetch detailed information about a specific block on the Celo blockchain using its number or hash. Optionally include full transaction details within the block.

輸入參數block_identifier必填include_transactions

get_transaction

Obtain detailed information about a specific transaction on the Celo blockchain using its transaction hash.

輸入參數tx_hash必填

get_latest_blocks

Get information about the most recent blocks on the Celo blockchain, with the ability to specify the number of blocks to retrieve and starting offset.

輸入參數countoffset

get_token_balance

Get the token balance for a specific address.

輸入參數address必填token_address必填

get_celo_balances

Get CELO and stable token balances for an address.

輸入參數address必填

get_stable_token_balance

Get balances of all major stable tokens and CELO for an address using multicall.

輸入參數address必填

get_gas_fee_data

Get current gas fee data including EIP-1559 fees.

無需輸入參數。

get_governance_proposals

Get Celo governance proposals with pagination support.

輸入參數pagelimitoffsetpage_sizeinclude_inactiveinclude_metadata

get_proposal_details

Get detailed information about a specific governance proposal including its content and voting history.

輸入參數proposal_id必填

get_staking_balances

Get staking balances for an address, including active and pending stakes broken down by validator group.

輸入參數address必填

get_activatable_stakes

Get information about pending stakes that can be activated for earning rewards.

輸入參數address必填

get_validator_groups

Get information about all validator groups, including their members, votes, capacity, and performance metrics.

輸入參數pagelimitoffsetpage_size

get_validator_group_details

Get detailed information about a specific validator group including its members and performance data.

輸入參數group_address必填

get_total_staking_info

Get network-wide staking information including total votes and participation metrics.

無需輸入參數。

request_faucet_funds

Request testnet CELO from the Celo faucet for an address. Testnet only (celo-sepolia); there is no mainnet faucet. Sends 3 CELO per request; dispenses CELO only - no USDm or other stablecoins. Requires the CELO_MCP_FAUCET_API_KEY environment variable, set to a key created at https://faucet.celo.org/keys. Limited to 10 requests per 24 hours, per account and per beneficiary address. Returns the payout transaction hash if it lands while the request is open, otherwise a request_key to check with get_faucet_request_status.

輸入參數waitnetworkbeneficiary必填

get_faucet_request_status

Check whether a queued faucet request has paid out, using the request_key returned by request_faucet_funds. Returns the payout transaction hash once the status is Done.

輸入參數networkrequest_key必填

版本歷史

1
  1. v0.4.3最新Oct 30, 2026

評分

已滿足適用檢查項的 80%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Celo 整合