Tool Details: asset_pin

Basic Information

Tool Name:asset_pin
Asset Name:Pin Asset
Description:Snapshot any resolvable metadata value into your a/ content-addressed store. Idempotent — the same value produces the same hash. Use to freeze a venue op or workspace value at a specific version. Returns {ref, id}; historical {path, hash} aliases are also included.
Adapter:asset
Asset Hash:0xed9876eb501ffcd3ce3f121895ade13385afa3a9a186fd1f00fd0280a87da53b
Input
PropertyTypeDescription
pathstringDeprecated alias for ref.
idstringDeprecated alias for ref.
refstringSource metadata reference. Any resolvable asset address.
Output
PropertyTypeDescription
idstringHex CAD3 hash of the pinned metadata
pathstringCompatibility alias for ref
hashstringCompatibility alias for id
refstringCaller's DID URL for the pinned asset

MCP Tool Usage Examples

This tool can be called via the MCP (Model Context Protocol) endpoint. Here are examples of how to use it:

JSON-RPC Call Example:

POST to https://venue-1.covia.ai/mcp

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "asset_pin",
    "arguments": {
      "input": "your input here"
    }
  }
}
cURL Example:
curl -X POST https://venue-1.covia.ai/mcp \\
  -H "Content-Type: application/json" \\
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "asset_pin",
      "arguments": {
        "input": "your input here"
      }
    }
  }'
Python Example:
import requests
import json

url = "https://venue-1.covia.ai/mcp"
payload = {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
        "name": "asset_pin",
        "arguments": {
            "input": "your input here"
        }
    }
}

response = requests.post(url, json=payload)
result = response.json()
print(result)
JavaScript/Node.js Example:
const fetch = require('node-fetch');

const url = 'https://venue-1.covia.ai/mcp';
const payload = {
    jsonrpc: '2.0',
    id: 1,
    method: 'tools/call',
    params: {
        name: 'asset_pin',
        arguments: {
            input: 'your input here'
        }
    }
};

fetch(url, {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data));

Asset Metadata

{
	"name": "Pin Asset",
	"description": "Snapshot any resolvable metadata value into your a/ content-addressed store. Idempotent — the same value produces the same hash. Use to freeze a venue op or workspace value at a specific version. Returns {ref, id}; historical {path, hash} aliases are also included.",
	"operation": {
		"adapter": "asset:pin",
		"toolName": "asset_pin",
		"input": {
			"type": "object",
			"properties": {
				"ref": { "type": "string", "description": "Source metadata reference. Any resolvable asset address." },
				"path": { "type": "string", "deprecated": true, "description": "Deprecated alias for ref." },
				"id": { "type": "string", "deprecated": true, "description": "Deprecated alias for ref." }
			},
			"anyOf": [{ "required": ["ref"] }, { "required": ["path"] }, { "required": ["id"] }]
		},
		"output": {
			"type": "object",
			"properties": {
				"ref": { "type": "string", "description": "Caller's DID URL for the pinned asset" },
				"id": { "type": "string", "description": "Hex CAD3 hash of the pinned metadata" },
				"path": { "type": "string", "deprecated": true, "description": "Compatibility alias for ref" },
				"hash": { "type": "string", "deprecated": true, "description": "Compatibility alias for id" }
			}
		}
	}
}

Navigation

Back to adapter details

Back to all adapters

Back to index