DISTRIBUTION.md•4.71 kB
# Distribution Guide
This guide explains how to share and distribute the Opus MCP Server.
## Quick Distribution Methods
### Method 1: Share the Built Package
1. **Create a distributable tarball**:
```bash
npm pack
```
This creates: `opus-mcp-server-1.0.0.tgz` (~50KB)
2. **Share the file** via:
- Email
- Cloud storage (Dropbox, Google Drive)
- File sharing service
- Internal company network
3. **Users install with**:
```bash
npm install opus-mcp-server-1.0.0.tgz
cd node_modules/opus-mcp-server
npm run setup
```
### Method 2: Share via GitHub
1. **Create a GitHub repository**:
```bash
git init
git add .
git commit -m "Initial commit: Opus MCP Server"
git remote add origin <your-repo-url>
git push -u origin main
```
2. **Users install with**:
```bash
git clone <your-repo-url>
cd opus-mcp-server
npm install
npm run setup
```
### Method 3: Publish to npm Registry
1. **Create an npm account** (if you don't have one):
- Go to https://www.npmjs.com/signup
2. **Login to npm**:
```bash
npm login
```
3. **Publish the package**:
```bash
npm publish
```
4. **Users install with**:
```bash
npm install -g opus-mcp-server
opus-mcp-server setup
```
### Method 4: Share as Zip Archive
1. **Create distribution folder**:
```bash
mkdir opus-mcp-server-dist
cp -r build opus-mcp-server-dist/
cp -r scripts opus-mcp-server-dist/
cp package.json opus-mcp-server-dist/
cp README.md opus-mcp-server-dist/
cp INSTALL.md opus-mcp-server-dist/
cp LICENSE opus-mcp-server-dist/
```
2. **Create zip**:
```bash
zip -r opus-mcp-server-v1.0.0.zip opus-mcp-server-dist/
```
3. **Users extract and install**:
```bash
unzip opus-mcp-server-v1.0.0.zip
cd opus-mcp-server-dist
npm install --production
npm run setup
```
## Pre-Distribution Checklist
Before sharing, ensure:
- ✅ All dependencies are in package.json
- ✅ Build files are generated (`npm run build`)
- ✅ README.md is complete and accurate
- ✅ LICENSE file is included
- ✅ .gitignore excludes sensitive files
- ✅ No hardcoded API keys in source
- ✅ Setup script works correctly
- ✅ Test connection script works
## Version Management
Update version numbers:
```bash
# Patch (1.0.0 -> 1.0.1)
npm version patch
# Minor (1.0.0 -> 1.1.0)
npm version minor
# Major (1.0.0 -> 2.0.0)
npm version major
```
## Distribution Package Contents
The distributed package includes:
```
opus-mcp-server/
├── build/ # Compiled TypeScript
│ ├── index.js
│ └── index.d.ts
├── scripts/ # Setup and utility scripts
│ ├── setup.js
│ └── test-connection.js
├── package.json # Dependencies and metadata
├── README.md # Main documentation
├── INSTALL.md # Installation guide
├── USAGE_EXAMPLE.md # Usage examples
├── WORKFLOW_INFO.md # Workflow-specific info
├── LICENSE # MIT License
└── node_modules/ # Dependencies (if bundled)
```
## For Enterprise/Internal Distribution
### Option A: Private npm Registry
1. Set up private registry (Verdaccio, JFrog Artifactory)
2. Configure `.npmrc`:
```
registry=https://your-registry.company.com/
```
3. Publish to private registry
### Option B: Internal Git Server
1. Push to internal GitLab/Bitbucket
2. Users clone from internal server
3. Control access via repository permissions
### Option C: Shared Network Drive
1. Build and package the server
2. Place tarball on shared drive
3. Users install from network path
## Security Considerations
**Never distribute**:
- ✗ API keys in source code
- ✗ `.env` files with credentials
- ✗ Personal configuration files
- ✗ Build artifacts with sensitive data
**Always ensure**:
- ✓ Users provide their own API keys
- ✓ Setup script prompts for credentials
- ✓ Configuration files are user-specific
- ✓ Environment variables are documented
## Support and Updates
When distributing, provide:
1. **Contact information** for support
2. **Update instructions** for new versions
3. **Changelog** for version history
4. **Known issues** and workarounds
5. **FAQ** for common problems
## License
This project is MIT licensed. When distributing:
- Keep the LICENSE file
- Maintain copyright notices
- Allow others to modify and redistribute
- No warranty is provided
## Getting Help
For distribution questions:
- Check INSTALL.md for installation issues
- Review README.md for usage documentation
- Test with `npm run test-connection`
- Verify setup with `npm run setup`