Skip to main content
Glama
decentrathai

Zcash MCP Server

by decentrathai

Zcash MCP Server - Private Payments for AI Agents

Track: Building Cool Agents

An MCP (Model Context Protocol) server that enables AI agents to send and receive private Zcash payments with full shielded transaction support.

Features

  • Shielded Addresses: Generate and manage private Zcash addresses

  • Private Payments: Send ZEC with encrypted memos

  • Balance Checking: Query shielded balances

  • Transaction History: View private transaction history

  • Price Info: Real-time ZEC/USD pricing

Related MCP server: AgentBTC MCP Server

Why This Matters

Privacy in digital payments is critical. This MCP server brings private, blockchain-based payments to AI agents, enabling:

  • Private agent-to-agent transfers

  • Secure payment automation

  • Privacy-preserving transactions

  • Decentralized finance integration

Installation

npm install

Usage

As MCP Server

Add to your MCP client configuration:

{
  "mcpServers": {
    "zcash": {
      "command": "node",
      "args": ["/path/to/zcash-mcp-server/index.js"]
    }
  }
}

Available Tools

  1. create_shielded_address - Generate new private Zcash address

  2. get_balance - Check shielded balance

  3. send_private_payment - Send ZEC with encrypted memo

  4. get_transactions - View transaction history

  5. get_price - Get current ZEC/USD price

Architecture

  • Built on MCP SDK

  • Connects to Zcash RPC node

  • Uses shielded (Sapling/Orchard) addresses

  • Encrypts transaction memos

Security

  • Private keys never exposed to AI agent

  • All transactions use shielded pools

  • Encrypted memo support

  • No metadata leakage

Demo

See demo/ folder for example usage with Claude Desktop and other MCP clients.

License

MIT

Author

decentrathai - Built for MCP & AI Agents Hackathon 2026

Available Tools

5 tools
create_shielded_addressA

Generate a new shielded Zcash address for private transactions. Returns a z-address that can receive private payments.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional label for the address (e.g., "donations", "payments")

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It implies a non-destructive creation operation and states it returns a z-address, but omits potential costs, limits, or side effects. Adequate for a simple tool but could be more transparent.

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, front-loaded sentence that efficiently conveys purpose and output. Every word contributes value without redundancy.

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 simple tool (1 optional parameter, no output schema), the description adequately covers the tool's action and return value. It explains what a shielded address is and its use for private payments, making it complete 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 description coverage is 100% with one optional 'label' parameter well-described. Tool description adds no extra meaning beyond the schema, meeting the baseline expectation.

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 specifies the action (generate), resource (shielded Zcash address), and purpose (private transactions). It distinguishes itself from sibling tools like get_balance and send_private_payment by focusing on address creation.

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. The description lacks context about prerequisites, cases where address creation might be inappropriate, or relationship to other tools.

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

get_balanceB

Get the current shielded balance in ZEC. Shows only the private (shielded) balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional: specific z-address to check balance for

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 for behavioral disclosure. It states the tool gets a shielded balance but does not reveal what happens if no address is provided (e.g., returns all balances), required authentication, rate limits, or any side effects. For a read operation, basic transparency is missing.

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?

Two sentences, no fluff, front-loaded with key information. Every word is purposeful and efficiently conveys the tool's function.

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 tool's simplicity (one optional param, no output schema), the description is adequate but incomplete. It does not explain the return format or behavior when no address is provided. The mention of 'ZEC' and 'shielded balance' is helpful, but more detail 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 coverage is 100%, so baseline is 3. The description adds minimal context beyond the schema, merely repeating that the address is optional and for a z-address. The phrase 'shows only the private (shielded) balance' provides some interpretation but does not compensate for missing parameter details.

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 retrieves the current shielded balance in ZEC, distinguishing it from siblings like get_price and get_transactions. It specifies that it shows only the private (shielded) balance, providing a specific verb and resource.

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 explicit when-to-use or when-not-to-use guidance. While it mentions 'only the private (shielded) balance,' it does not clarify when to use this tool versus other balance-related tools (if any) or suggest alternatives. No prerequisites or exclusions are stated.

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

