Announcing Celina: Celo SDK, MCP Server, and Hosted MCP for AI Agents & Apps
Unofficial community tooling. Celina is not an official Celo / Celo Foundation product, endorsement, or supported infrastructure. It is open-source software published by Canvassing Intelligence for builders who want agent- and wallet-friendly access to Celo mainnet.
Celina integrates with on-chain protocols and third-party services (e.g. Mento, Uniswap, Aave, Carbon DeFi, GoodDollar, Self) — it is not affiliated with, endorsed by, or operated by those providers. Names and trademarks belong to their respective owners.
Use at your own risk; always verify transactions in your wallet.
TL;DR: Canvassing Intelligence is releasing a three-layer stack for building on Celo mainnet with AI agents and modern web wallets:
| Layer | Package / deployment | What it does |
|---|---|---|
| SDK | @andrewkimjoseph/celina-sdk |
Chain reads + unsigned transaction preparation (no private keys in your app) |
| MCP | @andrewkimjoseph/celina-mcp |
Model Context Protocol server for Cursor, Claude Desktop, LM Studio, VS Code / Continue, etc. |
| MCP Host | https://mcp.usecelina.xyz/api/mcp | Public read-only + Carbon prepare endpoint over Streamable HTTP (Vercel) |
All three are open source (MIT), Celo mainnet only, and designed so humans keep custody: agents and backends prepare flows; wallets sign.
About Canvassing
Canvassing is an umbrella for work across Celo and beyond. Website: thecanvassing.xyz. Background on the two wings: umbrella announcement on Celo Forum. Follow or message Canvassing via the forum profile.
Two wings sit under the umbrella today:
| Wing | Focus |
|---|---|
| Canvassing Insights | A research marketplace — connecting researchers and participants around structured insight work (paid online surveys, product testing, and Polls rewarded in stablecoins). Hub coming at thecanvassing.xyz/insights. |
| Canvassing Intelligence | The AI wing — tooling for agents, MCP, and on-chain preparation flows (including Celina). |
Celina is a Canvassing Intelligence project. It is separate from Canvassing Insights’ marketplace roadmap, though both share the same builder ethos: useful tools for real people on real chains—without implying official protocol backing.
Why Canvassing Intelligence built this
Celo is mobile-first, stablecoin-rich, and increasingly agent-shaped—but LLMs and IDE assistants still struggle to do useful on-chain work without:
- A consistent token registry (USDm, EURm, CELO, GoodDollar, bridged stables, etc.)
- Safe read → quote → estimate → prepare → sign patterns
- First-class coverage of Celo-native DeFi (Mento FX, Uniswap v4 on Celo, Aave V3, Carbon DeFi, GoodDollar UBI, governance, staking)
- A standard way to plug into MCP clients without every team re-wiring viem calls
Celina is Canvassing Intelligence’s answer: one TypeScript SDK, one MCP server, and one hosted endpoint so you can start in an IDE in minutes or embed the SDK in a product with wagmi.
The three layers (how they fit together)
┌─────────────────────────────────────────────────────────────┐
│ Your app (React + wagmi) OR MCP client (Cursor, Claude) │
└───────────────────────────┬─────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
celina-sdk celina-mcp celina-mcp-host
(npm library) (stdio / npx) (HTTPS on Vercel)
│ │ │
└──────────────────┴──────────────────┘
│
Celo mainnet (reads + prepare*)
*writes only with local keys (stdio)
1. Celina SDK — @andrewkimjoseph/celina-sdk
For: Frontend apps, backends, and any TypeScript service that should never hold user keys.
Capabilities:
- Reads: balances, blocks, txs, ENS, governance, staking, NFTs, contract calls (caller-supplied ABI), GoodDollar whitelist/UBI eligibility, Carbon DeFi exploration, and more
- Prepare: returns
SerializedPreparedFlow— ordered unsigned steps for wagmisendTransactionAsync/ viemwalletClient.sendTransaction - Attribution: every calldata step gets a CELINA suffix (
appendCelinaCalldataTag) so on-chain activity can be attributed consistently (sends, Mento, Uniswap, Aave, GoodDollar, Carbon controller txs) - Shared tool catalog (v0.5.0+):
@andrewkimjoseph/celina-sdk/toolsexports Zod-schemas, descriptions, and handlers used by both celina-mcp and browser wallet apps — one definition surface for agent hosts and wagmi chat UIs
Install:
npm i @andrewkimjoseph/celina-sdk
Requires Node.js ≥ 20.
Minimal example:
import { createCelinaClient } from "@andrewkimjoseph/celina-sdk";
const celina = createCelinaClient();
await celina.token.getStablecoinBalances("0xYourAddress");
const flow = await celina.transaction.prepareSend(
"0xFrom",
"0xTo",
"USDm",
"10"
);
// flow.steps → wagmi sendTransactionAsync (user signs in wallet)
Docs: GitBook — Celina SDK
Repo: github.com/andrewkimjoseph/celina-sdk
2. Celina MCP — @andrewkimjoseph/celina-mcp
![NPM Screenshot of Celina MCP
For: AI agents in Cursor, Claude Desktop, LM Studio, Continue, MCP Inspector, or any MCP-capable stack.
Celina MCP wraps the SDK tool catalog and exposes 85 tools (stdio, full surface) your model can call: chain reads, quotes, gas estimates, optional local writes when you provide keys, Carbon maker/taker flows, Self Agent ID lifecycle tools, and more.
Recommended setup (local stdio — full power, keys stay on your machine):
{
"mcpServers": {
"celina-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@andrewkimjoseph/celina-mcp"],
"env": {
"CELO_PRIVATE_KEY": "0x...",
"SELF_AGENT_PRIVATE_KEY": "0x..."
}
}
}
}
- Omit both keys for read-only usage.
CELO_PRIVATE_KEY:send_token, Mento/Uniswap/Aave executes, GoodDollar claim,execute_carbon_*SELF_AGENT_PRIVATE_KEY: Self Agent ID signing tools (separate from your CELO wallet)CELINA_ANALYTICS_DISABLED = 1: opt out of anonymous read telemetry (stdio only — see Security model)
Session wallet (stdio with CELO_PRIVATE_KEY):
- Call
get_wallet_addresswhen you need the signer as data - On many tools, omit
address/wallet_address/fromfor “my wallet” reads and Carbon prepare - Never derive addresses from shell or scrape
.envin prompts
Install:
npm i @andrewkimjoseph/celina-mcp@latest
Website: usecelina.xyz
Repo: github.com/andrewkimjoseph/celina-mcp
Migration note: If you still use @andrewkimjoseph/celina, update MCP config to @andrewkimjoseph/celina-mcp and rename the server key to celina-mcp.
3. Celina MCP Host — hosted Streamable HTTP
For: Quick onboarding, shared teams, or clients that only support remote MCP URLs—without installing Node tooling locally.
Production endpoint: https://mcp.usecelina.xyz/api/mcp
(alias: /mcp rewrites to /api/mcp)
Client config (read-only hosted — no private keys):
{
"mcpServers": {
"celina-mcp": {
"url": "https://mcp.usecelina.xyz/api/mcp"
}
}
}
Hosted surface (72 tools):
- All
get_*reads, ENS, governance, staking, NFTs, contract reads - Mento / Uniswap quotes (not executes)
- GoodDollar whitelist + UBI entitlement reads
- Carbon 12 read tools + 13
prepare_carbon_*(full unsigned flows including approvals) - Self verify / lookup reads
Intentionally disabled on hosted (no server keys):
send_token,execute_mento_fx,execute_uniswap_swap, Aave supply/withdraw,claim_daily_gooddollar_ubi- All
execute_carbon_* get_wallet_address- Self registration sessions are unreliable on stateless serverless (in-memory session TTL)
Do not send private keys to the hosted URL. For writes and Carbon execute, use local stdio MCP.
Telemetry on hosted: anonymous read telemetry still runs server-side. CELINA_ANALYTICS_DISABLED does not apply — there is no per-client opt-out when you connect via the hosted URL. To opt out, use local stdio MCP with CELINA_ANALYTICS_DISABLED=1 in your MCP env, or self-host celina-mcp-host with analytics disabled in your deployment.
Deploy your own: github.com/andrewkimjoseph/celina-mcp-host (Vercel, imports createServer from @andrewkimjoseph/celina-mcp/server with carbonExecuteEnabled: false).
What you can do today (feature highlights)
Stablecoins & transfers
- Registry-backed tokens: CELO, Mento stables (
USDm,EURm, …), USDC/USDT, GoodDollar (G$), and more get_stablecoin_balances,get_celo_balances,get_token_balance- Sends with ENS support; CELO uses GoldToken ERC-20 transfer (Celo token duality—same balance as native CELO)
DeFi routing
| Route | Best for | MCP flow |
|---|---|---|
| Mento FX | Oracle-priced Mento assets (USDm, EURm, CELO, …) | get_mento_fx_quote → estimate_mento_fx → execute_mento_fx |
| Uniswap v4 | AMM pairs (e.g. G$ → USDT) | get_uniswap_quote → estimate_uniswap_swap → execute_uniswap_swap |
| Aave V3 on Celo | Supply / withdraw | supply_aave, withdraw_aave |
CELO swaps on Uniswap route through WCELO; the signer needs wrapped CELO balance for those pools.
Carbon DeFi on Celo (38 MCP tools)
Hybrid Carbon REST + @bancor/carbon-sdk for maker strategies and taker swaps on celo.carbondefi.xyz:
- Reads: strategies, pair exploration, quotes, simulation, protocol stats, opportunities, education (
carbon_help,carbon_learn) - Prepare: limit/range/recurring/concentrated/full-range orders, edit/reprice/deposit/withdraw/pause/resume/delete, taker trade prep
- Execute (stdio only): local sign-and-broadcast with
CELO_PRIVATE_KEY; makers pay no gas on fills for recurring strategies
Recommended agent flow: get_carbon_strategies → explore/quote → simulate_carbon_strategy → prepare or execute; always surface warnings from prepare/execute responses.
GoodDollar UBI
- Read whitelist status and daily entitlement
- MCP:
claim_daily_gooddollar_ubiwith server wallet (stdio) - Apps:
prepareClaimUbi+ wagmi for user wallet signing (one claim per verified identity per day)
Self Agent ID (ai.self.xyz on Celo mainnet)
- Verify agents, lookup by ID, registration QR/deep link flows
- Authenticated demo APIs: use
?network=celo-mainnet(notmainnet) - Separate
SELF_AGENT_PRIVATE_KEYfrom CELO wallet
Governance, staking, NFTs, contracts
- Governance proposals + CGP metadata
- Validator groups, staking balances, activatable stakes
- ERC-721 / ERC-1155 reads
call_contract_function/estimate_contract_gaswith caller ABI (read-only)
Security model (please read)
- SDK: No private keys—only unsigned preparation. Users sign in Valora, MetaMask, Rabby, etc.
- MCP stdio: Keys live in your MCP
env, on your machine—not sent to Canvassing Intelligence or the hosted MCP endpoint. - MCP host: No keys on the server; writes and Carbon execute are blocked or error clearly.
- Telemetry: Anonymous read telemetry via the SDK (tool names and coarse usage — no wallet addresses or private keys).
- Local stdio MCP: each install gets a stable id at
~/.config/celina/install-id. Opt out by settingCELINA_ANALYTICS_DISABLED=1in your MCPenv(optional override:CELINA_ANALYTICS_DEVICE_ID). - Hosted MCP (
mcp.usecelina.xyz): telemetry runs on the server;CELINA_ANALYTICS_DISABLEDdoes not opt you out — clients cannot set that env var on a remote URL. Use local stdio or self-host if you need to disable it.
- Local stdio MCP: each install gets a stable id at
How this relates to other Celo AI tooling
The ecosystem also has the official Celo MCP from celo-org (Python, broad blockchain access). Celina is unofficial, TypeScript-native, and mainnet-focused:
- Prepared flows + wagmi integration
- Deep integrations: Mento, Uniswap v4, Aave, Carbon, GoodDollar, Self Agent ID
- A hosted MCP endpoint for zero-install reads and Carbon prepare
They can coexist in different clients; pick based on language, deployment model, and DeFi coverage.
Try it in 60 seconds
Hosted (no install): Add to Cursor / Claude MCP settings:
{
"mcpServers": {
"celina-mcp": {
"url": "https://mcp.usecelina.xyz/api/mcp"
}
}
}
Then ask: “What are the USDm and CELO balances of 0x…?” or “Explore Carbon liquidity for CELO/USDC.”
Local (writes enabled): Use the stdio config in the Celina MCP section above with your own key, then: “What is my wallet address?” → “Estimate sending 1 USDm to …”
App builders: npm i @andrewkimjoseph/celina-sdk + wagmi integration guide.
Latest stats
Live dashboard: usecelina.xyz/stats — on-chain activity and npm adoption, refreshed every ~5 minutes.
| Metric | Value |
|---|---|
On-chain total — Celo mainnet txs tagged CELINA |
79 |
| On-chain today | 2 |
| Off-chain total — MCP tool calls (Amplitude) | 574 |
| Off-chain (7d) | 574 |
| npm downloads (365d) — celina-mcp + celina-sdk + legacy celina | 11,717 |
| npm downloads (7d) | 3,896 |
Drill-down:
- On-chain — volume, hourly cadence, top counterparties (Dune)
- Off-chain — reads, registry lookups, and other non-chain MCP invocations
- Package — daily, weekly, and monthly npm download trends
Snapshot from npm registry + live dashboard, June 5, 2026. On-chain and off-chain numbers update automatically on the site.
Roadmap (public)
Shipped:
- Mento FX, Uniswap v4, Aave V3 on Celo
- Self proof verification + Agent ID lifecycle tools
- Carbon DeFi — 25 SDK operations / 38 MCP tools
- GoodDollar UBI reads + claim (MCP) / prepare (SDK)
- Shared LLM tool catalog (
@andrewkimjoseph/celina-sdk/tools, v0.5.0+)
Next:
- Cross-chain bridging (
getBridgeQuote,estimateBridge,prepareBridge)
Links
| Resource | URL |
|---|---|
| Canvassing (umbrella) | https://thecanvassing.xyz |
| Umbrella announcement (Celo Forum) | Canvassing is growing — Insights for research, Intelligence for agents on Celo |
| Canvassing on Celo Forum | Profile - canvassing - Celo Forum |
| Celina website | https://usecelina.xyz |
| Celina stats | Celina stats — Overview |
| Hosted MCP | https://mcp.usecelina.xyz/api/mcp |
| SDK (npm) | https://www.npmjs.com/package/@andrewkimjoseph/celina-sdk |
| MCP (npm) | https://www.npmjs.com/package/@andrewkimjoseph/celina-mcp |
| SDK docs (GitBook) | Introduction | Celina SDK |
| SDK repo | GitHub - andrewkimjoseph/celina-sdk · GitHub |
| MCP repo | GitHub - andrewkimjoseph/celina-mcp · GitHub |
| MCP host repo | GitHub - andrewkimjoseph/celina-mcp-host · GitHub |
Current versions (npm): SDK 0.6.0, MCP 0.8.12
Questions and feedback
If you build agents, miniapps, or wallet flows on Celo, Canvassing Intelligence would like to hear:
- Which MCP client you use (Cursor, Claude, LM Studio, other)
- Whether hosted read + Carbon prepare is enough for your team, or you need self-hosted MCP host
- Tokens, protocols, or prepare flows that are missing for your use case
Share feature ideas or what you are building.
Published by Canvassing Intelligence (AI wing of Canvassing). Unofficial — not affiliated with or endorsed by the Celo Foundation. MIT licensed. Celo mainnet only. More about the umbrella: thecanvassing.xyz · Forum: canvassing.






