Skip to main content
Glama

šŸŽØ Zora Coins MCP Server

npm version npm downloads License: MIT TypeScript

A production-ready Model Context Protocol (MCP) server that provides seamless access to the Zora Coins ecosystem. Query coin data, explore markets, manage profiles, and execute trades on Base mainnet through a simple, standardized interface.

✨ Features

šŸ” Query Tools (No wallet required)

  • Market Exploration: Discover trending coins, top gainers, highest volume, and newest launches

  • Coin Analytics: Get detailed market data, holder information, and trading history

  • Social Features: Access comments, creator profiles, and community engagement

  • Real-time Data: Live pricing, market caps, and trading volumes

⚔ Write Operations (Wallet required)

  • Create Coins: Deploy new creator coins with custom metadata

  • Trade: Buy/sell coins with ETH or ERC20 tokens

  • Manage: Update coin metadata and payout recipients

šŸ› ļø Developer Experience

  • Type Safe: Built with TypeScript and Zod validation

  • Error Handling: Comprehensive error messages and graceful failures

  • Pagination: Support for large datasets with cursor-based pagination

  • Flexible: Works with any MCP-compatible client (Claude Desktop, Cursor, etc.)

Related MCP server: Base MCP Server

šŸš€ Quick Start

Installation Options

# Run directly with npx - always uses latest version
npx zora-coins-mcp

Option 2: NPX with Full Package Name

# Alternative NPX syntax
npx zora-coins-mcp-server

Option 3: Global Installation

# Install globally for persistent use
npm install -g zora-coins-mcp-server

# Then run with either command
zora-coins-mcp
# or
zora-coins-mcp-server

Basic Setup

  1. Create environment file:

cp .env.example .env
  1. Configure environment variables:

# Required for enhanced features (get from https://zora.co)
ZORA_API_KEY=your_api_key_here

# Optional: Custom RPC endpoint
BASE_RPC_URL=https://mainnet.base.org

# Required for write operations only
PRIVATE_KEY=0xYourPrivateKeyHere
  1. Test the server:

zora-coins-mcp

šŸ”§ MCP Client Integration

Claude Desktop

Add to your ~/.claude/mcp.json:

{
  "mcpServers": {
    "zora-coins": {
      "command": "npx",
      "args": ["zora-coins-mcp"],
      "env": {
        "ZORA_API_KEY": "your_api_key_here",
        "BASE_RPC_URL": "https://mainnet.base.org",
        "PRIVATE_KEY": "0xYourPrivateKeyHere"
      }
    }
  }
}

Option 2: Using Global Installation

{
  "mcpServers": {
    "zora-coins": {
      "command": "zora-coins-mcp",
      "env": {
        "ZORA_API_KEY": "your_api_key_here",
        "BASE_RPC_URL": "https://mainnet.base.org",
        "PRIVATE_KEY": "0xYourPrivateKeyHere"
      }
    }
  }
}

Cursor IDE

Configure in your MCP settings:

{
  "name": "zora-coins",
  "command": ["npx", "zora-coins-mcp"],
  "env": {
    "ZORA_API_KEY": "your_api_key_here"
  }
}

Option 2: Using Global Installation

{
  "name": "zora-coins",
  "command": ["zora-coins-mcp"],
  "env": {
    "ZORA_API_KEY": "your_api_key_here"
  }
}

Custom Integration

# Run as stdio server with npx
npx zora-coins-mcp

# Or if globally installed
zora-coins-mcp

# Development mode with live reload  
npm run dev

šŸ“– Available Tools

šŸ„ Health Check

  • zora_health - Server diagnostics and configuration status

šŸ” Market Exploration

  • zora_explore_new - Recently created coins

  • zora_explore_top_gainers - Biggest 24h gainers

  • zora_explore_top_volume_24h - Highest trading volume

  • zora_explore_most_valuable - Highest market cap

  • zora_explore_last_traded - Recently traded coins

šŸ’° Coin Data

  • zora_get_coin - Comprehensive coin information

  • zora_get_coins - Batch fetch multiple coins

  • zora_get_coin_holders - Token holder list with balances

  • zora_get_coin_swaps - Recent trading activity

  • zora_get_coin_comments - Community comments

šŸ‘¤ Profile Management

  • zora_get_profile - User profile information

  • zora_get_profile_coins - Coins created by user

  • zora_get_profile_balances - User's coin portfolio

⚔ Trading & Creation (Requires Wallet)

  • zora_create_coin - Deploy new creator coin

  • zora_trade_coin - Buy/sell coins

  • zora_update_coin_uri - Update metadata

  • zora_update_payout_recipient - Change earnings recipient

šŸ’” Usage Examples

// Get top 5 newest coins
await mcp.callTool("zora_explore_new", { count: 5 });

// Find biggest gainers
await mcp.callTool("zora_explore_top_gainers", { count: 3 });

Analyze a Specific Coin

