| Tool Name: | ucan_issue |
| Asset Name: | Issue UCAN Token |
| Description: | Creates a venue-signed UCAN capability token. The venue is the issuer. The token grants the audience (aud) the specified capabilities (att) until expiry (exp). Present the returned token as a proof on subsequent requests that require the granted capabilities. |
| Adapter: | ucan |
| Asset Hash: | 0x8cdd187f89b274741058bb6f175f0259feaac1f81c970c35ea02323fc0cd9ec9 |
| Property | Type | Description |
|---|---|---|
aud* | string | Audience DID — who receives this capability (e.g. did:key:z6MkBob...) |
exp* | integer | Expiry time in unix seconds |
att* | array | Attenuations — array of {with, can} capability pairs |
Type: object
Schema: <code>{ "type": "object", "description": "Complete signed UCAN token (header, payload, sig)" }</code>
This tool can be called via the MCP (Model Context Protocol) endpoint. Here are examples of how to use it:
POST to https://venue-3.covia.ai/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ucan_issue",
"arguments": {
"input": "your input here"
}
}
}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": "ucan_issue",
"arguments": {
"input": "your input here"
}
}
}'import requests
import json
url = "https://venue-3.covia.ai/mcp"
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "ucan_issue",
"arguments": {
"input": "your input here"
}
}
}
response = requests.post(url, json=payload)
result = response.json()
print(result)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: 'ucan_issue',
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));{
"name": "Issue UCAN Token",
"description": "Creates a venue-signed UCAN capability token. The venue is the issuer. The token grants the audience (aud) the specified capabilities (att) until expiry (exp). Present the returned token as a proof on subsequent requests that require the granted capabilities.",
"dateCreated": "2026-03-25T00:00:00Z",
"operation": {
"adapter": "ucan:issue",
"toolName": "ucan_issue",
"input": {
"type": "object",
"properties": {
"aud": {
"type": "string",
"description": "Audience DID — who receives this capability (e.g. did:key:z6MkBob...)"
},
"att": {
"type": "array",
"description": "Attenuations — array of {with, can} capability pairs",
"items": {
"type": "object",
"properties": {
"with": { "type": "string", "description": "Resource path (e.g. /w/, /w/projects/)" },
"can": { "type": "string", "description": "Ability (e.g. crud/read, crud/write, *)" }
},
"required": ["with", "can"]
}
},
"exp": {
"type": "integer",
"description": "Expiry time in unix seconds"
}
},
"required": ["aud", "att", "exp"]
},
"output": {
"type": "object",
"description": "Complete signed UCAN token (header, payload, sig)"
}
}
}