canton-mcp
An MCP server that enables AI agents to query the Canton Network for balances, rewards, classified transactions, CC prices, and directory information using natural language.
README
<p align="center"> <a href="https://noves.fi"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/noves-logo-white.svg"> <img src="assets/noves-logo-primary.svg" alt="Noves" width="260"> </picture> </a> </p>
<h1 align="center">canton-mcp</h1>
<p align="center"><strong>Ask your AI about the Canton Network.</strong></p>
<p align="center"> <a href="https://www.npmjs.com/package/@noves/canton-mcp"><img src="https://img.shields.io/npm/v/%40noves%2Fcanton-mcp?label=npm&color=cb3837" alt="npm version"></a> <a href="https://github.com/Noves-Inc/canton-mcp/actions/workflows/ci.yml"><img src="https://github.com/Noves-Inc/canton-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://registry.modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP_Registry-listed-6e56cf" alt="MCP Registry"></a> <a href="LICENSE"><img src="https://img.shields.io/npm/l/%40noves%2Fcanton-mcp?color=blue" alt="MIT license"></a> </p>
An MCP server for the Noves Canton API — balances, rewards, classified transactions, CC prices, identity, and the network directory, queryable from Claude Code, Claude Desktop, Cursor, or any MCP-capable agent.
You: How has the CC price moved over the last 7 days? Chart it.
AI: → get_price(startDate, endDate, interval: "daily")
CC closed at $0.1462 today, up 4.2% on the week (low $0.1402, high $0.1521).
[renders an interactive price chart]
Quick start
Get your free API key at https://app.noves.fi/register/free.
Claude Desktop — one click
Download canton-mcp.mcpb from the
latest release,
double-click it (or drag into Claude Desktop), and paste your API key in the
settings form that appears. The key is stored in your OS keychain. Done.
Claude Code
npx -y @noves/canton-mcp init # one-time: prompts for your key, validates it, saves it
claude mcp add canton -- npx -y @noves/canton-mcp
Or in one line, passing the key explicitly:
claude mcp add canton --env NOVES_API_KEY=<your-key> -- npx -y @noves/canton-mcp
Cursor / other MCP clients
After npx -y @noves/canton-mcp init, no env var is needed:
{
"mcpServers": {
"canton": {
"command": "npx",
"args": ["-y", "@noves/canton-mcp"]
}
}
}
(Or skip init and add "env": { "NOVES_API_KEY": "<your-key>" }.)
Key resolution order: NOVES_API_KEY env var → --api-key flag →
~/.config/canton-mcp/config.json. The key is sent only to
api.canton.noves.fi and never logged.
Tools
Every tool that takes a party accepts an ANS name, a display name, or a
raw party ID (name::hash) — resolution is automatic, and ambiguous names
return a candidate list to choose from.
Examples:
- "Who are the super validators on Canton?" →
search_directory(orgType: "sv") - "What's Noves' current CC balance?" →
get_balance(party: "noves.unverified.cns") - "Chart Noves' balance over the last 30 days." →
get_balance_history(party, startDate, endDate) - "Show recent traffic purchases for this validator." →
get_transactions(party, txType: "buyTraffic")
| Tool | What it answers |
|---|---|
resolve_party |
"Who is this party?" — canonical party ID, org type, balance, ANS names |
search_directory |
"Who are the super validators?" — browse/filter the network directory |
get_balance |
"What's this party's balance?" — current or at any point in time (date) |
get_balance_history |
"Chart its balance over last month" — daily end-of-day snapshots |
get_rewards |
"What did it earn?" — summary metrics, per-day totals, or individual payouts |
get_transactions |
"Show its recent traffic purchases" — classified history (transfer, buyTraffic, …) |
get_transfer_stats |
"How active is it?" — counts, volumes, unique counterparties |
get_price |
"CC price trend this month?" — spot, historical spot, hourly/daily OHLC |
get_transaction |
Full classified payload of one update by ID |
See examples/PROMPTS.md for questions to try.
Notes & limits
- Read-only. The server only reads data; it can't change anything on the network or in your account.
- Date inputs accept ISO dates (
2026-06-01), ISO datetimes, or unix timestamps. - Daily rewards are fetched in ≤30-day windows upstream; the server merges up to 90 days per call.
- List outputs are capped (default 25 rows) with
hasMorehints to keep agent context lean. get_transactionsreturns 25 rows by default and acceptslimitup to 100; useincludeCountfor the total count in a date window, andget_transactionfor one full update.- Chains/txTypes (1h), directory & identity lookups (5m), and spot price (60s) are cached in-process, keeping typical agent sessions comfortably inside the free tier.
License
MIT © Noves Inc.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.