Skip to main content
Glama
privy-io
by privy-io

Privy MCP Server

npm version License: MIT

Give your AI agent a wallet with Privy. This MCP (Model Context Protocol) server enables Claude and other AI assistants to create wallets, sign transactions, and manage blockchain operations.

Installation

Run directly without installation:

npx @privy-io/mcp-server

Option 2: Global Install

npm install -g @privy-io/mcp-server
privy-mcp-server

Option 3: From Source

git clone https://github.com/privy-io/privy-mcp-server.git
cd privy-mcp-server
npm install && npm run build

Related MCP server: AgentWallet MCP Server

Quick Start

1. Get Your Credentials

From the Privy Dashboard:

  • App ID & Secret: Settings → Basics

2. Configure Your MCP Client

Add to your MCP client configuration:

{
  "mcpServers": {
    "privy": {
      "command": "npx",
      "args": ["@privy-io/mcp-server"],
      "env": {
        "PRIVY_APP_ID": "your-app-id",
        "PRIVY_APP_SECRET": "your-app-secret"
      }
    }
  }
}
{
  "mcpServers": {
    "privy": {
      "command": "npx",
      "args": ["@privy-io/mcp-server"],
      "env": {
        "PRIVY_APP_ID": "your-app-id",
        "PRIVY_APP_SECRET": "your-app-secret"
      }
    }
  }
}
{
  "privy": {
    "command": "npx",
    "args": ["@privy-io/mcp-server"],
    "env": {
      "PRIVY_APP_ID": "your-app-id",
      "PRIVY_APP_SECRET": "your-app-secret"
    }
  }
}

3. Start Using!

Ask Claude to create a wallet:

"Create an Ethereum wallet for me"

Supported Chains

Chain

Type

Status

Ethereum (+ all EVM)

ethereum

✅ Full support

Solana

solana

✅ Full support

Cosmos

cosmos

✅ Supported

Stellar

stellar

✅ Supported

Sui

sui

✅ Supported

Aptos

aptos

✅ Supported

Tron

tron

✅ Supported

Bitcoin (SegWit)

bitcoin-segwit

✅ Supported

Near

near

✅ Supported

TON

ton

✅ Supported

Starknet

starknet

✅ Supported

Available Tools

Wallet Management

Tool

Description

create_wallet

Create a new wallet on any supported chain

get_wallet_details

Get wallet info by ID

get_wallets

List all wallets

get_wallet_balance

Check balance (ETH, USDC, etc.)

get_wallet_transactions

Get transaction history

update_wallet

Update wallet policies

Ethereum Operations

Tool

Description

eth_sendTransaction

Sign and broadcast (supports gas sponsorship)

personal_sign

Sign a message (EIP-191)

eth_signTransaction

Sign without broadcasting

eth_signTypedData_v4

Sign EIP-712 typed data

secp256k1_sign

Sign a hash directly

raw_sign

Sign raw data

Solana Operations

Tool

Description

solana_signAndSendTransaction

Sign and broadcast

solana_signMessage

Sign a message

solana_signTransaction

Sign without broadcasting

Policies (Access Control)

Tool

Description

create_policy

Create transaction policies

get_policy / update_policy / delete_policy

Manage policies

add_rule_to_policy

Add rules to control transactions

get_policy_rule / update_policy_rule / delete_policy_rule

Manage rules

Key Quorums (Multi-sig)

Tool

Description

create_key_quorum

Create a key quorum for multi-sig

get_key_quorum / update_key_quorum / delete_key_quorum

Manage quorums

Transactions

Tool

Description

get_transaction

Get transaction details by ID

Example Conversations

You: Create a wallet and check its balance

Claude: I'll create an Ethereum wallet and check the balance.
🔧 create_wallet → { id: "wallet-abc", address: "0x742d35Cc..." }
🔧 get_wallet_balance → { balance: "0 ETH" }

Done! Your wallet 0x742d35Cc... has been created with 0 ETH.
You: Send 0.01 ETH to 0x123... on Base

Claude: I'll send 0.01 ETH to that address on Base.
🔧 eth_sendTransaction → { hash: "0xabc123...", status: "pending" }