get_priceA

Get current ZEC/USD price from CoinGecko API

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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 does not disclose behavioral traits like caching, update frequency, rate limits, or error behavior, which is insufficient for a tool with no other metadata.

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?

A single sentence that is front-loaded with the key action and resource, containing no extraneous words. Every part earns its place.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema), the description covers the essential purpose and source. It could optionally mention return format, but remains adequate for a trivial tool.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so the description adds no parameter-specific meaning but includes context about the data source and currency pair, which is above the baseline expectation.

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 verb 'get', the resource 'ZEC/USD price', and the source 'CoinGecko API', clearly differentiating from sibling tools like get_balance or send_private_payment.

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?

The description implies usage for retrieving the current price, but provides no explicit guidance on when to use versus alternatives or any exclusions. Sibling context helps but the description itself lacks such guidance.

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

get_transactionsB

Get shielded transaction history. Shows recent private transactions with memos.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of transactions to retrieve (default: 10)

TDQS

B3.3/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. It mentions 'recent private transactions with memos' but does not disclose authentication needs, idempotency, or side effects. Inadequate for a query 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?

Two efficient sentences, front-loaded with key action, no superfluous words. Excellent conciseness.

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?

Minimalist tool with 1 parameter and no output schema. Description covers what the tool returns but omits response format, pagination details, and error scenarios. Adequate but not thorough.

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 adds context about the nature of the data returned ('private transactions with memos') beyond what the schema provides for the limit parameter.

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 'Get shielded transaction history' with specific verbs and resources, and distinguishes from sibling tools like send_private_payment by focusing on viewing, not sending.

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 get_balance or send_private_payment. Missing context on use cases or prerequisites.

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

send_private_paymentB

Send a private Zcash payment to a shielded address. Transaction is fully encrypted with optional memo.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_addressYesRecipient z-address (shielded)
amountYesAmount to send in ZEC
memoNoOptional encrypted memo (max 512 bytes)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, description carries full burden. It states 'fully encrypted' and optional memo, which are key behavioral traits. However, it omits crucial details like transaction finality, fee handling, or error conditions.

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 concise with two sentences and front-loaded. It wastes no words, though slightly more detail could be included without harming conciseness.

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 output schema and description of return value (e.g., transaction ID). No mention of prerequisites like balance sufficiency. The description is adequate for a simple tool but incomplete for full context.

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 description adds that the memo is optional and encrypted, but does not exceed the schema's detail. Baseline 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 tool sends a private Zcash payment to a shielded address, with specific verb and resource. It unambiguously distinguishes from sibling tools that handle address creation, balance queries, price, and transaction history.

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, no exclusions or prerequisites. The description does not mention scenarios like insufficient funds or network requirements, leaving the agent without decision support.

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

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct aspect of Zcash shielded operations: creating addresses, checking balance, getting price, viewing transactions, and sending payments. No overlap.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with underscores (e.g., create_shielded_address, get_balance). Naming is uniform and predictable.

Tool Count5/5

Five tools is appropriate for a focused Zcash private transaction server. Each tool serves a clear purpose without unnecessary bloat or deficiency.

Completeness4/5

Covers the core shielded workflow: address creation, balance, send, and history. Minor gap: no tool for receiving payments or viewing public balances, but scope is well-defined for shielded operations.

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
    Not graded
    quality
    F
    maintenance
    Enables AI agents to perform financial transactions such as direct payments, escrows, and bounty management using natural language with zero code integration. It provides a comprehensive suite of tools for fund streaming, subscriptions, and reputation tracking to facilitate secure agent-to-agent commerce.
    22
    MIT

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/decentrathai/zcash-mcp-server'

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