Tenzro Canton MCP
Server Details
Canton MCP: DAML submit, contracts, events, parties, domains, CIP-56 tokens, DvP, DAR upload.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- tenzro/tenzro-network
- GitHub Stars
- 0
TDQS
Scored across 14 tools
Most tools have distinct purposes, but there is overlap between the general submit_command and specialized convenience tools like create_asset and transfer, which could cause confusion for an agent deciding which to use.
All tools start with 'canton_' and mostly follow a verb_noun pattern. However, 'canton_transfer' is verb-only and 'canton_dvp_settle' has a noun_verb structure, introducing minor inconsistency.
14 tools is well within the ideal 3-15 range. Each tool covers a specific aspect of Canton operations without being overwhelming or too sparse.
The tool set covers core operations like party management, asset creation, settlement, and queries. A minor gap is the lack of an explicit archive/delete tool, though it can be done via submit_command.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- Changed
canton_allocate_party1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_create_asset1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_dvp_settle1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_get_balance1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_get_events1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_get_fee_schedule1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_get_health1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_get_transaction1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_list_contracts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_list_domains1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_list_parties1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_reconnect_synchronizer1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_submit_command1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_transfer1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
- Changed
canton_upload_dar1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "description": "Generic passthrough envelope for MCP tools that surface arbitrary\nJSON returned by the underlying JSON-RPC layer or upstream HTTP API.\n\nPer the MCP 2025-06-18 spec, every `#[tool]` handler must return a\nschema-bearing typed value so the rmcp router can populate\n`outputSchema` on `tools/list` and emit `structuredContent` on\n`tools/call`. For tools whose underlying response shape is determined\nby an external surface (the Tenzro JSON-RPC dispatcher, an L1\nblockchain RPC, or a SaaS API), `RpcPassthroughOutput` carries the\nraw `serde_json::Value` verbatim under a single `result` field.\n\nTools with a stable, fully-typed response shape (e.g. `get_balance`,\n`create_wallet`) define their own dedicated `*Output` struct instead.", + "properties": { + "result": { + "description": "Underlying response payload verbatim." + } + }, + "required": [ + "result" + ], + "title": "RpcPassthroughOutput", + "type": "object" +}
1 tool update
- Added
canton_reconnect_synchronizer
14 tool updates
- First observed
canton_allocate_party - First observed
canton_create_asset - First observed
canton_dvp_settle - First observed
canton_get_balance - First observed
canton_get_events - First observed
canton_get_fee_schedule - First observed
canton_get_health - First observed
canton_get_transaction - First observed
canton_list_contracts - First observed
canton_list_domains - First observed
canton_list_parties - First observed
canton_submit_command - First observed
canton_transfer - First observed
canton_upload_dar
Related MCP Connectors
Canton ledger tools over MCP: DAML commands, CIP-56 assets, DvP settlement, party management.
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConcordium mcp-sever for interacting with the concordium chain2TypeScriptMIT
- AlicenseAqualityCmaintenanceAn MCP server that enables AI agents to query the Canton Network for balances, rewards, classified transactions, CC prices, and directory information using natural language.968 npmMIT
- AlicenseNot gradedqualityDmaintenanceLow-level blockchain interface MCP server for Algorand and Voi networks, providing account/asset/app inspection, transaction search, block retrieval, TEAL compilation, and transaction simulation.MIT
- AlicenseAqualityBmaintenanceMCP server for defining, validating, deploying, and operating Shodai machine-readable agreements with EIP-712 permit preparation, signed participant inputs, state reads, and input history.112Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.