Connects Claude to the Canton Network via Noves' API, letting you query balances, rewards, classified transactions, CC token prices, and the network directory using natural language. Ask about validator activity, chart historical balances with daily snapshots, filter transaction types like traffic purchases, or pull OHLC price data over custom intervals. Party resolution accepts ANS names, display names, or raw IDs. Read-only with smart caching to stay inside free tier limits. Ships with a one-click installer for Claude Desktop that stores your API key in the system keychain, or run via npx in Claude Code and Cursor.
NOVES_API_KEY*secretYour Noves API key. Create a free account at https://app.noves.fi/register/free
Ask your AI about the Canton Network.
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]
Get your free API key at https://app.noves.fi/register/free.
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.
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
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.
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:
search_directory(orgType: "sv")get_balance(party: "noves.unverified.cns")get_balance_history(party, startDate, endDate)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.
2026-06-01), ISO datetimes, or unix timestamps.hasMore hints to keep agent context lean.get_transactions returns 25 rows by default and accepts limit up to 100; use
includeCount for the total count in a date window, and get_transaction for one full update.MIT © Noves Inc.
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent