Skip to main content
Glama

pinata-mcp

A Model Context Protocol (MCP) server that provides Claude with access to Pinata. This integration allows Claude to interact with Public and Private IPFS through Pinata's API.

Setup

Prerequisites

  • Node.js 18+ installed

  • A Pinata account with an API key (JWT)

  • A Pinata Gateway URL

Installation

Installation will depend on whether you are using Claude Code or Claude Desktop.

Claude Code

Run claude mcp add and follow the prompts with the following information:

Server Name: pinata
Server Scope: Project or Global
Server Command: npx
Command Arguments: pinata-mcp /path/to/allowed/directory
Environment Variables: PINATA_JWT=<YOUR_JWT>,GATEWAY_URL=example.mypinata.cloud

Claude Desktop

Add the following config to claude_desktop_config.json:

{
  "mcpServers": {
    "pinata": {
      "command": "npx",
      "args": [
        "pinata-mcp",
        "/path/to/allowed/directory",
        "/another/allowed/directory"
      ],
      "env": {
        "PINATA_JWT": "<YOUR_JWT>",
        "GATEWAY_URL": "example.mypinata.cloud"
      }
    }
  }
}

Note: The directory arguments are optional. If not provided, the server will only allow access to the current working directory. You can specify multiple directories to allow file access from multiple locations.

Related MCP server: SharePoint MCP Server

Available Tools

Authentication

Tool

Description

testAuthentication

Verify that your Pinata JWT is valid and working

File Operations

Tool

Description

uploadFile

Upload a file to Pinata (public or private IPFS)

searchFiles

Search files by name, CID, or MIME type

getFileById

Get detailed file information by ID

updateFile

Update file metadata (name, key-values)

deleteFile

Delete a file from Pinata

Content Access

Tool

Description

createLink

Create a gateway link for public or private files

createPrivateDownloadLink

Generate a temporary download link for private files

fetchFromGateway

Fetch content from IPFS via Pinata gateway

Group Operations

Tool

Description

listGroups

List groups with optional filtering

createGroup

Create a new group for organizing files

getGroup

Get group details by ID

updateGroup

Update group information

deleteGroup

Delete a group

addFileToGroup

Add a file to a group

removeFileFromGroup

Remove a file from a group

x402 Payment Instructions

Tools for content monetization using the x402 protocol:

Tool

Description

createPaymentInstruction

Create payment requirements for gated content

listPaymentInstructions

List/filter existing payment instructions

getPaymentInstruction

Get details of a specific payment instruction

updatePaymentInstruction

Modify payment instruction settings

deletePaymentInstruction

Remove a payment instruction

listPaymentInstructionCids

List CIDs associated with a payment instruction

addCidToPaymentInstruction

Associate a CID with a payment instruction

removeCidFromPaymentInstruction

Remove a CID association

CID Signatures

Tools for cryptographic content verification using EIP-712 signatures:

Tool

Description

addSignature

Add a cryptographic signature to a CID

getSignature

Get signature details by CID

deleteSignature

Remove a signature

Signed Upload URLs

Tool

Description

createSignedUploadUrl

Create a presigned URL for client-side uploads

Pin by CID

Tool

Description

pinByCid

Pin an existing CID from the IPFS network

queryPinRequests

Query the status of pin requests

cancelPinRequest

Cancel a pending pin request

Tool

Description

vectorizeFile

Vectorize a file for semantic search

deleteFileVectors

Delete vectors for a file

queryVectors

Query vectorized files using semantic search

Utilities

Tool

Description

listAllowedDirectories

List directories the server can access for file operations

Local Development

To test the MCP server locally during development:

1. Clone and install dependencies

git clone https://github.com/PinataCloud/pinata-mcp.git
cd pinata-mcp
npm install

2. Build the project

npm run build

3. Set up environment variables

Create a .env file in the project root (optional, you can also pass these in the MCP config):

PINATA_JWT=your_pinata_jwt_here
GATEWAY_URL=your-gateway.mypinata.cloud

4. Configure Claude to use the local build

Claude Code

Run claude mcp add with the local path:

Server Name: pinata-dev
Server Scope: Project
Server Command: node
Command Arguments: /path/to/pinata-mcp/dist/index.js /path/to/allowed/directory
Environment Variables: PINATA_JWT=<YOUR_JWT>,GATEWAY_URL=example.mypinata.cloud

Claude Desktop

Update claude_desktop_config.json to point to your local build:

{
  "mcpServers": {
    "pinata-dev": {
      "command": "node",
      "args": [
        "/path/to/pinata-mcp/dist/index.js",
        "/path/to/allowed/directory"
      ],
      "env": {
        "PINATA_JWT": "<YOUR_JWT>",
        "GATEWAY_URL": "example.mypinata.cloud"
      }
    }
  }
}

5. Testing changes

After making code changes:

  1. Rebuild: npm run build

  2. Restart Claude Code or Claude Desktop to pick up the changes

Testing with MCP Inspector

Use the MCP Inspector to test the server:

Web UI (interactive debugging)

npx @modelcontextprotocol/inspector \
  -e PINATA_JWT=your_jwt \
  -e GATEWAY_URL=your-gateway.mypinata.cloud \
  -- node dist/index.js

This opens a browser UI where you can interactively list tools, call them with parameters, and inspect responses.

CLI mode (for scripting/CI)

# List all available tools
npx @modelcontextprotocol/inspector --cli --method tools/list \
  -e PINATA_JWT=your_jwt \
  -e GATEWAY_URL=your-gateway.mypinata.cloud \
  -- node dist/index.js

# Call a specific tool
npx @modelcontextprotocol/inspector --cli --method tools/call \
  --tool-name testAuthentication \
  -e PINATA_JWT=your_jwt \
  -e GATEWAY_URL=your-gateway.mypinata.cloud \
  -- node dist/index.js

Example Prompts for Claude

Test my Pinata connection:
"Test my Pinata authentication to make sure everything is working"

Upload an image to Pinata:
"Upload this image to my Pinata account as a private file named 'My Example Image'"

Search for files:
"Search my Pinata account for all PNG files"

Create a group and add files:
"Create a new group called 'Project Assets' on Pinata, then find all my JSON files and add them to this group"

Fetch content from IPFS:
"Fetch the content with CID QmX... from IPFS"

Create a payment instruction for content monetization:
"Create a payment instruction called 'Premium Content' that requires 0.01 USDC on Base to access"

Pin an existing CID:
"Pin the CID bafkreih5aznjvttude6c3wbvqeebb6rlx5wkbzyppv7garjiubll2ceym4 to my account"

Vectorize files for AI search:
"Vectorize the file with ID abc123 so I can search it semantically"

Query vectorized content:
"Search my vectorized files in group xyz for 'machine learning concepts'"

Available Tools

35 tools
addCidToPaymentInstructionC

Associate a CID with a payment instruction for x402 monetization

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe payment instruction ID
cidYesThe CID to associate

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 implies a mutation ('Associate') but doesn't specify permissions required, whether the association is reversible, error conditions, or side effects. This is inadequate for a tool that modifies data without structured safety hints.

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 is front-loaded with the core action and purpose, making it easy to parse quickly 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 tool's complexity as a mutation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, error handling, or return values, which are critical for safe and effective use in an automated 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 description coverage is 100%, so the schema already documents both parameters ('id' and 'cid') fully. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints, resulting in a baseline score of 3.

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 ('Associate') and the resources involved ('a CID with a payment instruction'), specifying the purpose for 'x402 monetization'. It distinguishes from sibling tools like 'removeCidFromPaymentInstruction' by indicating an addition rather than removal, though it doesn't explicitly compare to other CID-related tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing payment instruction), exclusions, or comparisons to sibling tools like 'listPaymentInstructionCids' or 'createPaymentInstruction', leaving usage context unclear.

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

addFileToGroupC

