33186d276a
- Update release workflow with MCP_PUBLISH_TOKEN for automated publishing - Remove OIDC requirement (using classic token) - Add MCP client registration commands for Windsurf, Claude, VS Code/Cursor - Add verification steps for post-release checking
3.9 KiB
3.9 KiB
description, tags
| description | tags | |||
|---|---|---|---|---|
| Release workflow - bump version, build, and publish MCP server |
|
MT5-Quant Release Workflow
Steps to release a new version of the MCP server.
1. Pre-Release Checklist
- All features implemented and tested
- Documentation updated (README.md, MCP_TOOLS.md)
- Tool count verified:
grep -r "pub fn tool_" src/tools/definitions/ | wc -l - Version bumped in Cargo.toml
- Build passes:
cargo build --release
2. Update Documentation
// turbo
grep -r "pub fn tool_" src/tools/definitions/ | wc -l
Update these files with correct tool counts:
README.md- header and "MCP Tools (N)" sectiondocs/MCP_TOOLS.md- "documents X of Y total tools" line
3. Bump Version
Edit Cargo.toml and update the version:
version = "X.Y.Z"
4. Build Release
// turbo
bash scripts/build-release.sh
This creates: dist/mcp-mt5-quant-{platform}.tar.gz
Calculate SHA256 for server.json:
shasum -a 256 dist/mcp-mt5-quant-macos-arm64.tar.gz
5. Update MCP Server Configuration
Update both server.json files with:
- New version
- New SHA256 hash from step 4
- Updated download URL
- Tool count in description
Files to update:
server.jsonmcp-package/server.json
Then copy the release package:
cp dist/mcp-mt5-quant-macos-arm64.tar.gz mcp-package/
6. Create Git Tag & Commit
git add .
git commit -m "Release vX.Y.Z - brief description"
git tag vX.Y.Z
git push origin vX.Y.Z
7. Create GitHub Release (Manual)
- Go to GitHub → Releases → Draft new release
- Choose tag:
vX.Y.Z - Release title:
vX.Y.Z - Attach binary:
dist/mcp-mt5-quant-macos-arm64.tar.gz - Publish release
8. Install Binary to System Path
Install the binary to a single location for all MCP clients:
# Create local bin if needed
mkdir -p ~/.local/bin
# Install binary
cp target/release/mt5-quant ~/.local/bin/
# Or system-wide (requires sudo)
# sudo cp target/release/mt5-quant /usr/local/bin/
Installation Path: ~/.local/bin/mt5-quant (single location for all clients)
9. MCP Registration
Use the installed binary path (not project directory):
Claude Code
claude mcp add mt5-quant -- ~/.local/bin/mt5-quant
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"mt5-quant": {
"command": "~/.local/bin/mt5-quant"
}
}
}
VS Code / Cursor
Edit ~/.cursor/mcp.json or .vscode/mcp.json:
{
"mcpServers": {
"mt5-quant": {
"command": "~/.local/bin/mt5-quant"
}
}
}
10. MCP Client Registration
After installing the binary, register with your MCP clients:
Windsurf
// turbo
# Add to Windsurf MCP config
cat >> ~/.codeium/windsurf/mcp_config.json << 'EOF'
{
"mcpServers": {
"io.github.masdevid/mt5-quant": {
"command": "~/.local/bin/mt5-quant",
"disabled": false,
"registry": "io.github.masdevid/mt5-quant"
}
}
}
EOF
Claude Code
// turbo
# Register with Claude Code
claude mcp add io.github.masdevid/mt5-quant -- ~/.local/bin/mt5-quant
# Or with custom name
claude mcp add mt5-quant -- ~/.local/bin/mt5-quant
VS Code / Cursor
// turbo
# Add to Cursor MCP config
mkdir -p ~/.cursor
cat > ~/.cursor/mcp.json << 'EOF'
{
"mcpServers": {
"mt5-quant": {
"command": "~/.local/bin/mt5-quant",
"env": {
"MT5_MCP_HOME": "~/.config/mt5-quant"
}
}
}
}
EOF
11. Post-Release Verification
// turbo
# Test the binary
./target/release/mt5-quant --help
# Verify tool count
./target/release/mt5-quant 2>&1 | head -20
# Check MCP registration
claude mcp list
Quick Release Commands
# Full release cycle
vim Cargo.toml # bump version
bash scripts/build-release.sh
git add . && git commit -m "Release vX.Y.Z"
git tag vX.Y.Z && git push origin vX.Y.Z