
MCP server that provides AI agents with access to Celo blockchain data and functionality
概览
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. 3. Set up environment variables (optional): To use this MCP server with Cursor IDE, add the following configuration to your MCP settings file (~/.cursor/mcp.json): The --refresh flag ensures that the latest code is always loaded when the MCP server starts. For Claude Desktop, add this configuration to your MCP settings file (~/Library/Application Support/Claude/claude_desktop_config.json on macOS): 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. Then point any remote-capable MCP client at the URL: GET /health returns 200 for hosting health checks. See docs/DEPLOYMENT.
README
以下为原文 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
- Clone the repository:
git clone https://github.com/celo-org/celo-mcp
cd celo-mcp
- Install dependencies:
pip install -e .
- Set up environment variables (optional):
export CELO_MCP_RPC_URL="https://forno.celo.org" # Default: Celo mainnet
export 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):
{
"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):
{
"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:
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:
{
"mcpServers": {
"celo": { "url": "https:///mcp" }
}
}
Configuration (environment variables):
| Var | Purpose | Default |
|---|---|---|
MCP_TRANSPORT |
stdio or http |
stdio |
HOST / PORT |
HTTP bind host / port | 127.0.0.1 / 3000 |
MCP_ALLOWED_HOSTS |
Hostnames accepted by the SDK’s DNS-rebinding check, comma-separated. Set to your public hostname(s), or * to disable the check |
localhost only |
MCP_CORS_ORIGINS |
Comma-separated allowed origins (or *) |
* |
MCP_RATE_LIMIT / MCP_RATE_WINDOW |
Requests per client per window (seconds); /health is exempt |
60 / 60 |
MCP_TRUST_PROXY |
Number 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 deployment |
unset |
MCP_AUTH_TOKEN |
If set, requires Authorization: Bearer on /mcp |
unset (open) |
CELO_MCP_RPC_URL |
Celo RPC endpoint | Forno for the selected network |
安装
uvx --refresh celo-mcp配置
{
"mcpServers": {
"celo-mcp": {
"command": "uvx",
"args": ["--refresh", "celo-mcp"]
}
}
}