// Get detailed coin information
await mcp.callTool("zora_get_coin", {
  address: "0xd769d56f479e9e72a77bb1523e866a33098feec5"
});

// Check recent trading activity
await mcp.callTool("zora_get_coin_swaps", {
  address: "0xd769d56f479e9e72a77bb1523e866a33098feec5",
  first: 10
});

Profile Analysis

// Get profile information
await mcp.callTool("zora_get_profile", {
  identifier: "base"
});

// See coins created by user
await mcp.callTool("zora_get_profile_coins", {
  identifier: "jacob",
  count: 5
});

Trading Operations

// Buy a coin with ETH
await mcp.callTool("zora_trade_coin", {
  sellType: "eth",
  buyType: "erc20", 
  buyAddress: "0x...",
  amount: "0.001",
  slippage: 0.05
});

// Create a new coin
await mcp.callTool("zora_create_coin", {
  name: "My Creator Coin",
  symbol: "MCC",
  uri: "ipfs://...",
  payoutRecipient: "0x..."
});

āš™ļø Configuration

Environment Variables

Variable

Required

Description

ZORA_API_KEY

Recommended

API key from zora.co for enhanced features

BASE_RPC_URL

Optional

Base mainnet RPC endpoint (defaults to public RPC)

CHAIN_ID

Optional

Chain ID (defaults to 8453 for Base)

PRIVATE_KEY

Write ops only

0x-prefixed private key for transactions

PLATFORM_REFERRER

Optional

Address for referral attribution

Getting API Keys

  1. Visit zora.co

  2. Go to Developer Settings

  3. Generate a new API key

  4. Add to your .env file

Note: The server works without an API key but may have rate limits and reduced functionality.

šŸ”’ Security Best Practices

Private Key Safety

  • Never commit private keys to version control

  • Use environment variables or secure key management

  • Consider using a dedicated wallet for trading operations

  • Test with small amounts first

API Key Protection

  • Store API keys securely

  • Rotate keys regularly

  • Monitor usage in Zora dashboard

  • Use different keys for development/production

šŸ› ļø Development

Local Development

# Clone the repository
git clone https://github.com/your-username/zora-coins-mcp-server.git
cd zora-coins-mcp-server

# Install dependencies
npm install

# Copy environment file
cp .env.example .env

# Start development server
npm run dev

Building

# Build TypeScript
npm run build

# Clean build directory
npm run clean

# Build and start
npm run build && npm start

Project Structure

zora-coins-mcp-server/
ā”œā”€ā”€ src/
│   └── index.ts          # Main server implementation
ā”œā”€ā”€ dist/                 # Compiled JavaScript
ā”œā”€ā”€ .env.example          # Environment template
ā”œā”€ā”€ package.json          # Package configuration
ā”œā”€ā”€ tsconfig.json         # TypeScript configuration
└── README.md            # This file

🌐 Supported Networks

  • Base Mainnet (8453) - Full support for all operations

  • Other networks may have limited functionality

šŸ“š Resources

Documentation

Community

šŸ¤ Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

šŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

āš ļø Disclaimer

This software is provided "as is" without warranty. Cryptocurrency trading involves risk. Always:

  • Test with small amounts first

  • Understand the risks involved

  • Never invest more than you can afford to lose

  • Do your own research (DYOR)

The Zora Coins on this platform are created for artistic and cultural purposes as collectibles, not as investments or financial instruments.


Built with ā¤ļø for the Zora ecosystem

Report Issues | Request Features | Join Community

Available Tools

19 tools
zora_create_coinCreate a new coinB

Deploy a new Zora coin. Requires PRIVATE_KEY; only Base mainnet is supported currently.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
symbolYes
uriYes
payoutRecipientYes
platformReferrerNo
chainIdNo
currencyNo
gasMultiplierNo

TDQS

B3.3/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 mentions the need for a PRIVATE_KEY (implying authentication) and network restriction to Base mainnet, which adds useful context. However, it lacks details on critical behaviors: whether this is a write operation (implied by 'Deploy'), potential costs (gas fees), rate limits, error conditions, or what happens upon success (e.g., returns a transaction hash or coin address).

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 (two sentences) and front-loaded with the core purpose. Every sentence adds value: the first states the action, and the second provides critical constraints. There is no wasted text or redundancy.

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 complexity (a deployment tool with 8 parameters, no annotations, and no output schema), the description is incomplete. It covers the basic purpose and some constraints but misses essential details: parameter explanations, behavioral traits (e.g., mutability, costs), and output expectations. For a tool that likely involves blockchain transactions, this leaves significant gaps for an AI agent.

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 0%, so the description must compensate for all 8 parameters. It provides no information about any parameters (name, symbol, uri, payoutRecipient, platformReferrer, chainId, currency, gasMultiplier), their purposes, formats, or relationships. The description fails to add meaning beyond the bare schema, leaving parameters undocumented.

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 specific action ('Deploy a new Zora coin') and resource ('Zora coin'), distinguishing it from sibling tools like zora_get_coin (read) or zora_trade_coin (trade). It goes beyond the title's generic 'Create a new coin' by specifying the deployment context.

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 provides some context with 'Requires PRIVATE_KEY; only Base mainnet is supported currently', which implies prerequisites and network constraints. However, it doesn't explicitly state when to use this tool versus alternatives like zora_update_coin_uri or zora_update_payout_recipient, nor does it mention exclusions or complementary tools.

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