Transaction submitted! Hash: 0xabc123...

Environment Variables

Variable

Required

Description

PRIVY_APP_ID

Yes

Your Privy App ID

PRIVY_APP_SECRET

Yes

Your Privy App Secret

PRIVY_AUTHORIZATION_PRIVATE_KEY

No

For signing ops on owner-controlled wallets

PRIVY_API_BASE_URL

No

Custom API URL (default: https://api.privy.io/v1)

Testing

Use the MCP Inspector to test tools interactively:

npm run inspector

Security Best Practices

  • Never commit credentials - Use environment variables

  • Use policies to restrict what transactions your agent can execute

  • Set up key quorums for high-value operations requiring multiple approvals

  • Monitor transactions via Privy Dashboard webhooks

Resources

Contributing

Contributions welcome! Please read our contributing guidelines and submit PRs to the main branch.

License

MIT - see LICENSE for details.

Available Tools

24 tools
add_rule_to_policyC

Adds a new rule to an existing policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the rule (1-50 characters)
actionYes
methodYes
policy_idYesID of the policy (24 characters)
conditionsYesConditions that define when the rule applies

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'adds a new rule' without disclosing behavioral traits such as required permissions, whether it overwrites existing rules, validation behavior, or what the response looks like. This is insufficient for a mutation tool.

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 a single, concise sentence with no wasted words. However, it is under-specified; still, it earns its place as a clear statement of purpose.

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

Completeness2/5

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

Given the tool has 5 required parameters, no output schema, and no annotations, the description is overly minimal. It does not explain the structure of a rule, the effect on the policy, or any constraints like uniqueness of rule names. This leaves the agent without crucial context for correct invocation.

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

Parameters2/5

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

Schema description coverage is 60% (3 of 5 parameters described). The tool description adds no additional meaning to the parameters; it does not clarify the format of 'conditions' or the implications of 'method' and 'action' enums. The description does not compensate for the missing schema descriptions.

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 clearly states 'Adds a new rule to an existing policy,' which is a specific verb+resource. Among sibling tools like create_policy, update_policy_rule, etc., it distinguishes this action as adding a rule to an existing policy, not creating a policy or updating a rule.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., policy must exist), and no exclusions. It does not mention that updating an existing rule should use update_policy_rule instead.

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

create_policyB

Create a new wallet policy with rules governing transaction behavior.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the policy (max 50 characters)
rulesYesRules that define policy behavior
chain_typeYesChain type (currently only ethereum)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as side effects, required permissions, or idempotency. The description is minimal beyond the creation action.

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

Conciseness5/5

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

The description is a single sentence that conveys the core purpose without unnecessary words. It is front-loaded and efficient.

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

Completeness2/5

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

For a creation tool with 3 required parameters and no output schema, the description lacks details on what the policy does after creation, how rules are structured, or what the return value is. More context would help agents understand implications.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already defines parameter meanings. The description adds context ('governing transaction behavior') but does not elaborate on parameters beyond the schema. Baseline score of 3 is appropriate.

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 clearly states the action ('Create a new wallet policy') and specifies that it involves rules governing transaction behavior. It distinguishes this tool from siblings like update_policy and delete_policy.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like update_policy or add_rule_to_policy. There is no mention of prerequisites or typical scenarios.

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

create_walletB

Creates a new app-owned wallet. App-owned wallets are fully managed by your Privy app.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_typeNoThe chain type of the wallet to createethereum
policy_idsNoOptional policy ID to enforce on the wallet (max 1)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the creation action and managed nature, omitting side effects (e.g., storage, permissions, idempotency) or error conditions, which is insufficient for a creation tool.

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

Conciseness5/5

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

The description is extremely concise with two front-loaded sentences, no redundancy, and every word serves a purpose.

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

Completeness2/5

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

Given no output schema, the description fails to explain return values (e.g., wallet ID, status). It also lacks mention of common contexts like async behavior or rate limits, leaving the agent with incomplete information.

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

Parameters3/5

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

