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-3.covia.ai/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "asset_store",
"arguments": {
"input": "your input here"
}
}
}
cURL Example:
curl -X POST https://venue-3.covia.ai/mcp \\
-H "Content-Type: application/json" \\
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "asset_store",
"arguments": {
"input": "your input here"
}
}
}'
Python Example:
import requests
import json
url = "https://venue-3.covia.ai/mcp"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "asset_store",
"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-3.covia.ai/mcp';
const payload = {
jsonrpc: '2.0',
id: 1,
method: 'tools/call',
params: {
name: 'asset_store',
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": "Store Asset",
"description": "Store an immutable content-addressed asset in your a/ namespace. The ID is the CAD3 hash — storing identical metadata twice returns the same ID (idempotent). Use for documents, definitions, or data needing a stable tamper-proof identity. For named operations callable via grid_run, prefer covia_write to o/<name> — simpler than store-then-pin.",
"dateCreated": "2026-03-31T00:00:00Z",
"operation": {
"adapter": "asset:store",
"toolName": "asset_store",
"input": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"description": "Arbitrary JSON metadata for the asset. The asset ID is computed from this object. Include a 'name' field for discoverability and a 'type' field for filtering (e.g. 'agent-definition', 'invoice', 'document')."
},
"content": {
"type": "string",
"description": "Optional content payload as a hex-encoded Blob (must start with 0x). Retrieved separately via asset:content. Mutually exclusive with contentText."
},
"contentText": {
"type": "string",
"description": "Optional content payload as plain text (auto-encoded to UTF-8 Blob). Convenience alternative to content for text documents. Mutually exclusive with content."
}
},
"required": ["metadata"]
},
"output": {
"type": "object",
"properties": {
"id": { "type": "string", "description": "Content-addressed asset ID (hex hash)" },
"stored": { "type": "boolean" }
}
}
}
}