zora_explore_last_tradedLast tradedC

Coins most recently traded.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

TDQS

C2.6/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 mentions 'most recently traded' but doesn't disclose behavioral traits such as data freshness (real-time vs. delayed), pagination (implied by 'after' parameter but not explained), rate limits, authentication needs, or error handling. The description is minimal and lacks operational context.

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 at three words, front-loaded with the core purpose. There's no wasted language or redundancy, making it efficient for quick scanning, though this brevity contributes to gaps 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?

Given no annotations, 0% schema coverage, no output schema, and 2 parameters, the description is incomplete. It doesn't explain what data is returned (e.g., coin details, timestamps), how results are ordered, or any limitations. For a tool with parameters and exploration context, more detail is needed to be fully usable.

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 0%, so the description must compensate but adds no parameter information. It doesn't explain what 'count' (number of coins to return) or 'after' (cursor for pagination) mean, their typical values, or how they affect results. With 2 parameters and no schema descriptions, this is a significant gap.

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

Purpose3/5

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

The description 'Coins most recently traded' states the purpose (listing recently traded coins) but is vague about scope and mechanism. It doesn't specify if this is a global list, user-specific, or filtered by any criteria beyond recency. Compared to siblings like 'zora_explore_most_valuable' or 'zora_explore_top_volume_24h', the distinction is implied but not explicit.

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. With siblings like 'zora_explore_new' (new coins) and 'zora_explore_top_gainers' (top performers), the description doesn't clarify if this tool is for tracking market activity, discovery, or another use case. There's no mention of prerequisites or exclusions.

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

zora_explore_last_traded_uniqueLast traded (unique traders)C

Coins most recently traded by unique traders.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

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 full burden for behavioral disclosure. It only states what data is returned (coins recently traded by unique traders) without describing how results are ordered, whether there's pagination, what the response format looks like, or any rate limits. For a data retrieval tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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 - a single sentence that directly states the tool's purpose. There's no wasted language, repetition, or unnecessary elaboration. It's front-loaded with the core functionality and doesn't bury important 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?

Given the tool has no annotations, no output schema, and 0% parameter documentation coverage, the description is insufficiently complete. While concise, it doesn't provide enough context for an AI agent to understand how to effectively use this tool, what to expect in return, or how parameters affect results. A simple data retrieval tool needs more behavioral and contextual information when structured fields are sparse.

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 description adds no parameter information beyond what's in the schema. With 0% schema description coverage, both 'count' and 'after' parameters are undocumented in both schema and description. The baseline is 3 because the schema provides the structure (two optional parameters with types and constraints), but the description fails to compensate for the coverage gap by explaining what these parameters mean or how they affect results.

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's purpose: 'Coins most recently traded by unique traders' specifies both the resource (coins) and the filtering criteria (recently traded by unique traders). It distinguishes from sibling 'zora_explore_last_traded' by adding 'unique traders' qualification, though it doesn't explicitly contrast with other explore tools like 'zora_explore_new' or 'zora_explore_top_gainers'.

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. It doesn't mention when this specific 'unique traders' view is preferable to the regular 'last_traded' or other exploration tools like 'most_valuable' or 'new'. There's no indication of prerequisites, timing considerations, or typical use cases.

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

zora_explore_most_valuableMost valuableC

Coins with highest market capitalization.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

TDQS

C2.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 the full burden of behavioral disclosure. It states the tool retrieves coins by market capitalization but lacks details on permissions, rate limits, pagination (implied by 'after' parameter), or response format. For a tool with 2 parameters and no annotations, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized for its content, with zero waste or redundancy.

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's complexity (2 parameters, no annotations, no output schema), the description is incomplete. It covers the basic purpose but lacks details on behavior, parameter usage, and output, leaving significant gaps for an AI agent to understand how to invoke it correctly in context with siblings.

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 0%, so the description must compensate for undocumented parameters. It mentions 'coins with highest market capitalization', which hints at the 'count' parameter for limiting results, but doesn't explain 'after' (likely for pagination) or provide format details. With 2 parameters and no schema descriptions, the description adds minimal semantic value beyond basic inference.

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's purpose: retrieving coins with the highest market capitalization. It uses specific terms ('coins', 'highest market capitalization') that distinguish it from siblings like 'zora_explore_top_gainers' or 'zora_explore_top_volume_24h', though it doesn't explicitly differentiate them. The verb 'explore' in the name suggests a read operation, which aligns with the description.

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. It doesn't mention sibling tools like 'zora_explore_top_gainers' or 'zora_explore_top_volume_24h', nor does it specify contexts or exclusions. Usage is implied by the term 'most valuable', but explicit alternatives or prerequisites are absent.

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

zora_explore_newNew coinsC

Most recently created coins.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

TDQS

C2.6/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 implies a read-only operation (exploring coins) but doesn't disclose behavioral traits such as pagination (via 'after' parameter), rate limits, authentication needs, or data freshness. This leaves gaps in understanding how the tool behaves beyond its basic purpose.

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 a single phrase, 'Most recently created coins,' which is front-loaded and wastes no words. It efficiently conveys the core purpose without unnecessary elaboration, making it easy to scan and understand quickly.

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's moderate complexity (2 parameters, no output schema, no annotations), the description is incomplete. It lacks details on parameter usage, behavioral constraints, and output format, leaving significant gaps for an AI agent to invoke the tool correctly without additional context.

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?

With 2 parameters and 0% schema description coverage, the schema provides no parameter details. The description adds no semantic information about 'count' (number of coins to retrieve) or 'after' (pagination cursor), failing to compensate for the lack of schema documentation, which is insufficient for effective use.

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

Purpose3/5

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

The description 'Most recently created coins' clearly indicates the tool retrieves recently created coins, which is a specific purpose. However, it doesn't explicitly state the action verb (e.g., 'retrieve' or 'list') or differentiate from siblings like 'zora_get_coins' or 'zora_explore_last_traded', making it somewhat vague.

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. With siblings like 'zora_get_coins' (general retrieval) and 'zora_explore_last_traded' (trading-focused), the description lacks context for selection, offering only a basic function without exclusions or comparisons.

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

zora_explore_top_gainersTop gainers (24h)C

Coins with highest market cap delta over last 24h.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

TDQS

C2.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 the full burden of behavioral disclosure. It mentions the tool's function but doesn't disclose any behavioral traits such as rate limits, authentication needs, data freshness, or whether it's a read-only operation. For a tool with zero annotation coverage, this is a significant gap in transparency.

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, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance, with zero waste.

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's complexity (exploring top gainers with 2 parameters), no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't cover parameter usage, behavioral aspects, or output details, leaving significant gaps for the agent to understand and invoke the tool correctly.

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?

The description adds no meaning beyond the input schema. With 0% schema description coverage and 2 parameters ('count' and 'after'), the schema lacks descriptions for both parameters. The description doesn't explain what these parameters do, such as 'count' for limiting results or 'after' for pagination, failing to compensate for the low 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 the tool's purpose: it identifies coins with the highest market cap delta over the last 24 hours. It uses specific terms like 'coins', 'highest market cap delta', and 'last 24h', making the verb+resource explicit. However, it doesn't distinguish itself from sibling tools like 'zora_explore_most_valuable' or 'zora_explore_top_volume_24h', which might have overlapping or similar purposes, so it lacks sibling differentiation.

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. It doesn't mention any context, prerequisites, or exclusions, and it doesn't reference sibling tools like 'zora_explore_most_valuable' or 'zora_explore_top_volume_24h' that might serve similar exploration purposes. This leaves the agent without clear usage instructions.

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

zora_explore_top_volume_24hTop 24h volumeC

Coins with highest trading volume in last 24 hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
afterNo

TDQS