Input schema has 100% description coverage, so baseline is 3. The description adds no additional meaning beyond the schema; it does not clarify how or when to use chain_type or policy_ids.

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 clearly states the tool 'Creates a new app-owned wallet' with a specific verb and resource, and the context of being 'fully managed by your Privy app' distinguishes it from sibling tools like get_wallets or signing tools.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives (e.g., when to create an app-owned vs. user wallet, or prerequisites like authentication). It lacks context for appropriate usage.

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

delete_policyB

Deletes a policy by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
policy_idYesID of the policy to delete (24 characters)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states that deletion occurs but does not disclose whether it is permanent, reversible, or has cascading effects on associated rules.

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

Conciseness5/5

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

The description is a single sentence of five words, with no unnecessary information. It is highly concise and front-loaded.

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

Completeness3/5

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

For a simple deletion tool with one parameter, the description is mostly adequate but lacks mention of permanence or side effects. Given no output schema and sibling tools, it could be slightly more informative.

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

Parameters3/5

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

Schema coverage is 100% with the parameter 'policy_id' described as 'ID of the policy to delete (24 characters)'. The description adds no extra meaning beyond the schema, meeting the baseline.

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 'Deletes a policy by its ID' uses a specific verb and resource, clearly differentiating from sibling tools like create_policy, get_policy, update_policy, and delete_policy_rule.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as delete_policy_rule. The description does not mention prerequisites or when deletion is appropriate.

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

delete_policy_ruleB

Deletes a specific rule from a policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesID of the rule to delete
policy_idYesID of the policy (24 characters)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and description lacks behavioral details such as irreversibility, permission requirements, or side effects. For a delete operation, this is insufficient.

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?

Single sentence, no fluff. Efficient but could briefly address return value or errors.

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

Completeness2/5

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

No output schema and description does not mention return value, errors, or successes. For a simple delete, agent needs to know if operation is idempotent or throws on non-existent rule.

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

Parameters3/5

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

Schema covers both parameters with descriptions; tool description adds no extra meaning. Baseline 3 justified by 100% schema coverage.

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?

Description clearly states verb 'deletes' and resource 'specific rule from a policy', distinguishing it from siblings like add_rule_to_policy, get_policy_rule, update_policy_rule.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance. Does not mention prerequisites (e.g., policy must exist) or consequences of deletion.

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

eth_sendTransactionB

Sign and broadcast a transaction to the blockchain network.

ParametersJSON Schema
NameRequiredDescriptionDefault
caip2YesBlockchain identifier in CAIP-2 format (e.g. eip155:1 for Ethereum mainnet, eip155:8453 for Base)
sponsorNoEnable gas sponsorship (requires Privy Dashboard config)
walletIdYesID of the wallet to use for the transaction.
chain_typeNoChain typeethereum
transactionYesEthereum transaction object

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description only says 'Sign and broadcast' without detailing side effects, authorization needs, or error behavior. For a mutation tool, this is insufficient.

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?

Single, front-loaded sentence. Efficient but could include a bit more context without being verbose.

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

Completeness2/5

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

Tool has 5 params, nested objects, no output schema. Description omits return value, error cases, and use-case context. Incomplete for such a complex operation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds no extra information about parameters beyond what the schema already provides (e.g., does not explain 'sponsor' flag implications).

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?

Description clearly states the tool 'Sign and broadcast a transaction to the blockchain network.' This distinguishes it from sibling signing tools like eth_signTransaction (which only signs) and personal_sign (which signs messages).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, e.g., when to use eth_sendTransaction vs eth_signTransaction + manual broadcast. No prerequisites or context provided.

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

eth_signTransactionC

Sign a transaction using the eth_signTransaction method with a specified wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletIdYesID of the wallet to use for signing.
transactionYesEthereum transaction object

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention side effects, authorization requirements, or what the signed output looks like. The description adds minimal behavioral context beyond the name.

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 a single concise sentence with no wasted words. It is front-loaded with the action and method. Could be slightly longer to include usage guidance, but it is appropriately sized for a simple signing tool.

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

Completeness2/5

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

The description is incomplete for a signing tool. It does not mention the return value (signed transaction hex), prerequisites (wallet unlocked? connected?), or any security considerations. No output schema is provided to compensate.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond the schema, simply restating 'with a specified wallet' which corresponds to walletId.

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