Add an existing file to a group in your Pinata account

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the group and file are in public or private IPFSpublic
groupIdYesThe ID of the group to add the file to
fileIdYesThe ID of the file to add to the group

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 but only states the basic operation without disclosing behavioral traits. It doesn't mention permissions needed, whether this is idempotent, rate limits, error conditions, or what happens if the file is already in the group. This leaves significant gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized and front-loaded with the core action, 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?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, error handling, or important behavioral context like idempotency or side effects. Given the complexity of modifying group-file relationships, more guidance is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters (network, groupId, fileId). The description adds no additional meaning beyond implying 'existing file' and 'group', which is already covered by parameter descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

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 ('Add') and resources ('existing file', 'group in your Pinata account'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'removeFileFromGroup' or 'createGroup', which would require mentioning this is for existing files/groups rather than creation or removal operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'removeFileFromGroup' or 'createGroup'. It mentions 'existing file' and 'group' but doesn't clarify prerequisites (e.g., both must already exist) or exclusions (e.g., not for creating new groups).

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

addSignatureC

Add an EIP-712 cryptographic signature to a CID for content verification

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is on public or private IPFSpublic
cidYesThe CID to sign
signatureYesThe EIP-712 signature
addressYesThe wallet address that created the signature

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'content verification' but doesn't disclose behavioral traits like whether this is a read-only or mutating operation, what happens on success/failure, if it requires authentication, or any rate limits. The description is too minimal for a tool that likely involves cryptographic operations.

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 is front-loaded with the core purpose and avoids unnecessary details, making it highly concise and well-structured for quick understanding.

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 cryptographic signing and no annotations or output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, or security implications. For a tool with 4 parameters and no structured behavioral hints, more context is needed to guide proper usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond implying the signature is for verification, which is already suggested by 'EIP-712 cryptographic signature'. Baseline score of 3 is appropriate as the schema handles parameter 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 ('Add an EIP-712 cryptographic signature') and the resource ('to a CID'), making the purpose specific and understandable. It distinguishes from siblings like 'deleteSignature' by focusing on addition rather than removal, though it doesn't explicitly contrast with all sibling tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'getSignature' or 'deleteSignature', nor does it mention prerequisites such as needing a valid signature or address. It lacks context about typical use cases or constraints.

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

cancelPinRequestC

Cancel a pending pin by CID request

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the pin request to cancel

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 states the action is 'Cancel' (implying mutation/reversal), but doesn't address permissions needed, whether cancellation is reversible, error conditions, or what happens upon success. This leaves significant behavioral gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and target, making it immediately scannable and appropriately sized for the tool's apparent complexity.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'cancel' entails operationally, what the expected outcome is, or any side effects. Given the context of managing pin requests, more completeness is needed to guide effective use.

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

Parameters3/5

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

Schema description coverage is 100% (the 'id' parameter is fully described in the schema), so the baseline is 3. The description doesn't add any parameter-specific details beyond what the schema already provides about the 'id' being for the pin request to cancel.

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 ('Cancel') and target resource ('a pending pin by CID request'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like 'deleteFile' or 'deletePaymentInstruction', but the specificity of 'pending pin by CID request' provides inherent distinction.

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 (e.g., that the pin request must be in a pending state), nor does it reference related tools like 'pinByCid' or 'queryPinRequests' for context.

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

createGroupC

Create a new group in your Pinata account to organize files

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether to create the group in public or private IPFSpublic
nameYesName for the new group

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. While 'Create' implies a write operation, it doesn't specify authentication requirements, rate limits, whether groups are permanent or deletable, what happens on success/failure, or any side effects. This leaves significant behavioral gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information, 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?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what a 'group' represents in Pinata's system, what capabilities groups provide, what happens after creation, or any constraints on group names. The context signals indicate this is a 2-parameter tool with significant behavioral implications that aren't addressed.

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?

With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline expectation but doesn't provide extra value regarding parameter meaning 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 ('Create a new group') and resource ('in your Pinata account to organize files'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'listGroups' or 'updateGroup' beyond the basic verb distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'updateGroup' or 'deleteGroup', nor does it mention prerequisites or context for group creation. It simply states what the tool does without indicating appropriate usage scenarios.

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

createPaymentInstructionA

Create a new x402 payment instruction for content monetization. Currently supports USDC (6 decimals) on Base/Base Sepolia only.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the payment instruction
pay_toYesWallet address (0x...) to receive USDC payments
amount_usdcYesPrice in USD as a string (e.g., '0.01' for 1 cent, '1.50' for $1.50). Will be converted to USDC's 6 decimal format.
networkNoBlockchain network (Base mainnet or Base Sepolia testnet)base
descriptionNoDescription of the payment instruction

TDQS

A3.7/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. While it mentions the creation action and technical constraints, it doesn't address important behavioral aspects like authentication requirements, rate limits, error conditions, what happens on duplicate creation, or whether the operation is idempotent. For a creation 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 perfectly concise with just two sentences that each earn their place. The first sentence states the core purpose, and the second provides critical technical constraints. There's zero wasted text, and the information is front-loaded appropriately.

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

Completeness3/5

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

For a creation tool with no annotations and no output schema, the description provides adequate basic context about purpose and technical constraints. However, it lacks important completeness elements like what the tool returns (payment instruction ID? confirmation?), error scenarios, or prerequisites. The 100% schema coverage helps, but behavioral aspects remain underspecified.

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 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions USDC and networks generally, but doesn't provide additional semantic context about the parameters themselves. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Create a new x402 payment instruction') and resource ('for content monetization'), distinguishing it from sibling tools like 'updatePaymentInstruction' or 'deletePaymentInstruction'. It provides concrete technical scope ('USDC on Base/Base Sepolia only') that differentiates it from other payment-related tools.

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

Usage Guidelines4/5

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

The description provides clear context about when to use this tool ('for content monetization') and technical constraints ('Currently supports USDC on Base/Base Sepolia only'), which helps differentiate from alternatives. However, it doesn't explicitly state when NOT to use it or name specific alternative tools for different scenarios.

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

createSignedUploadUrlC

Create a signed URL for client-side file uploads without exposing your API key

ParametersJSON Schema
NameRequiredDescriptionDefault
expiresYesHow long the URL is valid in seconds after signing
max_file_sizeNoRestrict the max size of a file upload in bytes
allow_mime_typesNoArray of allowed MIME types (supports wildcards like 'image/*')
group_idNoID of the group that the file will be uploaded to
filenameNoName of the file that will be uploaded
keyvaluesNoMetadata key-value pairs for the file

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 mentions the security benefit ('without exposing your API key') but lacks critical details: whether this is a read-only or mutating operation, authentication requirements, rate limits, error conditions, or what the signed URL enables (e.g., direct upload to storage). For a tool that likely involves sensitive operations, this is inadequate.

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 states the core purpose and key benefit. It's front-loaded with essential information and contains no redundant or verbose language. Every word earns its place.

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 (6 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain what the tool returns (e.g., a URL string, an object with metadata), how to use the signed URL, or potential side effects. For a security-sensitive tool that generates upload URLs, more context is needed for safe and effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter semantics beyond implying the URL is for 'client-side file uploads', which is already suggested by the tool name. This meets the baseline for high schema coverage but doesn't enhance understanding of individual 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 tool's purpose: 'Create a signed URL for client-side file uploads without exposing your API key'. It specifies the verb ('Create'), resource ('signed URL'), and key benefit ('without exposing your API key'). However, it doesn't explicitly differentiate from sibling tools like 'uploadFile' or 'createPrivateDownloadLink', which prevents 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 sibling tools like 'uploadFile' (server-side upload) or 'createPrivateDownloadLink' (download URLs), nor does it specify prerequisites or appropriate contexts. The agent must infer usage from the purpose alone.

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

deleteFileC

Delete a file from your Pinata account by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is in public or private IPFSpublic
idYesThe unique ID of the file to delete

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 the tool deletes a file, implying a destructive mutation, but doesn't mention critical aspects like whether deletion is permanent, requires specific permissions, has rate limits, or what happens on success/failure. This leaves significant gaps for safe agent operation.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('Delete a file') without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, 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?

For a destructive tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., permanence, error handling), usage context relative to siblings, and output expectations, making it incomplete for safe and effective agent use.

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 mentions the 'id' parameter ('by its ID'), adding some context beyond the schema's description. However, it doesn't address the 'network' parameter or provide additional details like format examples or constraints. With 100% schema description coverage, the baseline is 3, and the description adds minimal value.

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 ('Delete') and resource ('a file from your Pinata account by its ID'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'deleteFileVectors' or 'deleteGroup', which would require a more specific scope statement to earn 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 like 'deleteFileVectors' or 'deleteGroup', nor does it mention prerequisites (e.g., needing the file ID from a previous operation). It simply states what the tool does without context for selection among siblings.

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

deleteFileVectorsC

Delete vectors for a file

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesID of the file to delete vectors for

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 the tool deletes vectors, implying a destructive operation, but doesn't specify if this is reversible, requires specific permissions, affects file data, or has side effects like rate limits. This leaves significant gaps in understanding the tool's 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 a single sentence, 'Delete vectors for a file', which is front-loaded and wastes no words. It efficiently conveys the core action without unnecessary elaboration, making it 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?

For a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'vectors' are, the impact of deletion, error conditions, or return values. Given the complexity implied by sibling tools like 'vectorizeFile' and 'queryVectors', more context is needed to ensure safe and correct usage.

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

Parameters3/5

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

The input schema has 100% description coverage, with the single parameter 'file_id' clearly documented. The description adds no additional meaning beyond the schema, such as explaining what 'vectors' are or how the deletion process works. Given the high schema coverage, a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description 'Delete vectors for a file' clearly states the action (delete) and target (vectors for a file), making the purpose understandable. However, it lacks differentiation from sibling tools like 'deleteFile' or 'vectorizeFile', which would require specifying what 'vectors' refer to in this context (e.g., embeddings, metadata).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For instance, it doesn't clarify if this should be used after 'vectorizeFile' or instead of 'deleteFile', nor does it mention prerequisites like needing an existing file with vectors. The description offers only basic usage without context.

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

deleteGroupC

Delete a group from your Pinata account by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the group is in public or private IPFSpublic
idYesThe unique ID of the group to delete

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states this is a deletion operation, implying it's destructive, but doesn't disclose critical behavioral traits: whether deletion is permanent, if it requires specific permissions, what happens to associated files or data, or any rate limits. The description is minimal and lacks necessary context for a destructive operation.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('Delete a group'), making it easy to parse. Every part of the sentence contributes essential information, achieving optimal 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?

Given this is a destructive tool with no annotations and no output schema, the description is inadequate. It doesn't explain what 'delete' entails (e.g., irreversible removal), potential side effects, error conditions, or return values. For a mutation operation in a system with many sibling tools, more context is needed to ensure safe and correct usage.

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 both parameters ('network' and 'id') well-documented in the schema. The description mentions 'by its ID', which aligns with the 'id' parameter but adds no extra meaning beyond what the schema provides. No additional context on parameter usage or interactions is given, meeting the baseline for high 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 ('Delete') and resource ('a group from your Pinata account'), making the purpose unambiguous. It specifies deletion is done 'by its ID', which adds specificity. However, it doesn't distinguish this from sibling tools like 'deleteFile' or 'deletePaymentInstruction' beyond mentioning 'group'.

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 (e.g., needing the group ID from 'listGroups' or 'getGroup'), consequences of deletion, or when not to use it (e.g., if the group contains files). There's no comparison to sibling tools like 'removeFileFromGroup' or context for deletion decisions.

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

deletePaymentInstructionB

Delete an x402 payment instruction

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the payment instruction to delete

TDQS

B3.1/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 action ('Delete') but does not elaborate on critical aspects like whether this is irreversible, requires specific permissions, has side effects (e.g., affecting linked files or groups), or what happens on success/failure. For a destructive operation with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words, making it easy to parse and front-loaded with the core action. Every word earns its place, adhering to best practices for brevity.

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 destructive nature, lack of annotations, and no output schema, the description is incomplete. It fails to address behavioral risks, return values, or error conditions, which are crucial for safe agent operation. The high schema coverage does not compensate for these omissions in a deletion context.

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 input schema has 100% description coverage, with the 'id' parameter clearly documented as 'The unique identifier of the payment instruction to delete'. The description does not add extra meaning beyond this, but with high schema coverage and only one parameter, a baseline of 4 is appropriate as the schema adequately handles the semantics.

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 verb ('Delete') and resource ('an x402 payment instruction'), making the purpose unambiguous. However, it does not differentiate this tool from sibling tools like 'deleteFile' or 'deleteGroup', which have similar deletion patterns but target different resources.

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, such as 'cancelPinRequest' or 'updatePaymentInstruction', nor does it mention prerequisites like needing the payment instruction ID or conditions for deletion. It lacks explicit when/when-not instructions or sibling comparisons.

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

deleteSignatureC

Remove a signature from a CID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is on public or private IPFSpublic
cidYesThe CID to remove the signature from

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 states the action is 'Remove,' implying a destructive mutation, but doesn't specify permissions required, whether the operation is reversible, error conditions, or what happens to the CID after signature removal. This leaves significant behavioral gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. Every word contributes to stating the tool's purpose efficiently.

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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects like side effects, return values, or error handling, which are crucial for safe and effective use. The high schema coverage doesn't compensate for these gaps in 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 description coverage is 100%, so the schema fully documents both parameters. The description doesn't add any meaning beyond what's in the schema (e.g., it doesn't explain what a 'signature' is in this context or how removal affects the CID). Baseline 3 is appropriate when the schema handles parameter 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 ('Remove') and target ('signature from a CID'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'deleteFile' or 'deleteFileVectors', which also perform deletion operations on related resources, so it doesn't achieve full sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'deleteFile' or 'getSignature', nor does it mention prerequisites or exclusions. It's a basic statement of function without contextual usage information.

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

fetchFromGatewayC

Fetch content from Public or Private IPFS via Pinata gateway and return it

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesThe CID of the file to fetch
networkNoWhether the file is on public or private IPFSpublic

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 the tool fetches and returns content, implying a read-only operation, but lacks details on authentication requirements (especially for private IPFS), rate limits, error handling, or what 'return it' entails (e.g., format, size limits). For a tool with potential network and access complexities, 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 front-loads the core action ('fetch content') and key details (source, gateway). There is no wasted verbiage or redundancy, making it highly concise 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 complexity of IPFS operations and lack of annotations or output schema, the description is incomplete. It doesn't address authentication needs for private networks, error cases (e.g., invalid CID), return formats, or performance considerations. For a tool that interacts with external gateways and handles both public and private data, more contextual information is needed to ensure reliable use.

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 clear documentation for both parameters (cid and network). The description adds minimal value beyond the schema, mentioning 'Public or Private IPFS' which aligns with the network enum but doesn't elaborate on implications. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.

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 content') and target ('from Public or Private IPFS via Pinata gateway'), with the specific resource being content identified by CID. It distinguishes from siblings like 'getFileById' or 'uploadFile' by focusing on gateway retrieval rather than direct file operations. However, it doesn't explicitly differentiate from similar tools like 'createPrivateDownloadLink' which might also involve content access.

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 (e.g., authentication needs for private IPFS), compare with siblings like 'getFileById' or 'createPrivateDownloadLink', or specify scenarios where gateway fetching is preferred over direct methods. Usage is implied by the action but without explicit context.

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

getFileByIdC

Retrieve detailed information about a specific file stored on Pinata by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is in public or private IPFSpublic
idYesThe unique ID of the file to retrieve

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 states this is a retrieval operation but doesn't mention authentication requirements, rate limits, error behavior, or what 'detailed information' includes. For a read operation in a system with authentication tools like 'testAuthentication', this is insufficient.

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

Conciseness5/5

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

The description is a single, efficient sentence that immediately conveys the core purpose without any wasted words. It's appropriately sized for a simple retrieval tool and front-loads the 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?

For a tool with no annotations and no output schema, the description is inadequate. It doesn't explain what 'detailed information' includes, authentication requirements, or error handling. Given the sibling tools include authentication and various file operations, more context is needed for proper agent usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter context beyond what's in the schema descriptions. The baseline of 3 is appropriate when the schema does all the work.

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 ('Retrieve detailed information') and resource ('specific file stored on Pinata by its ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like 'searchFiles' or 'fetchFromGateway', but the specificity of 'by its ID' provides some implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'searchFiles' or 'fetchFromGateway'. It doesn't mention prerequisites, error conditions, or typical use cases, leaving the agent to infer usage from the tool name and parameters alone.

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

getGroupC

Retrieve detailed information about a specific group by its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the group is in public or private IPFSpublic
idYesThe unique ID of the group to retrieve

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 this is a retrieval operation, implying read-only behavior, but doesn't mention authentication needs, rate limits, error conditions, or what 'detailed information' includes (e.g., metadata, members). This leaves significant gaps 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 that front-loads the core purpose ('Retrieve detailed information') without unnecessary words. Every part of the sentence 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 no annotations and no output schema, the description is incomplete for a tool that retrieves 'detailed information.' It doesn't specify what information is returned (e.g., group attributes, status), how errors are handled, or dependencies, leaving the agent with insufficient context for reliable use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters ('network' with enum/default and 'id' as required). The description adds no additional parameter semantics beyond implying 'id' is needed for retrieval, which is already clear from the schema. This meets the baseline for high 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 ('Retrieve detailed information') and resource ('about a specific group by its ID'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'listGroups' or 'getFileById', which would require mentioning this is for individual group details rather than listing or file retrieval.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'listGroups' for browsing groups or 'getFileById' for file details. It lacks context about prerequisites (e.g., needing a group ID) or exclusions, leaving usage unclear relative to siblings.

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

getPaymentInstructionC

Retrieve a specific x402 payment instruction by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the payment instruction

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 this is a retrieval operation, implying read-only behavior, but doesn't address authentication needs, rate limits, error responses, or whether it returns full or partial data. For a 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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the key 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?

For a retrieval tool with no annotations and no output schema, the description is insufficient. It doesn't explain what data is returned, error handling, authentication requirements, or how it differs from sibling tools. Given the context of payment instructions (likely financial data), more completeness is warranted.

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 100%, with the 'id' parameter fully documented in the schema. The description adds no additional semantic context beyond implying the ID is for a payment instruction, which the schema already covers. This meets the baseline for high 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 ('Retrieve') and resource ('a specific x402 payment instruction by ID'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'getPaymentInstructionCids' or 'listPaymentInstructions', which would require explicit comparison to earn 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 like 'listPaymentInstructions' or 'getPaymentInstructionCids'. It mentions retrieving by ID but doesn't specify prerequisites, error conditions, or contextual triggers for selection.

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

getSignatureC

Get signature details for a specific CID

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is on public or private IPFSpublic
cidYesThe CID to get the signature for

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 a read operation ('Get'), but doesn't mention any behavioral traits such as authentication requirements, rate limits, error conditions, or what 'signature details' entail (e.g., format, included fields). This leaves significant gaps 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, direct sentence with zero waste, front-loading the core purpose efficiently. It's appropriately sized for a simple retrieval tool, 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 and no output schema, the description is incomplete. It doesn't explain what 'signature details' include (e.g., metadata, status, format), which is crucial for understanding the tool's output. For a retrieval tool with potential behavioral nuances, this lack of context is a significant gap.

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 meaning beyond the input schema, which has 100% coverage. It mentions 'a specific CID' but doesn't elaborate on CID format or the 'network' parameter's implications. Since the schema already documents parameters well, the baseline score of 3 is appropriate, but no extra value is provided.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('signature details for a specific CID'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'getFileById' or 'getPaymentInstruction', which also retrieve details for specific identifiers, so it misses full sibling distinction.

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 signature metadata versus other CID-related operations like 'addSignature' or 'deleteSignature', leaving usage context implied but not explicit.

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

listAllowedDirectoriesB

List all directories that this MCP server is allowed to access for file operations

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 the tool lists directories but doesn't describe return format, pagination, error conditions, or whether it's a read-only operation. This leaves significant gaps for a tool that likely involves system-level access.

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 that efficiently conveys the core purpose without wasted words. It's appropriately sized for a zero-parameter tool and front-loads the 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., list format, directory paths), access permissions implications, or error handling for a tool dealing with server access permissions.

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 no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary information.

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 verb ('List') and resource ('directories'), specifying that these are directories the MCP server can access for file operations. It distinguishes from siblings by focusing on directory permissions rather than file operations, though it doesn't explicitly contrast with specific sibling tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, timing, or comparison to other tools like 'listGroups' or 'searchFiles', leaving the agent to infer usage context.

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

listGroupsC

List groups in your Pinata account with optional filtering by name

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether to list groups in public or private IPFSpublic
nameNoFilter groups by name
limitNoMaximum number of results to return
pageTokenNoToken for pagination

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 filtering but doesn't describe pagination behavior (implied by 'pageToken' parameter), rate limits, authentication requirements, or what the output looks like. For a list operation with 4 parameters, this leaves significant gaps in understanding how the tool behaves.

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 states the core purpose upfront with no wasted words. It's appropriately sized for a list operation and gets straight to the point 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?

For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the return format, pagination behavior, error conditions, or how the 'network' parameter affects results. The agent would need to guess about important behavioral aspects of this list operation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 4 parameters. The description adds minimal value by mentioning 'optional filtering by name' which corresponds to one parameter, but doesn't provide additional context beyond what's in the schema. This meets the baseline for high 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 verb ('List') and resource ('groups in your Pinata account'), making the purpose unambiguous. It distinguishes from siblings like 'getGroup' (singular) by indicating it returns multiple groups. However, it doesn't explicitly differentiate from other list tools like 'listPaymentInstructions' beyond the resource type.

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 mentions 'optional filtering by name' but provides no guidance on when to use this tool versus alternatives like 'searchFiles' or 'getGroup'. There's no indication of prerequisites, typical use cases, or when not to use it. The agent must infer usage from the tool name alone.

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

listPaymentInstructionCidsC

List CIDs associated with a payment instruction

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe payment instruction ID
limitNoLimit the number of results returned
pageTokenNoToken for pagination

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 the action ('List') but doesn't describe key behaviors like whether this is a read-only operation, if it requires specific permissions, how pagination works with 'pageToken', or what the output format looks like (e.g., list of strings or objects). This leaves significant gaps for an agent to understand the tool's 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 a single, direct sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the essential information, 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?

For a tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., read-only vs. mutating), usage context, and output format. Given the complexity of handling CIDs and pagination, more context is needed to guide an agent effectively.

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

Parameters3/5

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

The input schema has 100% description coverage, clearly documenting each parameter ('id', 'limit', 'pageToken'). The description doesn't add any semantic details beyond this, such as explaining what a CID represents or how pagination functions. Since the schema does the heavy lifting, a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('List') and resource ('CIDs associated with a payment instruction'), making the purpose understandable. However, it doesn't distinguish this tool from potential alternatives like 'getPaymentInstruction' or 'listPaymentInstructions', which could list payment instructions themselves rather than their CIDs.

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. Given sibling tools like 'getPaymentInstruction' (which might retrieve payment instruction details) and 'listPaymentInstructions' (which lists payment instructions), there's no indication of when listing CIDs is appropriate, such as for tracking associated content or verifying attachments.

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

listPaymentInstructionsC

List and filter x402 payment instructions for content monetization

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoLimit the number of results returned
pageTokenNoToken for pagination
cidNoFilter by associated CID
nameNoFilter by name
idNoFilter by specific payment instruction ID

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. While 'list and filter' implies a read-only operation, it doesn't address important behavioral aspects like pagination behavior (implied by pageToken but not explained), rate limits, authentication requirements, or what happens when no filters are applied. The description is too minimal for a tool with 5 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 extremely concise - a single sentence that communicates the core purpose efficiently. There's no wasted language or unnecessary elaboration, 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?

For a tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns, how results are structured, or important behavioral context. The agent would need to guess about the response format and operational characteristics.

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 has 100% description coverage, so all parameters are documented in the structured schema. The description adds no additional parameter information beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.

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 filter') and resource ('x402 payment instructions for content monetization'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'listPaymentInstructionCids' or 'getPaymentInstruction', which also deal with payment instructions in different ways.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'getPaymentInstruction' (for single records) or 'listPaymentInstructionCids' (for related data). There's no mention of prerequisites, typical use cases, or when other tools might be more appropriate.

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

pinByCidA

Pin an existing CID from the IPFS network to your Pinata account

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesCID of the file you want to pin
nameNoCustom name for the file
group_idNoID of the group to add the file to
keyvaluesNoMetadata key-value pairs for the file
host_nodesNoArray of host node IDs to fetch from

TDQS

A3.5/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 states the tool pins an existing CID, implying a write/mutation operation, but doesn't disclose behavioral traits like required permissions, rate limits, whether the pin is permanent or reversible, or what happens on failure. For a mutation 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 front-loads the core purpose ('Pin an existing CID from the IPFS network to your Pinata account'). There's no wasted text, repetition, or unnecessary elaboration, making it highly concise and well-structured for quick understanding.

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 has 5 parameters, no annotations, and no output schema, the description is minimally adequate. It states the purpose clearly but lacks behavioral context (e.g., mutation effects, error handling) and doesn't explain return values. For a mutation tool with this complexity, it should do more to compensate for the missing structured data, but it meets the bare minimum for understanding what the tool does.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters (cid, name, group_id, keyvalues, host_nodes). The description doesn't add any parameter-specific semantics beyond what's in the schema, such as format examples or usage tips. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

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

Purpose5/5

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

The description clearly states the action ('Pin') and resource ('an existing CID from the IPFS network to your Pinata account'), distinguishing it from sibling tools like 'uploadFile' (which creates new content) and 'addFileToGroup' (which manages group membership). It specifies that the CID must already exist in the IPFS network, which is a key differentiator.

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 by stating 'Pin an existing CID from the IPFS network', suggesting it's for content already available on IPFS. However, it doesn't explicitly state when to use alternatives like 'uploadFile' (for new content) or 'addFileToGroup' (for grouping), nor does it mention prerequisites or exclusions, leaving some ambiguity for the agent.

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

queryPinRequestsC

Query the status of pin by CID requests

ParametersJSON Schema
NameRequiredDescriptionDefault
orderNoSort by date_queued
statusNoFilter by status
cidNoFilter by CID
limitNoLimit number of results
pageTokenNoToken for pagination

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 but offers minimal information. It states the tool queries status, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns paginated results (though 'pageToken' in schema hints at this), or what happens on errors. For a query 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 a single, efficient sentence with zero waste—it directly states the tool's purpose without redundancy. It's appropriately sized for a query tool and front-loaded with essential information, 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 tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return format (e.g., list of requests with fields), error handling, or authentication needs. While the schema covers parameters well, the lack of behavioral context and output details leaves the agent with insufficient information for reliable use.

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 100%, with clear descriptions for all parameters (e.g., 'order' sorts by date_queued, 'status' filters by status). The description adds no additional parameter semantics beyond what the schema provides, such as explaining 'cid' filtering specifics or 'limit' defaults. Baseline score of 3 is appropriate as the schema adequately documents 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 ('Query') and resource ('status of pin by CID requests'), making the purpose understandable. It distinguishes itself from siblings like 'pinByCid' or 'cancelPinRequest' by focusing on querying status rather than creating or modifying requests. However, it lacks specificity about what 'status' entails (e.g., pending, completed) beyond the enum values in the schema.

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 (e.g., needing existing pin requests), exclusions, or comparisons to sibling tools like 'listPaymentInstructionCids' or 'searchFiles' that might overlap in querying data. Usage is implied only through the tool name and description context.

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

queryVectorsC

Query vectorized files in a group using semantic search

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYesID of the group to search
textYesQuery string for semantic search

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral insight. It mentions semantic search but doesn't disclose performance characteristics, result format, pagination, authentication needs, or error conditions. For a query tool with no annotations, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

Single sentence with zero waste - every word contributes essential information. Front-loaded with the core purpose, appropriately sized for a simple query tool.

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

Completeness2/5

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

For a query tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'vectorized files' means, what the search returns, or how results are structured. Given the complexity implied by 'semantic search' and lack of structured output documentation, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional parameter semantics beyond what's in the schema (group_id for group selection, text for query). Baseline 3 is appropriate when schema does all the work.

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 ('query') and resource ('vectorized files in a group') with the method ('semantic search'). It distinguishes from obvious siblings like 'searchFiles' by specifying vectorized content and semantic search, though it doesn't explicitly contrast with all siblings.

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 'searchFiles' or 'getFileById' is provided. The description implies usage for semantic search on vectorized files, but lacks explicit when/when-not instructions or prerequisite context about needing vectorized files first.

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

removeCidFromPaymentInstructionC

Remove a CID association from a payment instruction

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe payment instruction ID
cidYesThe CID to remove

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 but only states the action without disclosing behavioral traits like whether this is a destructive operation, permission requirements, side effects, or error conditions. It lacks context on what 'remove' entails beyond the basic meaning.

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 zero wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose 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 tool's complexity (a mutation operation with no annotations and no output schema), the description is insufficient. It doesn't cover what happens after removal, potential errors, or confirmation of success, leaving significant gaps for an AI agent to understand the tool's full behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters ('id' and 'cid'). The description adds no additional meaning beyond implying these parameters are used for the removal, which aligns with the schema but doesn't enhance understanding. Baseline 3 is appropriate here.

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 ('Remove') and target ('a CID association from a payment instruction'), which is specific and unambiguous. However, it doesn't explicitly differentiate from its sibling 'removeFileFromGroup' or other removal operations, 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?

No guidance is provided on when to use this tool versus alternatives like 'deletePaymentInstruction' or 'updatePaymentInstruction', nor does it mention prerequisites such as needing an existing CID association. The description only states what it does, not when or why to use it.

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

removeFileFromGroupC

Remove a file from a group in your Pinata account

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the group and file are in public or private IPFSpublic
groupIdYesThe ID of the group to remove the file from
fileIdYesThe ID of the file to remove from the group

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 but offers minimal behavioral insight. It implies a mutation ('Remove') but doesn't disclose permissions required, whether the operation is reversible, rate limits, or what happens to the file/group post-removal (e.g., if the file persists elsewhere). This leaves significant gaps for a tool that likely alters 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 directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and context, 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?

For a mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain the outcome (e.g., success response, error cases), side effects, or dependencies, leaving the agent with insufficient context to use it safely and effectively.

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

Parameters3/5

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

Schema description coverage is 100%, providing clear documentation for all parameters (network, groupId, fileId). The description adds no additional parameter semantics beyond what's in the schema, such as format examples or interdependencies. Baseline 3 is appropriate since the schema handles the heavy lifting.

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 ('Remove') and the target ('a file from a group'), specifying the context ('in your Pinata account'). It distinguishes from obvious siblings like 'addFileToGroup' and 'deleteFile', but doesn't explicitly differentiate from all related tools like 'deleteGroup' or 'updateGroup'.

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. It doesn't mention prerequisites (e.g., needing an existing group and file), exclusions, or comparisons with tools like 'deleteFile' (which might delete entirely) or 'updateGroup' (which might modify membership differently).

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

searchFilesB

Search for files in your Pinata account by name, CID, or MIME type. Returns a list of files matching the given criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether to search in public or private IPFSpublic
nameNoFilter by filename
cidNoFilter by content ID (CID)
mimeTypeNoFilter by MIME type
limitNoMaximum number of results to return
pageTokenNoToken for pagination

TDQS

B3.1/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 tool returns a list of files but doesn't describe pagination behavior (implied by 'pageToken' parameter), rate limits, authentication requirements, or error conditions. For a search tool with 6 parameters, this leaves significant gaps in understanding how it behaves.

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 efficiently structured in two clear sentences: one stating the search functionality and criteria, another stating the return value. Every word contributes meaning with zero waste or redundancy.

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 moderate complexity (6 parameters, search functionality) and lack of both annotations and output schema, the description is minimally adequate. It covers the basic purpose but lacks details about behavioral traits, usage context, and return format that would be helpful for an AI 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%, so the schema already documents all parameters thoroughly. The description adds minimal value by mentioning three filter criteria (name, CID, MIME type) but doesn't provide additional context beyond what's in the schema. This meets the baseline for high 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 searches for files by specific criteria (name, CID, or MIME type) and returns matching files, providing a specific verb ('search') and resource ('files in your Pinata account'). However, it doesn't explicitly differentiate from sibling tools like 'getFileById' or 'listGroups', which reduces 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 mentions what the tool does but provides no guidance on when to use it versus alternatives like 'getFileById' (for specific files) or 'listGroups' (for broader listings). There's no mention of prerequisites, performance 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.

testAuthenticationB

Verify that your Pinata JWT is valid and working

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 states the tool verifies JWT validity, implying a read-only, non-destructive operation, but doesn't disclose behavioral traits like error handling, rate limits, or response format. 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, clear sentence: 'Verify that your Pinata JWT is valid and working.' It's front-loaded with the core purpose, has no wasted words, and is appropriately sized for a simple tool.

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

Completeness2/5

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

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimal. It states the purpose but lacks context on usage, behavioral details, or output expectations. For a tool in a server with many authentication-related siblings, more completeness is needed to guide the agent effectively.

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 input schema has 0 parameters with 100% coverage, so no parameters need documentation. The description doesn't add parameter details, which is acceptable here. Baseline is 4 for zero parameters, as there's nothing to compensate for.

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: 'Verify that your Pinata JWT is valid and working.' It specifies the action (verify) and the resource (Pinata JWT), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools, which include various authentication-related tools like 'createSignedUploadUrl' or 'addSignature,' so it misses the top 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 JWT to test, or compare it to other tools like 'createSignedUploadUrl' for authentication setup. This leaves the agent without context for tool selection.

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

updateFileC

Update metadata for an existing file on Pinata including name and key-value pairs

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the file is in public or private storagepublic
idYesThe unique ID of the file to update
nameNoNew name for the file
keyvaluesNoMetadata key-value pairs to update

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states this updates metadata, implying a mutation, but lacks critical behavioral details: whether authentication is required, if changes are reversible, rate limits, error conditions, or what happens to existing metadata not mentioned. The description is minimal and doesn't compensate for the absence of annotations.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose. It avoids redundancy and wastes no words, though it could be slightly more structured (e.g., separating scope from parameters). Every part earns its place, making it appropriately concise.

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

Completeness2/5

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

Given no annotations, no output schema, and a mutation tool with 4 parameters, the description is incomplete. It lacks behavioral context (e.g., permissions, side effects), output details, and usage guidelines. While the schema covers parameters well, the description doesn't add enough value to compensate for missing structured data, leaving gaps for an AI 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%, so the schema fully documents all 4 parameters. The description mentions 'name and key-value pairs', aligning with the 'name' and 'keyvalues' parameters, but adds no additional meaning beyond what the schema provides (e.g., format examples, constraints). With high schema coverage, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action ('Update metadata'), target resource ('existing file on Pinata'), and specific fields ('name and key-value pairs'). It distinguishes from siblings like 'uploadFile' (creation) and 'deleteFile' (removal), though it doesn't explicitly contrast with 'updateGroup' or 'updatePaymentInstruction' which update different resources.

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 (e.g., needing the file ID), exclusions (e.g., cannot update file content), or compare with similar tools like 'updateGroup' for group metadata. Usage is implied only by the verb 'Update'.

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

updateGroupC

Update metadata for an existing group on Pinata

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoWhether the group is in public or private IPFSpublic
idYesThe unique ID of the group to update
nameNoNew name for the group

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 states this is an update operation, implying mutation, but doesn't cover critical aspects like required permissions, whether changes are reversible, rate limits, error conditions, or what happens to unspecified metadata fields. This leaves significant gaps for a mutation tool.

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

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 appropriately sized and front-loaded, with every word contributing to understanding what the tool does.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'metadata' encompasses beyond the schema parameters, what the update response contains, error handling, or side effects. Given the complexity of updating resources and lack of structured safety information, more context is needed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter information beyond what's in the schema (e.g., it doesn't clarify 'metadata' scope or provide examples). This meets the baseline for high schema coverage but doesn't enhance understanding.

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 metadata') and resource ('an existing group on Pinata'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'updateFile' or 'updatePaymentInstruction' beyond the resource type, which prevents 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 (e.g., needing an existing group ID), contrast with similar tools like 'createGroup' or 'deleteGroup', or specify scenarios where this update is appropriate versus creating a new group.

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

updatePaymentInstructionC

Update an existing x402 payment instruction. Currently supports USDC (6 decimals) on Base/Base Sepolia only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier of the payment instruction to update
nameNoUpdated name
pay_toNoUpdated wallet address (0x...) to receive USDC payments
amount_usdcNoUpdated price in USD as a string (e.g., '0.01' for 1 cent, '1.50' for $1.50)
networkNoUpdated blockchain network
descriptionNoUpdated description

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. While it mentions the update operation and current limitations, it doesn't address critical behavioral aspects: whether this requires specific permissions, if updates are reversible, what happens to unchanged fields, error conditions, or response format. For a mutation tool with zero annotation coverage, this is insufficient.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose. It could potentially be more structured by separating limitations from the main purpose, but it contains no redundant information and every word serves a purpose.

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

Completeness2/5

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

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address permission requirements, error handling, response format, or provide usage context. The current limitations mention is helpful but insufficient for the tool's complexity and mutation nature.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal value beyond the schema - it mentions USDC and Base networks which relate to 'amount_usdc' and 'network' parameters, but doesn't provide additional semantic context beyond what's in the schema descriptions.

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') and resource ('existing x402 payment instruction'), providing specific scope about supported currencies (USDC) and networks (Base/Base Sepolia). However, it doesn't explicitly differentiate this from sibling tools like 'updateFile' or 'updateGroup' beyond the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'createPaymentInstruction' or 'deletePaymentInstruction'. It mentions current limitations (USDC on Base networks only) but doesn't explain when this update operation is appropriate versus creating a new instruction.

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

uploadFileC

Upload a file to Pinata IPFS. Provide either a file:// URI or base64-encoded content.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceUriNoThe file:// URI of the file to upload (e.g., file:///path/to/file.jpg)
fileContentNoBase64-encoded file content (use this if not providing resourceUri)
fileNameNoName for the uploaded file (auto-detected from path if using resourceUri)
mimeTypeNoMIME type of the file (auto-detected if not provided)
networkNoWhether to upload to public or private IPFSpublic
group_idNoID of a group to add the file to
keyvaluesNoMetadata key-value pairs for the file

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 but offers minimal behavioral context. It doesn't disclose whether this is a mutating operation (implied by 'upload'), what permissions are required, rate limits, error conditions, or what happens on success (e.g., returns a CID). The mention of 'public' vs 'private' IPFS hints at access control but lacks detail.

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 immediately states the core purpose and the two key input options. Every word earns its place with zero redundancy or unnecessary elaboration, 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?

For a 7-parameter mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., IPFS hash, file ID), error handling, authentication requirements, or how it differs from sibling tools like 'createSignedUploadUrl'. The context signals indicate high complexity that isn't adequately addressed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds marginal value by clarifying the two primary input methods (URI vs base64) and mentioning auto-detection for fileName and mimeType, but doesn't provide additional semantic context beyond what's already in the schema descriptions.

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 ('Upload a file') and target ('to Pinata IPFS'), which is specific and unambiguous. It distinguishes from siblings like 'createSignedUploadUrl' or 'vectorizeFile' by focusing on direct file upload. However, it doesn't explicitly differentiate from 'updateFile' or 'addFileToGroup', which could be related operations.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'createSignedUploadUrl' for pre-signed URLs or 'addFileToGroup' for adding existing files to groups. It mentions the two input options (URI or base64) but doesn't explain when one method is preferred over the other or any prerequisites for using this tool.

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

vectorizeFileC

Vectorize a file for AI/semantic search capabilities

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesID of the file to vectorize

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool 'vectorizes' a file, implying a write/mutation operation, but doesn't disclose behavioral traits such as permissions required, whether it's idempotent, rate limits, or what happens on failure. The description is minimal and lacks critical operational details.

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's front-loaded with the core action and purpose, making it easy to parse. Every word earns its place, and there's no redundancy or 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 tool's complexity (a mutation operation for vectorization), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what vectorization entails, the return values, error conditions, or side effects. For a tool with no structured support, more detail is needed to be adequately helpful.

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

Parameters3/5

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

The input schema has 100% description coverage, with 'file_id' clearly documented. The description adds no additional meaning beyond the schema, such as format examples or constraints. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

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 ('vectorize') and resource ('a file'), specifying it's for 'AI/semantic search capabilities'. This distinguishes it from sibling tools like 'deleteFileVectors' or 'queryVectors', though it doesn't explicitly differentiate from all siblings. The purpose is specific but could be more precise about what vectorization entails.

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 (e.g., file must exist), when not to use it (e.g., for non-search purposes), or refer to related tools like 'deleteFileVectors' or 'queryVectors'. Usage is implied by the purpose but lacks explicit context.

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

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific resources like files, groups, payment instructions, or signatures, with clear action verbs. However, some overlap exists: createLink and createPrivateDownloadLink both generate access links, and addFileToGroup/removeFileFromGroup could be confused with file operations like updateFile or deleteFile, though descriptions help differentiate.

Naming Consistency3/5

Naming is mixed with camelCase (e.g., addCidToPaymentInstruction) and snake_case (e.g., query_pin_requests) patterns, causing inconsistency. Verb styles vary (e.g., 'add', 'create', 'delete', 'fetch'), but the structure is generally readable as verb-noun combinations, albeit without a uniform convention.

Tool Count3/5

With 35 tools, the count is borderline high for a file storage and monetization server, suggesting potential over-scoping. While it covers many operations, it may feel heavy compared to typical well-scoped servers (3-15 tools), risking complexity for agents.

Completeness5/5

The tool set provides comprehensive CRUD/lifecycle coverage for the domain: full file management (upload, update, delete, search), group organization, payment instructions with CID associations, signature handling, and vectorization for AI. No obvious gaps exist; agents can perform end-to-end workflows without dead ends.

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
    D
    maintenance
    Connects Claude to your self-hosted or cloud-based Seafile storage for managing libraries and files through natural language. It enables users to browse directories, read file contents, and perform file operations like moving, renaming, or searching across their private infrastructure.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude and other MCP clients to interact with Plutio's business platform resources including CRM, projects, invoicing, and more through structured tools.
    17
    5
    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/PinataCloud/pinata-mcp'

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