@amingdrift/mcp-shipit
v1.1.1
Published
mcp-shipit is a Model Context Protocol (MCP)-based tool that can package specified directories into a ZIP file and upload them to GitHub Release.
Downloads
31
Maintainers
Readme
mcp-shipit
English | 中文
mcp-shipit is a Model Context Protocol (MCP)-based tool that can package specified directories into a ZIP file and upload them to GitHub Release.
Why This Tool?
This tool was created to solve a common problem in development workflows: sharing test resources (such as mock images, videos, and other large binary files) between multiple development machines.
Often, developers need to share these test resources but don't want to commit them to the git repository, as they can bloat the repository size. Traditional solutions like uploading to cloud drives require manual repetitive operations - download, extract, move to the right place, etc.
With mcp-shipit, you can simply tell your AI programming assistant (like VS Code Copilot, Tongyi Lingma) to "upload the mock resources directory to GitHub Release" or "download the test assets from GitHub Release", and the tool automatically handles the entire process. This makes it seamless to share test resources between multiple development environments.
Key Features
- 📦 Package project directories into ZIP files
- ☁️ Automatically upload to GitHub Release
- 🏷️ Support creating or reusing Release tags
- 🔌 Integration via MCP protocol
- ⬇️ Support downloading and extracting from GitHub Release
- 🌐 Proxy support for GitHub API access
Integration
mcp-shipit is an MCP tool that cannot be called directly from the command line. It needs to be integrated into AI programming tools that support the MCP protocol, such as VS Code Copilot, Tongyi Lingma, Trae, etc.
Quick Start
1. Prerequisites
- Node.js v20+
- GitHub Personal Access Token (Guide)
2. GitHub API Permission Instructions
The mcp-shipit tool needs to use the GitHub API to upload and download Release files. For this purpose, you need to create a Personal Access Token (PAT) and grant appropriate permissions.
When creating a new token at https://github.com/settings/tokens/new, select the following permissions based on your use case:
Upload Release Files
Requires repo permission (full control of private and public repositories), which includes:
public_repo(access public repositories)- Allows creating releases and uploading release assets
Download Release Files
- Public repositories:
public_repopermission - Private repositories:
repopermission
Recommended Configuration
| Use Case | Recommended Permissions |
| ---------------------- | ----------------------- |
| Upload/manage Releases | ✅ repo |
| Download Release files | ✅ repo |
📌 To ensure proper functionality, it is recommended to directly select the
repopermission, which supports both upload and download operations
3. Installation
npm install -g @amingdrift/mcp-shipit4. Integration Configuration
Configure the service in MCP-supported tools, configuration guides:
VS Code Copilot configuration example:
{
"servers": {
"mcp-shipit": {
"type": "stdio",
"command": "npx",
"args": ["@amingdrift/mcp-shipit"],
"env": {
"SHIPIT_GITHUB_TOKEN": "your-token",
"SHIPIT_GITHUB_OWNER": "your-owner",
"SHIPIT_GITHUB_REPO": "your-repo"
}
}
}
}Environment Variables:
SHIPIT_GITHUB_TOKEN(Required): GitHub access tokenSHIPIT_GITHUB_OWNER(Required): Repository ownerSHIPIT_GITHUB_REPO(Required): Repository nameSHIPIT_GITHUB_TAG(Optional): Release tag name, defaultmcp-auto-uploadSHIPIT_PROXY(Optional): Proxy address
Environment variables can be set in the
.envfile in the project root directory, which takes precedence over configuration files.
5. Usage (using VS Code Copilot with Agent mode as an example)
Upload Directory:
Please use the mcp-shipit tool to package [relative directory path] and upload it to GitHub Release
Download File:
Please use the mcp-shipit tool to download [filename.zip] from GitHub release to [target directory] [merge|overwrite]
Notes
- Ensure GitHub Token has repository write permissions
- The upload directory must exist and be accessible
- When downloading, files with the same name will be overwritten, and the original directory will be backed up as
_bak - Proxy can be configured when network is slow
- Only tested with VS Code Copilot, Tongyi Lingma, and Trae AI programming tools. Other tools like Claude Desktop and Cursor can be tried by users
- Must be used via Agent/Builder with MCP to create automated workflows
