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-test.covia.ai/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "covia_read",
"arguments": {
"input": "your input here"
}
}
}
cURL Example:
curl -X POST https://venue-test.covia.ai/mcp \\
-H "Content-Type: application/json" \\
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "covia_read",
"arguments": {
"input": "your input here"
}
}
}'
Python Example:
import requests
import json
url = "https://venue-test.covia.ai/mcp"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "covia_read",
"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-test.covia.ai/mcp';
const payload = {
jsonrpc: '2.0',
id: 1,
method: 'tools/call',
params: {
name: 'covia_read',
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": "Read Lattice Data",
"description": "Read a value from any lattice path. Examples: w/vendor-records/acme (workspace data), v/ops/covia/write (operation metadata), did:key:<id>/w/shared (cross-user read). Returns {exists, value}. For large values use covia_list to check size first, covia_slice for pagination, or covia_inspect for a budget-controlled summary.",
"dateCreated": "2026-03-07T00:00:00Z",
"operation": {
"adapter": "covia:read",
"toolName": "covia_read",
"input": {
"type": "object",
"properties": {
"path": {
"description": "Any resolvable lattice path (e.g. 'w/my-notes', 'o/my-op', 'v/ops/json/merge', '/a/<hash>', 'did:web:...', 'g/my-agent/state'). Deep paths walk into nested maps and vectors."
},
"maxSize": {
"type": "integer",
"description": "Max CAD3 encoding size (bytes) of the exact returned value (default 1000000). Distinct from covia_inspect's render budget: this caps the exact bytes, not a summary. If exceeded, returns truncated: true with the size (no value) — read never summarises; use covia_inspect for that."
}
},
"required": ["path"]
},
"output": {
"type": "object",
"properties": {
"exists": { "type": "boolean", "description": "True if a value is present at this path. A stored null counts as present (exists:true, value:null); an absent path is exists:false." },
"value": { "description": "The value at the path. May be null either because a null is stored (exists:true) or the path is absent (exists:false) or the value was truncated (truncated:true) — use exists/truncated to disambiguate." },
"type": { "type": "string", "description": "Convex type name of the value (e.g. Map, Vector, Set, Index, String, Long). Present on a truncated read so the caller can fall back to covia_list (map) or covia_slice (sequence)." },
"truncated": { "type": "boolean", "description": "Present and true only if the value exceeded maxSize and was not returned. Omitted otherwise." },
"valueBytes": { "type": "integer", "description": "Encoding size in bytes of the value at the path. Always present (0 when the path does not exist)." }
}
}
}
}