← MCP Security Catalog

Pinata MCP 0.2.0

npm · pinata-mcp · latest release

Verified with no proven findings
Security result
35
Observed tools
42
Version rating
100
Change risk

Independent inventory

Observed 2026-08-18T10:13:11.636Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
addCidToPaymentInstructionAssociate a CID with a payment instruction for x402 monetization
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The payment instruction ID"
    },
    "cid": {
      "type": "string",
      "description": "The CID to associate"
    }
  },
  "required": [
    "id",
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
addFileToGroupAdd an existing file to a group in your Pinata account
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the group and file are in public or private IPFS"
    },
    "groupId": {
      "type": "string",
      "description": "The ID of the group to add the file to"
    },
    "fileId": {
      "type": "string",
      "description": "The ID of the file to add to the group"
    }
  },
  "required": [
    "groupId",
    "fileId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
addSignatureAdd an EIP-712 cryptographic signature to a CID for content verification
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is on public or private IPFS"
    },
    "cid": {
      "type": "string",
      "description": "The CID to sign"
    },
    "signature": {
      "type": "string",
      "description": "The EIP-712 signature"
    },
    "address": {
      "type": "string",
      "description": "The wallet address that created the signature"
    }
  },
  "required": [
    "cid",
    "signature",
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
cancelPinRequestCancel a pending pin by CID request
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "ID of the pin request to cancel"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
createGroupCreate a new group in your Pinata account to organize files
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether to create the group in public or private IPFS"
    },
    "name": {
      "type": "string",
      "description": "Name for the new group"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
createLinkCreate a direct access link for a file stored on Pinata IPFS. For public files returns a gateway URL, for private files generates a temporary download link.
Input schema
{
  "type": "object",
  "properties": {
    "cid": {
      "type": "string",
      "description": "The CID of the file to create a link for"
    },
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is on public or private IPFS"
    },
    "expires": {
      "type": "number",
      "default": 600,
      "description": "Expiration time in seconds for private download links (default: 600)"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
createPaymentInstructionCreate a new x402 payment instruction for content monetization. Currently supports USDC (6 decimals) on Base/Base Sepolia only.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Name for the payment instruction"
    },
    "pay_to": {
      "type": "string",
      "description": "Wallet address (0x...) to receive USDC payments"
    },
    "amount_usdc": {
      "type": "string",
      "description": "Price 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."
    },
    "network": {
      "type": "string",
      "enum": [
        "base",
        "base-sepolia"
      ],
      "default": "base",
      "description": "Blockchain network (Base mainnet or Base Sepolia testnet)"
    },
    "description": {
      "type": "string",
      "description": "Description of the payment instruction"
    }
  },
  "required": [
    "name",
    "pay_to",
    "amount_usdc"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
createPrivateDownloadLinkGenerate a temporary download link for accessing a private IPFS file from Pinata
Input schema
{
  "type": "object",
  "properties": {
    "cid": {
      "type": "string",
      "description": "The content ID (CID) of the private file"
    },
    "expires": {
      "type": "number",
      "default": 600,
      "description": "Expiration time in seconds (default: 600 = 10 minutes)"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
createSignedUploadUrlCreate a signed URL for client-side file uploads without exposing your API key
Input schema
{
  "type": "object",
  "properties": {
    "expires": {
      "type": "number",
      "description": "How long the URL is valid in seconds after signing"
    },
    "max_file_size": {
      "type": "number",
      "description": "Restrict the max size of a file upload in bytes"
    },
    "allow_mime_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of allowed MIME types (supports wildcards like 'image/*')"
    },
    "group_id": {
      "type": "string",
      "description": "ID of the group that the file will be uploaded to"
    },
    "filename": {
      "type": "string",
      "description": "Name of the file that will be uploaded"
    },
    "keyvalues": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Metadata key-value pairs for the file"
    }
  },
  "required": [
    "expires"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
deleteFileDelete a file from your Pinata account by its ID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is in public or private IPFS"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the file to delete"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
deleteFileVectorsDelete vectors for a file
Input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "ID of the file to delete vectors for"
    }
  },
  "required": [
    "file_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
deleteGroupDelete a group from your Pinata account by its ID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the group is in public or private IPFS"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the group to delete"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
deletePaymentInstructionDelete an x402 payment instruction
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the payment instruction to delete"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
deleteSignatureRemove a signature from a CID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is on public or private IPFS"
    },
    "cid": {
      "type": "string",
      "description": "The CID to remove the signature from"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
fetchFromGatewayFetch content from Public or Private IPFS via Pinata gateway and return it
Input schema
{
  "type": "object",
  "properties": {
    "cid": {
      "type": "string",
      "description": "The CID of the file to fetch"
    },
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is on public or private IPFS"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getFileByIdRetrieve detailed information about a specific file stored on Pinata by its ID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is in public or private IPFS"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the file to retrieve"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getGroupRetrieve detailed information about a specific group by its ID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the group is in public or private IPFS"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the group to retrieve"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getPaymentInstructionRetrieve a specific x402 payment instruction by ID
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the payment instruction"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
getSignatureGet signature details for a specific CID
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is on public or private IPFS"
    },
    "cid": {
      "type": "string",
      "description": "The CID to get the signature for"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listAllowedDirectoriesList all directories that this MCP server is allowed to access for file operations
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
listGroupsList groups in your Pinata account with optional filtering by name
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether to list groups in public or private IPFS"
    },
    "name": {
      "type": "string",
      "description": "Filter groups by name"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return"
    },
    "pageToken": {
      "type": "string",
      "description": "Token for pagination"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listPaymentInstructionCidsList CIDs associated with a payment instruction
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The payment instruction ID"
    },
    "limit": {
      "type": "number",
      "description": "Limit the number of results returned"
    },
    "pageToken": {
      "type": "string",
      "description": "Token for pagination"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
listPaymentInstructionsList and filter x402 payment instructions for content monetization
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Limit the number of results returned"
    },
    "pageToken": {
      "type": "string",
      "description": "Token for pagination"
    },
    "cid": {
      "type": "string",
      "description": "Filter by associated CID"
    },
    "name": {
      "type": "string",
      "description": "Filter by name"
    },
    "id": {
      "type": "string",
      "description": "Filter by specific payment instruction ID"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
pinByCidPin an existing CID from the IPFS network to your Pinata account
Input schema
{
  "type": "object",
  "properties": {
    "cid": {
      "type": "string",
      "description": "CID of the file you want to pin"
    },
    "name": {
      "type": "string",
      "description": "Custom name for the file"
    },
    "group_id": {
      "type": "string",
      "description": "ID of the group to add the file to"
    },
    "keyvalues": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Metadata key-value pairs for the file"
    },
    "host_nodes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of host node IDs to fetch from"
    }
  },
  "required": [
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
queryPinRequestsQuery the status of pin by CID requests
Input schema
{
  "type": "object",
  "properties": {
    "order": {
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ],
      "description": "Sort by date_queued"
    },
    "status": {
      "type": "string",
      "enum": [
        "prechecking",
        "backfilled",
        "retreiving",
        "expired",
        "searching",
        "over_free_limit",
        "over_max_size",
        "invalid_object",
        "bad_host_node"
      ],
      "description": "Filter by status"
    },
    "cid": {
      "type": "string",
      "description": "Filter by CID"
    },
    "limit": {
      "type": "number",
      "description": "Limit number of results"
    },
    "pageToken": {
      "type": "string",
      "description": "Token for pagination"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
queryVectorsQuery vectorized files in a group using semantic search
Input schema
{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "string",
      "description": "ID of the group to search"
    },
    "text": {
      "type": "string",
      "description": "Query string for semantic search"
    }
  },
  "required": [
    "group_id",
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
removeCidFromPaymentInstructionRemove a CID association from a payment instruction
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The payment instruction ID"
    },
    "cid": {
      "type": "string",
      "description": "The CID to remove"
    }
  },
  "required": [
    "id",
    "cid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
removeFileFromGroupRemove a file from a group in your Pinata account
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the group and file are in public or private IPFS"
    },
    "groupId": {
      "type": "string",
      "description": "The ID of the group to remove the file from"
    },
    "fileId": {
      "type": "string",
      "description": "The ID of the file to remove from the group"
    }
  },
  "required": [
    "groupId",
    "fileId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
searchFilesSearch for files in your Pinata account by name, CID, or MIME type. Returns a list of files matching the given criteria.
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether to search in public or private IPFS"
    },
    "name": {
      "type": "string",
      "description": "Filter by filename"
    },
    "cid": {
      "type": "string",
      "description": "Filter by content ID (CID)"
    },
    "mimeType": {
      "type": "string",
      "description": "Filter by MIME type"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return"
    },
    "pageToken": {
      "type": "string",
      "description": "Token for pagination"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
testAuthenticationVerify that your Pinata JWT is valid and working
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
updateFileUpdate metadata for an existing file on Pinata including name and key-value pairs
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the file is in public or private storage"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the file to update"
    },
    "name": {
      "type": "string",
      "description": "New name for the file"
    },
    "keyvalues": {
      "type": "object",
      "additionalProperties": {},
      "description": "Metadata key-value pairs to update"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
updateGroupUpdate metadata for an existing group on Pinata
Input schema
{
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether the group is in public or private IPFS"
    },
    "id": {
      "type": "string",
      "description": "The unique ID of the group to update"
    },
    "name": {
      "type": "string",
      "description": "New name for the group"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
updatePaymentInstructionUpdate an existing x402 payment instruction. Currently supports USDC (6 decimals) on Base/Base Sepolia only.
Input schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the payment instruction to update"
    },
    "name": {
      "type": "string",
      "description": "Updated name"
    },
    "pay_to": {
      "type": "string",
      "description": "Updated wallet address (0x...) to receive USDC payments"
    },
    "amount_usdc": {
      "type": "string",
      "description": "Updated price in USD as a string (e.g., '0.01' for 1 cent, '1.50' for $1.50)"
    },
    "network": {
      "type": "string",
      "enum": [
        "base",
        "base-sepolia"
      ],
      "description": "Updated blockchain network"
    },
    "description": {
      "type": "string",
      "description": "Updated description"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
uploadFileUpload a file to Pinata IPFS. Provide either a file:// URI or base64-encoded content.
Input schema
{
  "type": "object",
  "properties": {
    "resourceUri": {
      "type": "string",
      "description": "The file:// URI of the file to upload (e.g., file:///path/to/file.jpg)"
    },
    "fileContent": {
      "type": "string",
      "description": "Base64-encoded file content (use this if not providing resourceUri)"
    },
    "fileName": {
      "type": "string",
      "description": "Name for the uploaded file (auto-detected from path if using resourceUri)"
    },
    "mimeType": {
      "type": "string",
      "description": "MIME type of the file (auto-detected if not provided)"
    },
    "network": {
      "type": "string",
      "enum": [
        "public",
        "private"
      ],
      "default": "public",
      "description": "Whether to upload to public or private IPFS"
    },
    "group_id": {
      "type": "string",
      "description": "ID of a group to add the file to"
    },
    "keyvalues": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      },
      "description": "Metadata key-value pairs for the file"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
vectorizeFileVectorize a file for AI/semantic search capabilities
Input schema
{
  "type": "object",
  "properties": {
    "file_id": {
      "type": "string",
      "description": "ID of the file to vectorize"
    }
  },
  "required": [
    "file_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Resources 0

Resource templates 1

Prompts 0

Changes from previous version

Compared with initial baseline using full_baseline.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 65caae7429918972b487d661ce22cf9147f437f67ebe09e7c3916e0a69764e63

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.