{"id":29114193,"url":"https://github.com/pinatacloud/pinata-mcp","last_synced_at":"2025-06-29T11:08:09.292Z","repository":{"id":281919828,"uuid":"946878744","full_name":"PinataCloud/pinata-mcp","owner":"PinataCloud","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-12T20:55:26.000Z","size":74,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-17T13:17:48.828Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PinataCloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-11T20:19:15.000Z","updated_at":"2025-04-13T12:50:25.000Z","dependencies_parsed_at":"2025-03-11T21:26:07.294Z","dependency_job_id":"e27da9e9-0e84-4b4e-87a6-4fd2a0f9ce3e","html_url":"https://github.com/PinataCloud/pinata-mcp","commit_stats":null,"previous_names":["pinatacloud/pinata-mcp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/PinataCloud/pinata-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinataCloud%2Fpinata-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinataCloud%2Fpinata-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinataCloud%2Fpinata-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinataCloud%2Fpinata-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PinataCloud","download_url":"https://codeload.github.com/PinataCloud/pinata-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PinataCloud%2Fpinata-mcp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262581398,"owners_count":23331914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-29T11:06:09.965Z","updated_at":"2025-06-29T11:08:09.268Z","avatar_url":"https://github.com/PinataCloud.png","language":"JavaScript","funding_links":[],"categories":["File Systems"],"sub_categories":["How to Submit"],"readme":"# pinata-mcp\n\nA 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.\n\n## Setup\n\n### Prerequisites\n\n- Node.js 18+ installed\n- A Pinata account with an API key (JWT)\n\n### Installation\n\nInstallation will depend on whether you are using Claude Code or Claude Desktop\n\n**Claude Code**\n\nRun `claude mcp add` and follow the prompts with the following information:\n\n```\nServer Name: pinata\nServer Scope: Project or Global\nServer Command: npx\nCommand Arguments: pinata-mcp /path/to/allowed/directories /another/path/to/allowed/directories\nEnvironment Variables: PINATA_JWT=\u003cYOUR_JWT\u003e,GATEWAY_URL=example.mypinata.cloud\n```\n\n**Claude Desktop**\n\nAdd the following config to `claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"pinata\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"pinata-mcp\",\n        \"/path/to/allowed/directory\"\n      ],\n      \"env\": {\n        \"PINATA_JWT\": \"\u003cYOUR_JWT\u003e\",\n        \"GATEWAY_URL\": \"example.mypinata.cloud\"\n      }\n    }\n  }\n}\n```\n\n## Usage\n\nTo start using the MCP start up Claude Code with the command `claude` or start Claude Desktop. Below are the available operations:\n\n### File Operations\n\n- **Upload files** to Pinata (public or private IPFS)\n- **Search files** by name, CID, or mime type\n- **Get file details** by ID\n- **Update file metadata** including name and key-values\n- **Delete files** from Pinata\n\n### Group Operations\n\n- **List groups** with optional filtering\n- **Create groups** for organizing files\n- **Get group details** by ID\n- **Update group information**\n- **Delete groups**\n- **Add/remove files** to/from groups\n\n### Content Access\n\n- **Create private download links** for accessing private files\n- **Fetch content from IPFS gateway** and optionally save locally\n\n## Example Prompts for Claude\n\nHere are some examples of how to instruct Claude to use pinata-mcp:\n\n```\nUpload an image to Pinata:\n\"Please upload the file at ~/Pictures/example.jpg to my Pinata account as a private file named 'My Example Image'\"\n\nSearch for files:\n\"Search my Pinata account for all PNG files\"\n\nCreate a group and add files:\n\"Create a new group called 'Project Assets' on Pinata, then find all my JSON files and add them to this group\"\n\nDownload content from IPFS:\n\"Fetch the content with CID QmX... from IPFS and save it to my Downloads folder\"\n```\n\n## Questions\n\nSend us an [email](mailto:steve@pinata.cloud) with any issues you may encounter!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinatacloud%2Fpinata-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinatacloud%2Fpinata-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinatacloud%2Fpinata-mcp/lists"}