Gathering detailed insights and metrics for mcp-rollback-server
Gathering detailed insights and metrics for mcp-rollback-server
Gathering detailed insights and metrics for mcp-rollback-server
Gathering detailed insights and metrics for mcp-rollback-server
npm install mcp-rollback-server
Typescript
Module System
Min. Node Version
Node Version
NPM Version
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
A coordinated rollback system for MCP servers that provides team safety controls and cross-platform rollback capabilities.
1git clone <your-repo> 2cd rollback-server 3npm install
Create Supabase Project
Run Database Schema
supabase-schema.sql
Environment Variables
1cp .env.example .env
Add your Supabase credentials:
1SUPABASE_URL=your_supabase_url 2SUPABASE_ANON_KEY=your_supabase_anon_key
1# Start development server 2npm run dev 3 4# Build for production 5npm run build 6npm start
1# Install Vercel CLI 2npm i -g vercel 3 4# Deploy 5vercel --prod
Connect to your existing MCP servers:
1{ 2 "mcpServers": { 3 "rollback-server": { 4 "command": "node", 5 "args": ["dist/index.js"], 6 "env": { 7 "SUPABASE_URL": "your_supabase_url", 8 "SUPABASE_ANON_KEY": "your_supabase_anon_key" 9 } 10 } 11 } 12}
Add your platform API keys to environment variables:
1# Jira 2JIRA_URL=https://your-domain.atlassian.net 3JIRA_USERNAME=your_email 4JIRA_API_TOKEN=your_api_token 5 6# GitHub 7GITHUB_TOKEN=your_github_token 8 9# Slack 10SLACK_BOT_TOKEN=your_slack_bot_token 11 12# Confluence 13CONFLUENCE_URL=https://your-domain.atlassian.net 14CONFLUENCE_USERNAME=your_email 15CONFLUENCE_API_TOKEN=your_api_token 16 17# Figma 18FIGMA_TOKEN=your_figma_token
1// When a change is made, register it for potential rollback 2await rollbackServer.register_rollback({ 3 taskId: "task_123", 4 platform: "jira", 5 operation: "update", 6 agentId: "agent_456", 7 beforeState: { 8 id: "state_789", 9 timestamp: "2024-01-01T00:00:00Z", 10 data: { 11 issueKey: "PROJ-123", 12 fields: { summary: "Old Summary" } 13 } 14 } 15});
1// Execute rollback with approval 2await rollbackServer.execute_rollback({ 3 rollbackId: "rollback_123", 4 approverId: "user_456", 5 force: false 6});
1// Approve or reject a rollback 2await rollbackServer.approve_rollback({ 3 rollbackId: "rollback_123", 4 approverId: "user_456", 5 approved: true, 6 comment: "Looks good to rollback" 7});
1// In your orchestrator, add rollback registration 2import { RollbackMCPServer } from './rollback-server'; 3 4const rollbackServer = new RollbackMCPServer(); 5 6// After each task execution 7await rollbackServer.register_rollback({ 8 taskId: task.id, 9 platform: task.platform, 10 operation: task.operation, 11 agentId: task.agentId, 12 beforeState: task.beforeState 13});
1{ 2 "mcpServers": { 3 "jira": { 4 "command": "mcp-jira-server", 5 "args": ["--config", "jira-config.json"] 6 }, 7 "rollback": { 8 "command": "node", 9 "args": ["dist/index.js"] 10 } 11 } 12}
Access your rollback dashboard at:
https://your-vercel-app.vercel.app
GET /api/rollbacks
- List rollback tasksPOST /api/rollbacks
- Register new rollbackPUT /api/rollbacks/:id/approve
- Approve rollbackPOST /api/rollbacks/:id/execute
- Execute rollback1// Force rollback without approval 2await rollbackServer.execute_rollback({ 3 rollbackId: "rollback_123", 4 approverId: "emergency_user", 5 force: true 6});
1// Rollback all recent changes by an agent 2const tasks = await rollbackServer.list_rollbacks({ 3 agentId: "problematic_agent", 4 status: "completed" 5}); 6 7for (const task of tasks) { 8 await rollbackServer.execute_rollback({ 9 rollbackId: task.id, 10 approverId: "admin", 11 force: true 12 }); 13}
Perfect for small teams (2-5 people)!
Connection Failed
Rollback Failed
Approval Required
1# Enable debug logging 2DEBUG=rollback:* npm run dev
MIT License - see LICENSE file for details
Built with ❤️ for team safety and coordinated rollback operations
No vulnerabilities found.
No security vulnerabilities found.