C2.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 the full burden of behavioral disclosure. It states the tool explores top volume coins but doesn't cover critical aspects like whether it's read-only, how it handles pagination (implied by 'after' parameter), rate limits, authentication needs, or what the output format looks like. This is a significant gap for a tool with parameters.

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, efficient sentence that front-loads the core purpose. There's no wasted verbiage, and it directly addresses what the tool does without unnecessary elaboration.

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 complexity (2 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain parameter usage, output format, or behavioral traits like pagination or safety. For a data retrieval tool with parameters, this leaves the agent under-informed about how to invoke it effectively.

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 0%, so the description must compensate for undocumented parameters. It mentions 'coins with highest trading volume' but doesn't explain the 'count' (number of results) or 'after' (pagination cursor) parameters at all. The description adds no meaningful semantics beyond what's inferable from the tool name.

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's purpose: identifying coins with the highest trading volume in the last 24 hours. It specifies the verb ('explore') and resource ('coins'), but doesn't explicitly differentiate from siblings like 'zora_explore_top_gainers' or 'zora_explore_most_valuable' beyond the volume focus.

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. It doesn't mention siblings like 'zora_explore_top_gainers' (for price performance) or 'zora_explore_most_valuable' (for market cap), leaving the agent to infer usage context solely from the tool name and description.

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

zora_get_coinGet coin detailsC

Fetch metadata, market data & creator info for a coin.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
chainIdNo

TDQS

C2.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 the full burden of behavioral disclosure. It mentions 'Fetch' implying a read operation, but lacks details on permissions, rate limits, error handling, or response format. This is inadequate for a tool with potential complexity in data retrieval.

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, efficient sentence that front-loads the core action and data types without unnecessary words. Every part earns its place, making it easy to parse quickly.

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 annotations, 0% schema coverage, and no output schema, the description is incomplete. It doesn't address behavioral traits, parameter meanings, or return values, leaving significant gaps for the agent to operate effectively with this tool.

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 0%, so the description must compensate for undocumented parameters. It adds no meaning beyond the schema, failing to explain what 'address' and 'chainId' represent (e.g., cryptocurrency address and blockchain identifier) or their impact on the fetch operation.

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 ('Fetch') and the resource ('coin') with specific data types ('metadata, market data & creator info'), making the purpose evident. However, it doesn't explicitly differentiate from siblings like 'zora_get_coins' (plural) or 'zora_get_coin_holders', which might cause ambiguity in tool selection.

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. With many sibling tools (e.g., 'zora_get_coins', 'zora_get_coin_holders'), there's no indication of context, prerequisites, or exclusions, leaving the agent to infer usage from tool names alone.

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

zora_get_coin_commentsGet coin commentsC

Fetch comments associated with a coin (paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
chainIdNo
afterNo
countNo

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 mentions pagination, which is useful, but fails to cover critical aspects like rate limits, authentication requirements, error handling, or the format of returned comments (e.g., structured data vs. raw text). This leaves significant gaps for a tool that likely interacts with external data.

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, efficient sentence that front-loads the core purpose ('Fetch comments associated with a coin') and adds a key behavioral note ('paginated') without any wasted words. Every element earns its place, making it highly concise and well-structured.

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 complexity (a data-fetching tool with 4 parameters, no annotations, and no output schema), the description is insufficient. It lacks details on return values, error conditions, authentication, and parameter usage, leaving the agent under-informed for reliable tool invocation in a real-world 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?

The schema description coverage is 0%, so the description must compensate, but it only implies parameters indirectly (e.g., 'coin' suggests 'address', 'paginated' hints at 'after' and 'count'). It doesn't explain what 'address' or 'chainId' represent, or how 'after' and 'count' work in pagination. This adds minimal value beyond the bare schema, meeting the baseline for partial compensation.

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 ('Fetch') and resource ('comments associated with a coin'), distinguishing it from siblings like zora_get_coin (which gets coin details) or zora_get_coin_holders (which gets holders). However, it doesn't specify the exact scope (e.g., all comments vs. recent ones) beyond pagination, keeping it from a perfect score.

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. For example, it doesn't clarify if this is for retrieving all comments or if other tools like zora_get_coin might include comments, leaving the agent to guess based on context with siblings.

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

zora_get_coin_holdersGet coin holdersC

List holders of a coin with balances and profile data.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
chainIdNo
afterNo
countNo

TDQS

C2.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 the full burden. It implies a read-only operation ('List'), but doesn't disclose behavioral traits like pagination (suggested by 'after' and 'count' parameters), rate limits, authentication needs, or error handling. This is a significant gap for a tool with multiple parameters and no output schema.

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, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('List holders of a coin with balances and profile data') contributes directly to understanding the tool's function.

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 complexity (4 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain the return format, pagination behavior, or error cases, leaving the agent with insufficient information for reliable 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 0%, so the description must compensate for undocumented parameters. It mentions 'coin' but doesn't explain the 'address' parameter or others like 'chainId', 'after', and 'count'. The description adds minimal meaning beyond the schema, failing to clarify parameter roles or usage.

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 ('List holders') and resource ('of a coin') with specific output details ('balances and profile data'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'zora_get_profile_balances' or 'zora_get_profile_coins', which might also involve holder or balance data, so it falls short of a perfect score.

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. It doesn't mention prerequisites, such as needing a valid coin address, or compare it to siblings like 'zora_get_coin' or 'zora_get_profile_balances', leaving the agent without context for selection.

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

zora_get_coinsGet multiple coinsC

Batch fetch coins by address and chainId.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinsYes

TDQS

C2.6/5.0
Behavior1/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 the basic action ('Batch fetch') without disclosing behavioral traits like rate limits, authentication needs, pagination, error handling, or what 'coins' represent (e.g., tokens, NFTs). This leaves critical operational details unspecified for a tool with potential complexity.

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, efficient sentence with zero waste. It front-loads the key action ('Batch fetch') and resource, making it easy to scan. Every word contributes directly to the tool's purpose without redundancy or fluff.

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 annotations, no output schema, and low schema coverage, the description is incomplete. It lacks behavioral context (e.g., safety, performance), detailed parameter meanings, and output expectations. For a batch operation with nested parameters, this minimal description fails to provide adequate guidance for an agent to use it effectively.

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 0%, so the description must compensate. It mentions parameters 'address and chainId', which partially maps to the nested 'collectionAddress' and 'chainId' in the 'coins' array. However, it doesn't explain the array structure ('coins' as a batch), the meaning of 'collectionAddress', default values, or required fields, leaving significant gaps beyond the schema.

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 ('Batch fetch') and resource ('coins'), specifying it's by 'address and chainId'. It distinguishes from siblings like 'zora_get_coin' (singular) and 'zora_get_profile_coins' (profile-specific), but doesn't explicitly contrast with all exploration tools. The purpose is specific but could be more differentiated.

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 is provided. It doesn't mention when batch fetching is preferable to single coin retrieval ('zora_get_coin') or profile-based fetching ('zora_get_profile_coins'), nor does it specify prerequisites or exclusions. The description implies usage context but offers no explicit alternatives or constraints.

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

zora_get_coin_swapsGet coin swapsC

Fetch recent buy/sell swap activity for a coin.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
chainIdNo
afterNo
firstNo

TDQS

C2.8/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 states 'Fetch recent buy/sell swap activity', implying a read-only operation, but doesn't cover critical aspects like rate limits, authentication needs, data freshness, or error handling, which are essential for safe and effective use.

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, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy to parse quickly.

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 complexity of a 4-parameter tool with no annotations, 0% schema coverage, and no output schema, the description is insufficient. It lacks details on parameter usage, behavioral traits, and expected outputs, making it incomplete for effective agent operation.

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 0%, so the schema provides no parameter details. The description mentions 'coin' but doesn't explain how parameters like 'address', 'chainId', 'after', or 'first' relate to fetching swap activity, leaving their meaning and usage unclear.

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 ('Fetch') and resource ('recent buy/sell swap activity for a coin'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'zora_get_coin' or 'zora_trade_coin', which might also involve coin-related operations, so it doesn't reach the highest score.

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. It doesn't mention sibling tools like 'zora_get_coin' for general coin info or 'zora_explore_last_traded' for similar activity, leaving the agent without context for selection.

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

zora_get_profileGet profileC

Fetch profile for a wallet or @handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes

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 states it's a fetch operation (implying read-only), but doesn't cover critical aspects like authentication requirements, rate limits, error handling, or what the profile data includes (e.g., basic info vs. detailed metadata). This is inadequate for a tool with no annotation support.

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, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Fetch profile for a wallet or @handle') directly contributes to understanding, making it appropriately sized and well-structured for quick comprehension.

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 lack of annotations, no output schema, and low schema description coverage (0%), the description is insufficiently complete. It doesn't explain what a 'profile' entails, potential return values, or behavioral constraints, leaving the agent with significant uncertainty about tool behavior and outcomes in this 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?

The description adds minimal semantics by indicating the 'identifier' parameter can be a 'wallet or @handle', which provides context beyond the schema's generic string type (0% coverage). However, it doesn't specify format details (e.g., wallet address structure, handle syntax) or examples, leaving gaps in parameter understanding despite the low 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 the action ('Fetch') and resource ('profile') with specific targets ('wallet or @handle'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this from sibling tools like 'zora_get_profile_balances' or 'zora_get_profile_coins', which also fetch profile-related data but with different scopes.

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. The description doesn't mention prerequisites, context for usage, or differentiate it from sibling tools that also involve profiles (e.g., 'zora_get_profile_balances' for balances or 'zora_get_profile_coins' for coins), leaving the agent to infer usage based on tool names alone.

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

zora_get_profile_balancesGet profile balancesC

List coin balances for a wallet or handle.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
countNo
afterNo

TDQS

C2.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 the full burden of behavioral disclosure. It mentions 'List coin balances' which implies a read-only operation, but doesn't specify if it's paginated (hinted by 'count' and 'after' parameters), rate-limited, requires authentication, or what the output format looks like. For a tool with three parameters and no output schema, this leaves significant gaps in understanding how it behaves beyond basic functionality.

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, efficient sentence that directly states the tool's purpose without any fluff. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, and there's no wasted verbiage or redundancy.

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 three parameters with 0% schema coverage, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain the parameters, behavioral details like pagination or error handling, or what the output contains. For a data retrieval tool with multiple inputs, this leaves too much undefined for reliable agent use.

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 0%, meaning none of the parameters are documented in the schema. The description only vaguely references 'wallet or handle' which might relate to 'identifier', but doesn't explain what 'identifier' is, what 'count' controls (likely pagination limit), or what 'after' does (likely cursor for pagination). It fails to compensate for the lack of schema documentation, leaving parameters largely unexplained.

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 ('List') and resource ('coin balances for a wallet or handle'), making the purpose understandable. It distinguishes itself from siblings like 'zora_get_profile' or 'zora_get_profile_coins' by focusing specifically on balances rather than general profile data or owned coins. However, it doesn't explicitly differentiate from other balance-related tools if any existed, keeping it at a 4 rather than a 5.

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. With siblings like 'zora_get_profile' and 'zora_get_profile_coins', there's no indication of when to prefer this tool for balances over those for broader profile data or coin lists. It lacks any context about prerequisites, constraints, or typical use cases, leaving the agent to infer usage based on the name alone.

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

zora_get_profile_coinsGet profile-created coinsC

List coins created by a profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
countNo
afterNo
chainIdsNo
platformReferrerAddressNo

TDQS

C2.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 states a read operation ('List'), implying it's likely safe and non-destructive, but doesn't disclose any behavioral traits such as pagination (hinted by 'after' parameter), rate limits, authentication needs, or what the output looks like. This leaves significant gaps for an agent to understand how to interact with it effectively.

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, clear sentence with no wasted words. It's front-loaded with the core purpose, making it easy to scan and understand quickly.

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 parameters with 0% schema coverage, no annotations, and no output schema, the description is incomplete. It doesn't address parameter meanings, behavioral aspects, or output format, leaving the agent with insufficient context to use the tool correctly beyond a basic understanding of its purpose.

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 0%, so the description must compensate but doesn't mention any parameters. It doesn't explain what 'identifier' refers to (e.g., profile ID or address), what 'count' limits, the purpose of 'after' (likely pagination cursor), 'chainIds' filtering, or 'platformReferrerAddress'. This leaves all 5 parameters undocumented beyond their schema types.

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 ('List') and resource ('coins created by a profile'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'zora_get_coins' or 'zora_get_coin', which might also list coins but with different scopes or filters.

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. With siblings like 'zora_get_coins' (likely general coin listing) and 'zora_get_coin' (likely single coin details), there's no indication of the specific context or prerequisites for using this profile-focused tool.

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

zora_healthZora Coins server healthB

Returns server and environment diagnostics (API key present, wallet, RPC, chain).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/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 states what diagnostics are returned but doesn't describe response format, error conditions, rate limits, authentication needs, or whether this is a read-only operation. For a health check tool with zero annotation coverage, this leaves significant behavioral gaps.

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, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized for a simple health check tool and front-loads the core purpose immediately.

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 low complexity (0 parameters, no output schema, no annotations), the description provides adequate basic purpose information. However, for a health diagnostic tool, it should ideally describe what the return values mean or what constitutes healthy vs. unhealthy states, especially with no output schema to document this.

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 0 parameters with 100% schema description coverage, so the schema fully documents the parameter situation. The description appropriately doesn't discuss parameters, maintaining focus on the tool's purpose. Baseline for 0 parameters with full schema coverage is 4.

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's purpose with a specific verb ('Returns') and resource ('server and environment diagnostics'), listing specific components checked (API key, wallet, RPC, chain). It distinguishes itself from sibling tools by focusing on system health rather than coin operations, though it doesn't explicitly name alternatives for similar diagnostic functions.

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 context (checking server/environment status) but doesn't explicitly state when to use this tool versus alternatives. No guidance on prerequisites, timing, or exclusions is provided, leaving usage context inferred rather than clearly defined.

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

zora_trade_coinTrade coinB

Swap ETH or ERC20 for a coin (or back). Uses permit2 for ERC20 where supported. Requires PRIVATE_KEY (EOA).

ParametersJSON Schema
NameRequiredDescriptionDefault
sellTypeYes
sellAddressNo
sellDecimalsNo
buyTypeYes
buyAddressNo
amountYes
slippageNo
recipientNo
senderNo

TDQS

B3/5.0
Behavior3/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 adds some context: it mentions 'Uses permit2 for ERC20 where supported' (a technical detail) and 'Requires PRIVATE_KEY (EOA)' (an authentication requirement). However, it lacks critical behavioral traits like whether this is a read-only or destructive operation, potential rate limits, error handling, or what the tool returns, which are significant gaps for a trading 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 and front-loaded, consisting of just two sentences that directly convey key information without any wasted words. Every sentence earns its place by stating the core action and important constraints.

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 complexity of a trading tool with 9 parameters, no annotations, and no output schema, the description is incomplete. It misses essential details like the tool's behavioral impact (e.g., whether it executes trades destructively), expected return values, error conditions, and comprehensive parameter explanations, making it inadequate for safe and effective use by an AI agent.

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?

The schema description coverage is 0%, meaning none of the 9 parameters are documented in the schema. The description adds minimal parameter semantics: it implies parameters for 'ETH or ERC20' (relating to sellType/buyType) and 'swap' (relating to amount), but doesn't explain the purpose or usage of most parameters like sellAddress, sellDecimals, slippage, recipient, or sender. This insufficiently compensates for the lack of schema documentation.

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 ('Swap ETH or ERC20 for a coin or back') and identifies the resource (coins), making the purpose specific. However, it doesn't explicitly differentiate from sibling tools like 'zora_get_coin_swaps' or 'zora_explore_last_traded', which might involve similar trading concepts, so it doesn't reach the highest score.

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. It mentions a prerequisite ('Requires PRIVATE_KEY (EOA)'), but doesn't explain when to choose this over other trading-related tools or what scenarios it's best suited for, leaving the agent without clear usage context.

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

zora_update_coin_uriUpdate coin metadata URIB

Update the token metadata URI for an existing coin. Requires owner wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
newURIYes

TDQS

B3.2/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 mentions a requirement ('Requires owner wallet'), which adds some behavioral context about authentication. However, it doesn't disclose other critical traits such as whether the update is reversible, potential side effects, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

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 sentences that directly state the purpose and a key requirement. It is front-loaded with the main action and wastes no words, making it easy to parse quickly. Every sentence earns its place by providing essential 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?

Given the complexity of a mutation tool with no annotations, 0% schema coverage, and no output schema, the description is incomplete. It lacks details on parameters, behavioral outcomes, error handling, and return values. While it covers the basic purpose and a prerequisite, it doesn't provide enough context for safe and effective use, especially compared to siblings like 'zora_update_payout_recipient' which might have different requirements.

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 0%, so the description must compensate. It implies that 'coin' refers to an existing coin and 'newURI' is the updated metadata URI, but it doesn't explain the format, constraints, or examples for these parameters. The description adds minimal meaning beyond the schema's basic types, resulting in a baseline score due to the coverage gap not being fully addressed.

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 ('Update'), the resource ('token metadata URI'), and the target ('for an existing coin'). It distinguishes from siblings like 'zora_create_coin' (creation vs. update) and 'zora_get_coin' (read vs. write), though it doesn't explicitly mention these distinctions. The purpose is specific but could be more precise about what 'coin' refers to in this context.

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 provides some guidance by stating 'Requires owner wallet,' which implies a prerequisite for usage. However, it doesn't specify when to use this tool versus alternatives like 'zora_update_payout_recipient' or other update-related tools, nor does it mention any exclusions or edge cases. The guidance is implied but lacks explicit context for decision-making.

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

zora_update_payout_recipientUpdate payout recipientB

Change the payout recipient address (creator earnings). Requires owner wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
coinYes
newPayoutRecipientYes

TDQS

B3/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 mentions a requirement ('Requires owner wallet') which adds useful context about permissions, but it doesn't cover other critical aspects like whether this is a destructive/mutative operation (implied by 'Change'), rate limits, error conditions, or what happens to existing payouts. For a mutation tool with zero annotation coverage, this leaves significant gaps.

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 sentences that are front-loaded: the first states the purpose, and the second adds a key constraint. Every word earns its place with no redundancy or fluff, making it efficient and easy to parse.

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's complexity (a mutation operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It covers the basic purpose and a permission requirement but misses details on parameter usage, behavioral traits (e.g., idempotency, side effects), and expected outcomes. For a tool that modifies financial payouts, this is inadequate.

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 0%, so the description must compensate for undocumented parameters. It mentions 'payout recipient address' which relates to 'newPayoutRecipient', but doesn't explain 'coin' at all (e.g., what coin identifier to use). The description adds minimal meaning beyond the schema, failing to fully address the coverage gap for both parameters.

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 ('Change') and resource ('payout recipient address'), specifying it's for 'creator earnings'. It distinguishes from siblings like 'zora_update_coin_uri' by focusing on payout addresses rather than coin metadata. However, it doesn't explicitly differentiate from all siblings (e.g., 'zora_trade_coin' is also a write operation).

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 provides some context with 'Requires owner wallet', implying usage is restricted to owners. However, it doesn't specify when to use this versus alternatives (e.g., no guidance on whether this is for initial setup or updates, or if there are other tools for managing payouts). The context is implied but lacks explicit alternatives or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 19 tool updates
    • First observedzora_create_coin
    • First observedzora_explore_last_traded
    • First observedzora_explore_last_traded_unique
    • First observedzora_explore_most_valuable
    • First observedzora_explore_new
    • First observedzora_explore_top_gainers
    • First observedzora_explore_top_volume_24h
    • First observedzora_get_coin
    • First observedzora_get_coin_comments
    • First observedzora_get_coin_holders
    • First observedzora_get_coin_swaps
    • First observedzora_get_coins
    • First observedzora_get_profile
    • First observedzora_get_profile_balances
    • First observedzora_get_profile_coins
    • First observedzora_health
    • First observedzora_trade_coin
    • First observedzora_update_coin_uri
    • First observedzora_update_payout_recipient

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between exploration tools (e.g., zora_explore_last_traded and zora_explore_last_traded_unique) that could cause minor confusion. The core functions like create, get, trade, and update are clearly differentiated.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with a clear prefix (zora_) and verb_noun structure (e.g., zora_create_coin, zora_get_coin, zora_update_coin_uri). This predictability aids in agent selection and understanding.

Tool Count4/5

With 19 tools, the count is slightly high but reasonable for a comprehensive Zora coin management server. It covers exploration, metadata, trading, and updates, though it might feel heavy for simpler use cases.

Completeness5/5

The toolset provides complete coverage for the Zora coin domain, including creation, exploration, metadata retrieval, trading, updates, and profile management. There are no obvious gaps, supporting full lifecycle operations from deployment to interaction.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

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

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/r4topunk/zora-coins-mcp-server'

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