Uploading Code
Upload your MCP server code as a ZIP file to deploy on agnexus.
Overview
You can deploy your MCP server by uploading a ZIP file containing your code. This is useful for quick deployments or when you don't want to use GitHub.
Preparing Your Code
Project Structure
Your ZIP file should include:
- Main entry point file (
main.pyorindex.js) - Dependencies file (
requirements.txtorpackage.json) - All source code files
- Dockerfile (optional, but recommended)
- Configuration files
What to Include
Required:
- Main application file
- Dependencies file (
requirements.txtfor Python,package.jsonfor Node.js)
Recommended:
- Dockerfile
- README.md
.env.example(for documentation)
Don't Include:
node_modules/orvenv/(will be installed during build).git/directory- Large files or assets
- Secrets or API keys
Creating the ZIP File
On macOS/Linux
cd your-mcp-server
zip -r ../mcp-server.zip . -x "*.git*" -x "node_modules/*" -x "venv/*"
On Windows
- Select all files in your project folder
- Right-click → "Send to" → "Compressed (zipped) folder"
- Remove
node_modulesand.gitif included
Uploading
- In the deployment flow, choose "Deploy via File Upload"
- Click "Choose File" or drag and drop
- Select your ZIP file
- Wait for upload and validation
Validation
agnexus will automatically:
- Extract your ZIP file
- Detect the language (Python/Node.js)
- Find the entry point
- Check for required files
- Validate the structure
After Upload
Once validated, you'll proceed to configuration:
- Server name
- Description
- Environment variables
- Region
- Dockerfile options
File Size Limits
- Maximum file size: 100MB
- Recommended: Keep under 50MB for faster uploads
For larger projects, consider using GitHub integration instead.
Troubleshooting
Upload Fails
- Check file size limits
- Verify ZIP file is not corrupted
- Ensure all required files are included
Validation Errors
- Missing
requirements.txtorpackage.json - No entry point file found
- Invalid project structure
Best Practices
- Test locally first: Ensure your code works before uploading
- Use .dockerignore: Exclude unnecessary files
- Keep it small: Remove large files and dependencies
- Include Dockerfile: Manual Dockerfiles are more reliable
- Document dependencies: Clear requirements help validation