Purpose4/5

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

The description clearly states the action: sign a transaction using the eth_signTransaction method with a specified wallet. It is specific about the resource and verb, but does not differentiate from other signing tools like personal_sign or eth_signTypedData_v4.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as personal_sign or eth_signTypedData_v4. The description only restates the tool's action without context about appropriate use cases.

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

eth_signTypedData_v4C

Sign EIP-712 typed data using eth_signTypedData_v4 method.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletIdYesID of the wallet to use for signing.
typed_dataYesEIP-712 typed data object

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must bear the full burden. It only states that the tool signs typed data, omitting any behavioral traits such as whether it is read-only, authentication needs, or what the signature output represents.

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

Conciseness3/5

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

The description is extremely concise (one sentence), but it sacrifices necessary detail. It is not front-loaded with the most critical information, and simply restates the method name.

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

Completeness2/5

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

Given the tool complexity with a nested input and no output schema, the description is incomplete. It does not explain return values, error handling, or any prerequisites for using the wallet ID.

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

Parameters3/5

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

Schema coverage is 100% and the input schema already describes the parameters in detail, including the nested typed_data object. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states 'Sign EIP-712 typed data' with a specific verb and resource. It mentions the method name, which distinguishes it from sibling signing tools like personal_sign or eth_signTransaction, but does not explicitly differentiate its use case.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives (e.g., personal_sign, eth_signTransaction). There is no mention of prerequisites, context, or when not to use it.

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

get_policyA

Retrieves a policy by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
policy_idYesID of the policy to retrieve (24 characters)

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. 'Retrieves' clearly indicates a read-only, non-destructive operation. The behavior is straightforward: return the policy matching the ID. It lacks details on error handling or auth, but for a simple retrieval, this is adequate.

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

Conciseness5/5

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

The description is a single sentence with no filler, front-loading the verb and object. Every word is essential. No wasted text.

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

Completeness3/5

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

Given the simplicity of the tool (one parameter, no output schema, no annotations), the description is minimally adequate. However, it fails to mention the return value shape or potential errors (e.g., missing policy). With no output schema, a hint about the response structure would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%—the parameter 'policy_id' already includes a description ('ID of the policy to retrieve (24 characters)'). The tool description adds no new meaning beyond the schema, so the baseline score of 3 applies.

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 uses a specific verb 'Retrieves' and a clear resource 'policy', with the means 'by its ID'. This clearly distinguishes it from sibling tools like create_policy, update_policy, delete_policy, etc. The purpose is immediately understandable.

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

Usage Guidelines4/5

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

The description clearly implies use when you have a policy ID and need to fetch its details. However, it does not explicitly state when not to use it (e.g., for listing policies) or provide alternatives. For a simple get-by-ID tool, the implied usage is sufficient, earning a 4.

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

get_policy_ruleB

Retrieves a specific rule from a policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesID of the rule to retrieve
policy_idYesID of the policy (24 characters)

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'retrieves' without disclosing that it is a read-only and idempotent operation, or any potential side effects or authorization requirements.

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

Conciseness3/5

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

A single sentence is concise but lacks structure. It could be improved by being split into key points or adding context about return values.

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

Completeness2/5

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

Given the simplicity of the tool, the description is insufficient. It does not mention what the tool returns (e.g., the rule object) or any error conditions, which would be helpful for the agent.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters are fully documented in the schema. The description adds no extra meaning beyond what the schema already provides, such as format constraints or defaults.

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?

Clearly states the tool retrieves a specific rule from a policy, distinguishing it from sibling tools like add_rule_to_policy, update_policy_rule, and delete_policy_rule.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as when to retrieve a policy instead of a rule, or when to list all rules. No exclusions or context provided.

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

get_transactionB

Retrieves transaction details by transaction ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
transaction_idYesID of the transaction to retrieve

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behaviors. It only states it retrieves details, omitting any side effects, safety, or constraints like authentication or rate limits. This is minimal.

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?

