Tool Details: covia_read

Basic Information

Tool Name:covia_read
Asset 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.
Adapter:covia
Asset Hash:0x194c3607d90897a377844c375d36ae9a59e62beffc9b7bb8bd0fc3e8ea787798
Input
PropertyTypeDescription
path*anyAny 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.
maxSizeintegerMax 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.
Output
PropertyTypeDescription
truncatedbooleanPresent and true only if the value exceeded maxSize and was not returned. Omitted otherwise.
valueBytesintegerEncoding size in bytes of the value at the path. Always present (0 when the path does not exist).
valueanyThe 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.
typestringConvex 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).
existsbooleanTrue if a value is present at this path. A stored null counts as present (exists:true, value:null); an absent path is exists:false.

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": "covia_read",
    "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": "covia_read",
      "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": "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-1.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)." }
			}
		}
	}
}

Navigation

Back to adapter details

Back to all adapters

Back to index