addCidToPaymentInstructionAssociate a CID with a payment instruction for x402 monetizationInput 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 accountInput 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 verificationInput 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 requestInput 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 filesInput 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 PinataInput 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 keyInput 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 IDInput 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 fileInput 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 IDInput 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 instructionInput 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 CIDInput 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 itInput 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 IDInput 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 IDInput 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 IDInput 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 CIDInput 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 operationsInput schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {}
} | — | | — |
listGroupsList groups in your Pinata account with optional filtering by nameInput 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 instructionInput 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 monetizationInput 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 accountInput 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 requestsInput 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 searchInput 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 instructionInput 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 accountInput 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 workingInput 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 pairsInput 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 PinataInput 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 capabilitiesInput 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#"
} | — | | — |