A single sentence with no redundancy. It is efficiently front-loaded, but could have been improved with slight elaboration.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema. The description is adequate but lacks context about what 'transaction details' includes or how it relates to wallet transactions.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the parameter description in the schema, merely restating the purpose.

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 clearly states the verb 'Retrieves' and the resource 'transaction details' with the identifier 'by transaction ID'. It distinctly separates from sibling tools like 'get_wallet_transactions' which implies listing, while this retrieves a single transaction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_wallet_transactions'. There is no mention of prerequisites or when not to use it.

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

get_wallet_balanceA

Retrieves the balance of a wallet for a specific asset and chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesAsset type (usdc or eth)
chainYesBlockchain network
walletIdYesID of the wallet to check balance for.
includeCurrencyNoInclude pricing in specified currency

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states it retrieves balance, omitting behavioral traits like authentication requirements, error handling, or rate limits.

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

Conciseness5/5

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

Single sentence, front-loaded with action, no wasted words. Efficient and direct.

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

Completeness3/5

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

Lacks output schema; agent cannot infer return format (e.g., balance amount, currency, error responses). For a simple tool, minimal but incomplete.

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

Parameters3/5

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

Schema has 100% description coverage for all 4 parameters. Description does not add new semantic meaning beyond what schema already provides, earning baseline 3.

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?

Description clearly states verb 'retrieves' and resource 'balance of a wallet' with specific inputs (asset, chain). It distinguishes from sibling tools like get_wallets (list) and get_wallet_transactions (transactions).

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

Usage Guidelines3/5

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

Description implies usage when balance is needed but lacks explicit guidance on when to use versus alternatives or prerequisites. No mention of when not to use.

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

get_wallet_detailsB

Retrieves details for a specific wallet by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletIdYesThe wallet ID to retrieve

TDQS

B3.1/5.0
Behavior3/5

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

The description implies a read-only operation ('retrieves details'), which matches the tool's purpose. Since no annotations exist, the description carries the full burden, but it provides no additional behavioral context such as permissions needed or side effects. This is adequate for a simple read tool.

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 a single sentence with no fluff. It could be more informative, but it is concise and front-loaded.

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

Completeness2/5

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

With no output schema, the description should give some indication of what 'details' includes (e.g., balance, address, name). It fails to do so, leaving the agent uncertain about the return value.

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

Parameters3/5

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

Schema coverage is 100%, and both the schema and description describe the walletId parameter similarly. The description adds no new meaning beyond 'by its ID', so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves details for a specific wallet by ID. However, it does not differentiate from siblings like get_wallet_balance or get_wallet_transactions, which also target specific wallets.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For instance, there is no mention that get_wallets should be used first to obtain the ID, or that other tools exist for specific wallet data.

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

get_walletsB

Retrieves a list of wallets associated with the Privy application.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of wallets to return (default: 10)
chain_typeNoFilter by chain type (ethereum, solana, etc.)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavioral traits. It only states the basic operation without noting idempotency, authentication requirements, or any side effects. The description could imply it is safe but fails to explicitly confirm.

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 a single clear sentence with no wasted words. It is front-loaded with the action and resource. However, it could be slightly expanded to include key context without becoming verbose.

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

Completeness2/5

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

The description lacks important context: it does not explain the meaning of 'associated with the Privy application' (e.g., user's wallets), does not mention pagination or ordering despite a limit parameter, and does not describe the return format. Given the tool has two parameters and many related tools, this is insufficient.

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

Parameters3/5

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

Schema description coverage is 100% (both 'limit' and 'chain_type' are described in the input schema). The description itself adds no additional meaning beyond the schema, meeting the baseline expectation for high coverage.

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 clearly states the verb 'retrieves' and the resource 'list of wallets associated with the Privy application', which is specific and distinguishes it from sibling tools like get_wallet_details (fetches a single wallet) and create_wallet (creates a new wallet).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., get_wallet_details or get_wallet_balance). The description does not mention prerequisites, filters, or selection criteria.

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

get_wallet_transactionsC

Retrieves transaction history for a specific wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesAsset type (usdc or eth)
chainYesBlockchain network
limitNoMaximum number of transactions to return (max 100).
cursorNoPagination cursor for the next set of results.
walletIdYesID of the wallet to get transactions for.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like pagination, ordering, or read-only nature. It only says 'retrieves transaction history' but does not mention the cursor/limit parameters, result ordering, or that it is a read-only operation. This lack of transparency could confuse an agent.

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 a single sentence with no unnecessary words. It is concise, but could be slightly improved by incorporating key parameter context without becoming verbose.

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

