Skip to main content
Glama

generate_readonly_link

Destructive

Create a revocable, time-limited token for sharing read-only access to selected wallets, enabling financial advisors or friends to review your portfolio without signing permissions.

Instructions

Generate a time-bound, revocable token that lets someone else read a specific subset of the user's wallets via their own VaultPilot instance. The classic use case: hand the token to a financial advisor or experienced friend so they can look at the user's DeFi positions without being given signing access. Pass wallets (at least one of evm / tron / solana / btc arrays — addresses validated against per-chain regex), optional name (auto-defaults to share-XXXX), expiresIn (1h / 24h / 7d / 30d, default 24h), and scope (read-portfolio only in v1). Returns the token ONCE — the issuer-side store keeps only sha256 of the token, so a recipient who paste-bombs the token into a public channel cannot have it re-emitted. Recipient runs import_readonly_token to decode and then queries the wallets via standard portfolio reads (get_portfolio_summary, get_lending_positions, etc.) using their own RPCs. Model A — the token is structured intent, NOT a security boundary: anyone holding it can query the listed addresses, but anyone could query those addresses without it (chain reads are public). Revocation (revoke_readonly_invite) is issuer-side bookkeeping; it doesn't recall a token already in the wild. Use list_readonly_invites to see what's outstanding. Read-only — no signing, no broadcast.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
walletsYes
scopeNoread-portfolio
expiresInNo24h
nameNo
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While the description adds useful behavioral details (token returned once, only sha256 stored, read-only), it contradicts the 'destructiveHint: true' annotation by stating 'Read-only — no signing, no broadcast.' This contradiction forces a score of 1 per guidelines.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, starting with purpose, then use case, parameter details, security model, related tools, and a final read-only note. It is front-loaded and each sentence adds value, though it could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, nested objects, no output schema, contradictory annotations), the description fully covers functionality, parameter details, security model, and ecosystem integration. It explains return behavior and limits, meeting all contextual needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, but the description fully compensates by detailing all parameters: wallets (with per-chain regex validation), name (auto-defaults to share-XXXX), expiresIn (enum defaults to 24h), and scope (read-portfolio only). It also explains the single-use token return.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool generates a time-bound, revocable token for read-only access to wallets. It specifies the resource (token), action (generate), and audience (financial advisor). It also distinguishes from sibling tools like import_readonly_token, revoke_readonly_invite, and list_readonly_invites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use guidance: delegating read access without signing. It states when not to rely on it as a security boundary and explains revocation limits. It also references alternatives for the recipient (import_readonly_token) and issuer (revoke_readonly_invite).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/szhygulin/vaultpilot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server