Tools Registry
The Tenzro tools registry is a decentralized catalog of MCP servers, API endpoints, and native capabilities that agents can discover and invoke. Tools are the actual external interfaces agents connect to for taking real-world actions. Unlike skills (which encode reasoning and logic), tools ARE the capabilities being invoked.
Tool Types
MCP (Model Context Protocol)
JSON-RPC 2.0 Streamable HTTP servers at a given endpoint URL. Agents connect via the MCP client and call tools/list and tools/call methods. Protocol version 2025-03-26.
API (REST)
OpenAPI-compatible REST endpoints. Agents send standard HTTP requests to the endpoint URL.
Native
Built-in node capabilities exposed directly through the runtime, without requiring an external HTTP call.
Built-in Tools
Seven tools are auto-registered in CF_TOOLS at node startup:
| Tool | Type |
|---|---|
| tenzro-solana-mcp | mcp |
| tenzro-ethereum-mcp | mcp |
| tenzro-canton-mcp | mcp |
| tenzro-layerzero-mcp | mcp |
| tenzro-chainlink-mcp | mcp |
| debridge-mcp | mcp |
| 1inch-mcp | mcp |
Registering a Tool
# Via CLI
tenzro tool register \
--name "my-search-mcp" \
--type mcp \
--endpoint "https://my-server.example.com/mcp" \
--description "Web search tool for agents" \
--category search
# Via JSON-RPC
curl -X POST https://rpc.tenzro.network \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tenzro_registerTool",
"params": {
"name": "my-search-mcp",
"version": "1.0.0",
"tool_type": "mcp",
"endpoint": "https://my-server.example.com/mcp",
"description": "Web search tool for agents",
"capabilities": ["web-search", "read-url"],
"category": "search"
},
"id": 1
}'Discovering Tools
# List all tools
tenzro tool list
# Search by keyword
tenzro tool search --query "ethereum"
# Get tool details
tenzro tool get --tool-id "abc123..."ToolDefinition Structure
pub struct ToolDefinition {
pub tool_id: String, // UUID v4
pub name: String, // e.g., "web-search-mcp"
pub version: String, // Semantic version
pub tool_type: String, // "mcp", "api", or "native"
pub endpoint: String, // MCP/API endpoint URL
pub description: String, // What this tool does
pub capabilities: Vec<String>, // e.g., ["web-search", "read-url"]
pub category: String, // e.g., "search", "code", "data"
pub creator_did: Option<String>, // DID of registrant
pub status: ToolStatus, // Active, Inactive, or Deprecated
pub created_at: u64, // Unix timestamp
pub invocation_count: u64, // Usage counter
}Tools vs Skills
| Aspect | Tools | Skills |
|---|---|---|
| What they are | External interfaces (MCP servers, APIs) | Reasoning and logic definitions |
| Purpose | Take real-world actions | Teach agents HOW to use tools |
| Storage | CF_TOOLS column family | CF_SKILLS column family |
| CLI commands | tenzro tool * | tenzro skill * |
| Example | tenzro-solana-mcp server | solana-defi skill (knows how to use the Solana MCP) |