Completeness2/5

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

Given there are 5 parameters, no output schema, and no annotations, the description is too brief. It omits important context such as pagination behavior, default ordering, and the structure of returned data. A more complete description would help an agent use this tool effectively.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no parameter semantics beyond the schema; it does not clarify the meaning of 'transaction history' or explain how cursor/limit function. Thus, it meets the baseline without value add.

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

Purpose4/5

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

The description clearly states it retrieves transaction history for a specific wallet. It uses a specific verb and resource, distinguishing it from sibling tools like get_wallet_balance or get_wallet_details. However, it could be more precise about the scope (e.g., 'for a given wallet').

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_transaction (single transaction) or get_wallet_balance. The description does not mention use cases or when not to use it.

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

personal_signB

Sign a message using the personal_sign method with a specified wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesMessage to sign
encodingNoMessage encoding (utf-8 or hex)utf-8
walletIdYesID of the wallet to use for signing.

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only says 'Sign a message' without mentioning permissions, side effects, output format, or potential errors.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but lacks detail. It is not verbose, but could include more useful information without becoming too long.

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

Completeness2/5

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

For a signing tool with 3 parameters, no output schema, and no annotations, the description is too basic. It does not explain return values, message encoding implications, or potential pitfalls.

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

Parameters3/5

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

Schema coverage is 100%, and the description does not add meaning beyond the schema's parameter descriptions. The baseline score of 3 is appropriate as schema already covers the parameters.

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 clearly states the verb 'sign', the resource 'a message', and the method 'personal_sign', distinguishing it from sibling tools like eth_signTransaction or raw_sign.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like eth_signTypedData_v4, secp256k1_sign, or raw_sign. The description lacks any context about selection criteria.

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

raw_signA

Sign a raw hash using the wallet's private key along the blockchain's cryptographic curve.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYesHash to sign (e.g. 0x0775aeed9c9ce6e0fbc4db25c5e4e6368029651c905c286f813126a09025a21e)
walletIdYesID of the wallet to use for signing.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist; description mentions private key usage but lacks details on side effects, permissions, or rate limits for this mutation operation.

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

Conciseness5/5

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

Single efficient sentence with no superfluous words, directly conveying the core action.

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

Completeness3/5

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

Minimally complete for a simple tool, but lacks details on hash format, signature output, or preconditions; no output schema to supplement.

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

Parameters3/5

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

Schema covers both parameters with descriptions; the tool description adds no extra meaning beyond clarifying the hash is raw.

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?

Description clearly states the tool signs a raw hash using a wallet's private key on a specific curve, distinguishing it from siblings like personal_sign which adds prefix.

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

Usage Guidelines3/5

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

Description implies usage for raw hashes but provides no explicit when-to-use or alternatives compared to sibling signing tools.

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

secp256k1_signC

Sign a hash using the secp256k1 method.

ParametersJSON Schema
NameRequiredDescriptionDefault
hashYesThe hash to sign (e.g. 0x12345678)
walletIdYesID of the wallet to use for signing.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It fails to disclose whether signing produces a side effect, what the return value is (e.g., signature), or if any permissions are needed. This is a critical gap for a cryptographic operation.

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?

A single sentence with no extraneous information. It is front-loaded and efficient, though at the expense of completeness in other dimensions.

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

Completeness2/5

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

For a tool among many signing siblings, the description lacks detail about return values, prerequisites, or how it differs from alternatives. The schema covers parameters, but the overall context for agent selection is insufficient.

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

Parameters3/5

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

The input schema already describes both parameters (hash and walletId) with 100% coverage. The description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the action (Sign) and the algorithm (secp256k1), distinguishing it from other signing methods like personal_sign or raw_sign, though it could be more explicit about what type of hash input it expects.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternative signing tools like personal_sign or raw_sign. The agent is left to infer context from the name alone.

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

solana_signAndSendTransactionC

