Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ OpenWork

Universal MCP Workspace & Control Plane for AI IDEs
Sync Model Context Protocol (MCP) servers across Cursor, Windsurf, Claude Desktop, and Continue with zero schema drift.

npm version License: MIT Node.js Zero Dependencies CI


💥 The Problem

Every AI IDE manages MCP server configurations in its own fragmented location:

  • Claude Desktop: %APPDATA%\Claude\claude_desktop_config.json (or macOS ~/Library/...)
  • Cursor: ~/.cursor/mcp.json (Global) or .cursor/mcp.json (Workspace)
  • Windsurf: ~/.codeium/windsurf/mcp_config.json or .windsurf/mcp.json

Whenever you update an API key, add a database server, or switch machines, you have to manually copy and paste JSON across multiple different files. One typo causes silent crashes and broken agent tools.


🚀 The Solution: openwork

OpenWork provides a single master configuration file (openwork.json) and a zero-dependency CLI that syncs your tool definitions everywhere in under 100ms.

# 1. Initialize your master MCP configuration
npx @m4stanuj/openwork init

# 2. Detect your installed AI IDEs
npx @m4stanuj/openwork detect

# 3. Preview changes before applying
npx @m4stanuj/openwork diff --verbose

# 4. Deploy and sync across all clients simultaneously
npx @m4stanuj/openwork sync

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│                    openwork.json (Master)                    │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │  filesystem   │  │    github     │  │   database    │     │
│  │  MCP Server   │  │  MCP Server   │  │  MCP Server   │    │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
├─────────────────────────────────────────────────────────────┤
│                    .env Resolution                           │
│         ${GITHUB_TOKEN} → actual_token_value                │
├───────────┬───────────┬───────────┬─────────────────────────┤
│           │           │           │                         │
│     ▼           ▼           ▼           ▼                   │
│  Claude      Cursor      Cursor     Windsurf                │
│  Desktop    (Global)   (Workspace)  (Global)                │
│  config.json  mcp.json   mcp.json  mcp_config.json          │
└─────────────────────────────────────────────────────────────┘

✨ Features

Feature Description
🏎️ Zero Dependencies Built with pure native Node.js ESM. No node_modules bloat.
🔍 Smart Auto-Detection Discovers Claude Desktop, Cursor, and Windsurf on Windows, macOS, and Linux.
🔐 Secret Safe .env interpolation — use ${DATABASE_URL} in config; keys never committed.
🛡️ Atomic Backups Every sync creates .bak copies of previous configs before writing.
🧪 Dry-Run Mode openwork sync --dry-run simulates actions without touching disk.
🔬 Diff Command openwork diff shows missing/extra servers per IDE before syncing.
📝 Verbose Logging --verbose flag for debugging sync and config resolution issues.

📋 Example openwork.json

{
  "name": "my-agent-stack",
  "targets": [
    "claude-desktop",
    "cursor-workspace",
    "windsurf-workspace"
  ],
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "./data"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

🛠️ CLI Reference

Command Description
openwork init Generates a starter openwork.json with recommended tools
openwork detect Scans OS and reports installed AI IDE configuration paths
openwork sync Syncs openwork.json to all active IDE config targets
openwork sync --dry-run Previews changes without writing to disk
openwork sync --target <id> Target a specific client (e.g. claude-desktop)
openwork diff Compare master config vs each IDE's current state
openwork diff --verbose Show detailed missing/extra server breakdown
openwork status Inspects current drift and server count across all targets

🤝 Contributing

See CONTRIBUTING.md for development setup and guidelines.


👤 Author & License

Crafted with ❤️ by Anuj (@m4stanuj)
Distributed under the MIT License.

About

Universal MCP workspace/control-plane for AI IDEs: portable configs, skills, agents, hot-reload, and multi-tool automation.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages