Gives Claude access to the Pinata API to upload, search, organize and retrieve files on public and private IPFS.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add pinata --env PINATA_JWT='<PINATA_JWT>' --env GATEWAY_URL='<GATEWAY_URL>' -- npx pinata-mcp /path/to/allowed/directories /another/path/to/allowed/directories~/.codex/config.toml
[mcp_servers.pinata]
command = "npx"
args = ["pinata-mcp", "/path/to/allowed/directories", "/another/path/to/allowed/directories"]
env = { PINATA_JWT = "<PINATA_JWT>", GATEWAY_URL = "<GATEWAY_URL>" }
# codex mcp add pinata --env PINATA_JWT='<PINATA_JWT>' --env GATEWAY_URL='<GATEWAY_URL>' -- npx pinata-mcp /path/to/allowed/directories /another/path/to/allowed/directories~/.cursor/mcp.json
{
"mcpServers": {
"pinata": {
"command": "npx",
"args": [
"pinata-mcp",
"/path/to/allowed/directories",
"/another/path/to/allowed/directories"
],
"env": {
"PINATA_JWT": "<PINATA_JWT>",
"GATEWAY_URL": "<GATEWAY_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"pinata": {
"type": "stdio",
"command": "npx",
"args": [
"pinata-mcp",
"/path/to/allowed/directories",
"/another/path/to/allowed/directories"
],
"env": {
"PINATA_JWT": "<PINATA_JWT>",
"GATEWAY_URL": "<GATEWAY_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"pinata": {
"command": "npx",
"args": [
"pinata-mcp",
"/path/to/allowed/directories",
"/another/path/to/allowed/directories"
],
"env": {
"PINATA_JWT": "<PINATA_JWT>",
"GATEWAY_URL": "<GATEWAY_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"pinata": {
"command": "npx",
"args": [
"pinata-mcp",
"/path/to/allowed/directories",
"/another/path/to/allowed/directories"
],
"env": {
"PINATA_JWT": "<PINATA_JWT>",
"GATEWAY_URL": "<GATEWAY_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"pinata": {
"command": "npx",
"args": [
"pinata-mcp",
"/path/to/allowed/directories",
"/another/path/to/allowed/directories"
],
"env": {
"PINATA_JWT": "<PINATA_JWT>",
"GATEWAY_URL": "<GATEWAY_URL>"
}
}
}
}Environment variables
PINATA_JWTGATEWAY_URL
Replace the placeholders with your own credentials and keep them out of version control.