Sign and broadcast a transaction with a Solana wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
caip2YesSolana network identifier in CAIP-2 format
sponsorNoEnable gas sponsorship (requires Privy Dashboard config)
encodingNoTransaction encodingbase64
walletIdYesID of the wallet to use for signing and sending.
transactionYesBase64 encoded serialized transaction to sign and send

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states 'sign and broadcast' but does not mention that this is a state-changing operation (e.g., sending SOL, executing a program), potential costs, or irreversible nature. No information about return value or error conditions is provided.

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 a single sentence, which is concise and front-loaded. However, it could be expanded slightly to include essential context without becoming verbose. It earns its place but is very brief.

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

Completeness2/5

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

Given 5 parameters and no output schema, the description is incomplete. It does not explain what the tool returns (likely a transaction signature), how to handle errors, or the implications of the 'sponsor' parameter. An agent cannot fully understand the tool's behavior from this description alone.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter has a description. The tool description adds no extra meaning beyond the schema. For example, 'sponsor' is described only as 'Enable gas sponsorship (requires Privy Dashboard config)' which is already in the schema. No additional context or clarification is provided.

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

Purpose4/5

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

The description clearly states the tool signs and broadcasts a transaction with a Solana wallet. This distinguishes it from sibling tools like solana_signMessage (signs a message) and solana_signTransaction (signs only). However, it could be more explicit about the difference from solana_signTransaction.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., wallet must be created and funded) or when to prefer solana_signTransaction for signing only. The description lacks any usage context or exclusions.

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

solana_signMessageC

Sign a message with a Solana wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesMessage to sign
encodingNoMessage encodingbase64
walletIdYesID of the wallet to use for signing.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits. It does not state that signing produces a signature, whether the operation is deterministic, if it consumes gas, or what the output format looks like. The agent cannot infer side effects or return structure.

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 a single, concise sentence with no fluff. However, it could be slightly expanded to include return value or usage context without becoming verbose.

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

Completeness2/5

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

With no output schema and no description of the return value (e.g., signature string), the tool is incomplete. The agent lacks critical information about what to expect after signing. The three parameters are covered, but the missing output context makes it insufficiently informative.

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

Parameters3/5

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

All three parameters are fully described in the schema with clear descriptions ('Message to sign', 'Message encoding', 'ID of the wallet'). The description adds no additional meaning beyond schema. Baseline 3 applies due to 100% schema coverage.

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

Purpose4/5

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

The description clearly states 'Sign a message with a Solana wallet,' identifying the verb (sign) and resource (message) specific to Solana. It implicitly distinguishes from Ethereum signing tools like personal_sign, but does not explicitly differentiate from other Solana signing tools such as solana_signTransaction or solana_signAndSendTransaction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the many sibling signing tools (e.g., raw_sign, secp256k1_sign, solana_signTransaction). There is no mention of prerequisites, message format expectations, or alternatives.

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

solana_signTransactionA

Sign a transaction with a Solana wallet without broadcasting it.

ParametersJSON Schema
NameRequiredDescriptionDefault
encodingNoTransaction encodingbase64
walletIdYesID of the wallet to use for signing.
transactionYesBase64 encoded serialized transaction to sign

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided. Description does not disclose what the tool returns (signed transaction?), side effects on wallet state, or error conditions. 'Without broadcasting' is the only behavioral hint, leaving significant gaps for an AI agent.

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

Conciseness5/5

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

Single sentence with no wasted words. Perfectly concise and front-loaded.

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

Completeness3/5

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

Lacks output schema and does not describe return value. With many sibling signing tools, it sufficiently differentiates by chain and action, but missing output detail reduces completeness.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all three parameters. The tool description adds no extra meaning beyond the schema's parameter descriptions, so baseline of 3 is appropriate.

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?

Description clearly states the action (sign a Solana transaction) and distinguishes from sibling tools like solana_signAndSendTransaction by specifying 'without broadcasting it'. The verb 'sign' and resource 'transaction' are specific.

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

Usage Guidelines4/5

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

Description implicitly guides use by contrasting with broadcasting, but lacks explicit when-to-use or when-not-to-use guidance compared to other signing tools like eth_signTransaction or personal_sign. Still sufficient for most AI scenarios.

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

