MCP server intelligence profile

Pinata MCP Server

Provides Claude with access to Pinata's API, allowing it to interact with both Public and Private IPFS for file uploading, searching, organization, and content retrieval

Local OnlyOfficial distributionPinataCloud
Verified cleanNpm · 0.2.0

Our scanner tested version 0.2.0 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

1Distribution channel
35Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install pinata-mcp from npm

Version 0.2.0 declares 1 executable entrypoint.

npm install --save-exact pinata-mcp@0.2.0
npx -y -p pinata-mcp@0.2.0 pinata-mcp
MCP client configuration example
{
  "mcpServers": {
    "pinata-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "pinata-mcp@0.2.0",
        "pinata-mcp"
      ]
    }
  }
}

Identity

Canonical slugpinata-mcp-51950d05DeploymentLocal Only
Canonical packagenpm:pinata-mcpRepositoryPinataCloud/pinata-mcp
First publishedLatest release
Last security verificationAug 20, 2026Classification confidence90%
PublicationPublishedOfficial distributionYes

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmpinata-mcp0.2.01Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmpinata-mcp0.2.0CurrentSep 5, 202635 toolsSucceeded · 0 resources · 0 promptsVerified clean
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

Provenanceartifact_hash_verifiedSignature
MCP SDK@modelcontextprotocol/sdk Artifact SHA-25665caae7429918972b487d661ce22cf9147f437f67ebe09e7c3916e0a69764e63
Scannermcp-proof-engine 0.1.0Scan completedAug 20, 2026
Security rating42 / 100Methodologyversion-rating-1.0
Executable entrypoints
[
  "pinata-mcp"
]
Rating reasons
[
  "security_policy_not_observed"
]
0Proven
3784Clean
0Inconclusive
0Flaky
0Errors

Current protocol inventory

2025-06-18Negotiated protocol
PinataServer-reported name
2Capability groups
Aug 18, 2026Observed

Tools 35

ToolCategoryAnnotationsRisk
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

  • None observed.

Resource templates 1

  • Local Filesfile://{+path}

    Access local files to upload to Pinata IPFS (only from allowed directories)

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

Pinata MCP Server questions

How do I install Pinata MCP Server?

Install the selected package version with: npm install --save-exact pinata-mcp@0.2.0

What tools does Pinata MCP Server provide?

Pinata MCP Server exposed 35 tools during independent protocol observation, including addCidToPaymentInstruction, addFileToGroup, addSignature, cancelPinRequest, createGroup, createLink, createPaymentInstruction, createPrivateDownloadLink, and others.

Is Pinata MCP Server secure?

Our scanner tested version 0.2.0 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP ServersMCP Servers With Completed Verification

Let’s talk about MCP security.

Share your details and our security team will contact you.