MCP (Model Context Protocol) server for the ICEvent ecosystem — exposes OneBlock and Defunds canister services on the Internet Computer to any MCP-compatible AI client.
| Tool | Description |
|---|---|
oneblock_get_profile |
Fetch a life-path profile by ID |
oneblock_get_profile_by_principal |
Look up a profile by IC principal |
oneblock_search_profiles |
Search profiles by display name |
oneblock_list_profiles |
Paginated list of all profiles |
oneblock_get_profile_count |
Total number of registered profiles |
oneblock_get_default_profiles |
Featured / showcase profiles |
| Tool | Description |
|---|---|
defunds_get_all_grants |
All grant proposals |
defunds_get_grant |
Single grant by ID |
defunds_get_grant_voting_status |
Voting status for a grant |
defunds_get_grant_comments |
Community comments on a grant |
defunds_get_total_donations |
Total accumulated donations |
defunds_get_total_voting_power |
Total accumulated voting power |
defunds_get_public_groups |
Public community group funds |
defunds_get_group |
Single group by ID |
defunds_get_group_proposals |
Proposals for a specific group |
defunds_get_all_proposals |
All proposals across all groups |
defunds_get_public_ai_agent_funds |
Public AI-agent managed funds |
defunds_get_voting_policy |
Global voting policy parameters |
defunds_get_exchange_rates |
Current donation exchange rates |
- Node.js ≥ 18
- npm ≥ 9
npm install
npm run buildRun the MCP server directly; it communicates over stdin / stdout:
node dist/index.jsAdd the following to your claude_desktop_config.json:
{
"mcpServers": {
"icemcp": {
"command": "node",
"args": ["/path/to/icemcp/dist/index.js"]
}
}
}{
"mcpServers": {
"icemcp": {
"command": "npx",
"args": ["-y", "icemcp"]
}
}
}The repository includes a Vercel-ready HTTP handler (api/mcp.ts) that uses the
MCP Streamable HTTP transport
in stateless mode — perfect for serverless functions.
npm install -g vercel
vercelThe MCP endpoint will be available at:
https://<your-deployment>.vercel.app/mcp
Use the url transport in your MCP client configuration:
{
"mcpServers": {
"icemcp": {
"url": "https://<your-deployment>.vercel.app/mcp"
}
}
}The server uses:
@modelcontextprotocol/sdk— MCP server framework@dfinity/agent— Internet Computer HTTP agent@dfinity/candid— Candid IDL encoding / decoding
All canister calls are anonymous query calls — no wallet or identity is required. Only publicly readable canister methods are exposed.
| Service | Canister ID |
|---|---|
| OneBlock profile | nzxho-uqaaa-aaaak-adwxq-cai |
| Defunds backend | ixuio-siaaa-aaaam-qacxq-cai |