update_policyB

Updates an existing policy by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name for the policy (1-50 characters)
rulesNoUpdated rules for the policy
policy_idYesID of the policy to update (24 characters)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. Lacks details on side effects (e.g., whether update replaces or merges), authorization needs, or what happens on failure. Only states the function with no behavioral depth.

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

Conciseness5/5

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

Single sentence, front-loaded with key information. No wasted words.

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

Completeness2/5

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

Missing description of return value or output (no output schema). Does not explain if update is partial or full replacement. For a mutation tool, more detail about behavior and response is needed.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all 3 parameters. Description adds no extra meaning beyond schema, so baseline score of 3 is appropriate.

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?

Description clearly states the verb 'updates' and resource 'policy' with identifier 'by its ID'. Distinguishes from sibling tools like create_policy, delete_policy, and get_policy.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as update_policy_rule. Does not state prerequisites (e.g., policy must exist) or context for use.

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

update_policy_ruleB

Updates an existing rule within a policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the rule (1-50 characters)
actionYes
methodYes
rule_idYesID of the rule to update
policy_idYesID of the policy (24 characters)
conditionsYesConditions that define when the rule applies

TDQS

B3/5.0
Behavior2/5

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

No annotations provided. Description only says 'Updates', but fails to disclose whether it requires full replacement or partial update, or effects on existing state. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

Single sentence is concise but lacks any structure or additional context. Only one sentence, which is efficient but could include more information.

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

Completeness2/5

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

With 6 required parameters and no output schema or annotations, the description is too brief. It does not clarify update semantics (partial vs full replacement) or what happens to existing data.

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

Parameters3/5

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

Schema has 67% description coverage, meaning some parameters are already documented. The description adds no additional semantic value beyond the schema.

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?

Clearly states action (Updates) and resource (existing rule within a policy), distinguishing it from sibling tools like add_rule_to_policy and delete_policy_rule.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus add_rule_to_policy or delete_policy_rule, nor any prerequisites or context for invocation.

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

update_walletC

Updates a wallet's policies.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletIdYesID of the wallet to update.
policyIdsNoThe new policy ID to enforce on the wallet (max 1)

TDQS

C2.8/5.0
Behavior2/5

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

The description does not disclose behavioral traits such as whether policies are replaced or merged, authorization requirements, or side effects. With no annotations, this is a significant gap.

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

Conciseness3/5

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

The description is concise (one sentence) but lacks detail, making it under-specified rather than efficiently concise.

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

Completeness2/5

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

For a mutation tool with no output schema or annotations, the description should provide context about return values, error handling, or policy update behavior. It does none of this.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions for both parameters. The description adds minimal extra meaning, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it updates a wallet's policies, using a specific verb and resource. It distinguishes from sibling tools like update_policy (which updates a policy itself) by focusing on the wallet as the target.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like create_wallet or update_policy. No prerequisites or exclusions mentioned.

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

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: wallet CRUD, different signing methods (Ethereum vs Solana, various formats), policy management, and transaction retrieval. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., create_wallet, delete_policy_rule). Even longer names like solana_signAndSendTransaction adhere to this convention without mixing styles.

Tool Count4/5

With 24 tools, the server is on the upper end of the 'heavy' range, but each tool serves a specific need in wallet management, multi-chain signing, and policy administration. No obvious redundancy or bloat.

Completeness3/5

The tool set covers wallet CRUD (except deletion), extensive signing operations, and full policy lifecycle management. The absence of a delete_wallet tool is a notable gap, though other core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides permissionless wallet infrastructure for AI agents to manage wallets, sign transactions, and handle tokens across Solana and all EVM-compatible chains. It includes 29 specialized tools for on-chain operations, featuring built-in security guards and automated x402 payment processing without KYC requirements.
    29
    402
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check balances and send transactions across multiple blockchains with automatic spending limit protection and policy enforcement.
    3
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to perform blockchain operations like wallet management, token info, DeFi swaps, cross-chain bridging, and price checking across Ethereum, BNB Chain, and Solana.

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/privy-io/privy-mcp-server'

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